Managing EC2 and VPC: AWS with Python and Boto3 Series

Niyazi Erdogan

Created by

Niyazi Erdogan

0.00 Star (0)

4 Hours

60 Lesson




Do you want to learn how to implement VPC and EC2 resources with Python code on AWS? Do you want to launch EC2 Instances with Python code on AWS? Are you preparing for AWS Solutions Architect Associate Exam and want to put your theory and skills into practice with VPC and EC2? This is the course for you!

In this course, we’ll start by taking a look at the tools and the environment that we need to work with AWS resources. We’ll be using Python 3 and as per the IDE I recommend you to use PyCharm from Jetbrains. It has a free community edition even!After I teach you how you can set up your environment on both MacOS and Windows, we’ll create our credentials for AWS as being the AWS Access Key and AWS Secret Access Key for programmatic access to AWS resources. You’ll learn how you can set your AWS credentials globally on your computers using AWS CLI. Before jumping into the implementation, for one last tip, I’ll show you how you can have auto-complete capabilities on your PyCharm IDE with PyBoto3!

Once we’re ready with our environment setup, we’ll start implementing our solution on AWS! And remember we’ll do everything with Python code; not a single thing manually or by hand! We’ll start by creating a VPC. For our own VPC, we’ll provide CIDR IP Block to isolate our resources within that VPC.

Then we will create two subnets; Public and Private. Public Subnet will be where we will put our internet-facing resources like Public EC2 instances and we will definitely launch an EC2 instance in it! To achieve this, we will create an Internet Gateway or IGW and attach it to our VPC. But of course that is not enough. We will create a Route Table for public routes over the internet and also add our Internet Gateway to the Route Table to allow internet access to our Public EC2 Instance. We will also not forget to associate our Public Subnet with this Public Route table so it can be exclusively used by the Public Subnet and its subresources. And finally, we will modify our Public Subnet so it can automatically assign public IP addresses to the resources we will launch within this Public Subnet. That's the way we are going to achieve internet access to and from our Public EC2 Instance and again we will do all of that with our Python code!

Besides, we will create a Private Subnet for our internal resources like a Private EC2 Instance which will only be accessible through the Private or Public Subnet; not open to the world. To achieve this, we will associate our Default Route Table with our Private Subnet and then we will not add our Internet Gateway to this Route Table so it will basically not have any internet access. We will also not enable auto-assign public IP addresses on Private Subnet which is disabled by default. That's basically how we are going to disable internet traffic on our Private EC2 Instance again we will do all this with our Python code!


We will not stop there of course so before we launch our Public EC2 Instance, we will develop a startup bash script to automatically run when we launch our EC2 Instance. In this script, we will first update our packages with yum package manager so we can stay up-to-date with the latest updates and security patches. Then we will install a HTTP server on it and make sure it's working by a startup check command. After we prepare our HTTP server, we will develop a simple HTML page as as greeting and we will write this page to disk to be served when we try to access our Public EC2 Instance. And remember, we will again do all of this with our Python code!

After finishing up launching our EC2 Instances, we'll nove on to learn how to describe EC2 Instances on AWS in  detailed way; from their IP adresses to the subnet which they belong to. Then we'll learn how to learn how to manage EC2 Instances in various ways. We'll Stop, Start and Terminate EC2 Instances and again the best part is we will do all of that with our Python code!

Lots of information, hands-on practice and experience is waiting for you in this course on AWS. So, don't miss any more time and join me in this course to sharpen your skills on AWS using Python and Boto3!


Beginner level of Python

Any Python Interpreter. Default is fine but I recommend PyCharm

An AWS Account - Free Tier Available!

General Knowledge on AWS Model would be nice

Theoretical Knowledge on VPC and EC2 Concepts would be nice but not necessary!

Who This Course is For

Beginners on AWS who wants to put their theory in practice

AWS Cloud Architect Associate Exam Preppers who wants to practice their theories with real projects

Who wants to learn how to implement Infrastructure-as-a-Code or IaaS on AWS

Who wants to learn how to develop infrastructures on AWS using Python

Who wants to learn how to launch Virtual Private Clouds, Public-Private Subnets and more with Python code on AWS

Who wants to learn how to launch EC2 Instances publicly and privately using Python on AWS

Who wants to learn AWS Python API or namely Boto3

What You Will be Learn

You'll be able to implement any sort of infrastructure on AWS with Python using VPCs, Subnets and EC2s!

You'll learn how to code against AWS API using Python and Boto3!

You'll learn how to launch EC2 Instances on AWS using Python and Boto3!

You'll learn how to isolate and control your own infrastructure with Python using Route Tables, Internet Gateways, Security Groups and Rules!

You'll have very good understanding of VPC concepts like Subnets, Route Tables and Internet Gateways by putting all into real-world practice with Python code!

You'll be confident to work with AWS APIs using Python for any kind of AWS Resource on VPC and EC2 Instances!

You'll learn how to read and code against an API documentation!

You'll be able to launch your own infrastructure on AWS without even signing-in to AWS!

Niyazi Erdogan

AWS Certified Solutions Architect, Software Engineer

0.00 Star Rating

6 Courses

Dragon Zap Instructor

Hi, I'm Niyazi Erdoğan. I'm a software engineer and AWS Certified Solutions Architect with over ten years of experience in various fields. I'm living in one of the most beautiful cities in the world, Istanbul. I'm a self-taught programmer and I've been programming since I was in middle-school. My experience ranges from embedded development to server-side and client-side development technologies. I started my career while I was only a student as a Java Developer in healthcare industry as a private contractor. Then I moved in to the largest telecommunication company of Turkey which is Turkcell. After several years and various different positions at Turkcell, I moved in to Portugal and worked for another large telecommunication company for several years with Java technologies. After the telecommunication industry experience and several different experiences, I joined one of the largest companies of its sectors which is Siemens. I currently works at Siemens working with various Java and Cloud technologies Besides my day job, I really enjoy developing software with lots of different technologies.On the other hand, I do love to follow tech conferences and blogs about latest technologies and tools. I also like to read books within or without my field of expertise and love to watch series like Westworld and Game of Thrones. And I make sure that I stay healthy with daily walking, running and workout.


Course Rating






Students Feedback (0)
Sort by:



42% off

2 days and 3 hours at this price

This course includes:
  • dollar

    Full Lifetime Access

  • clock

    30 Days Money Back Guarantee

  • paper-plus

    Free Exercises File

  • airplay

    Watch online or offline

  • clipboard

    Certificate of Completion

shape shape