Tutorialspoint

April Learning Carnival is here, Use code FEST10 for an extra 10% off

Managing EC2 and VPC: AWS with Python and Boto3 Series

person icon Niyazi Erdogan

4.3

Managing EC2 and VPC: AWS with Python and Boto3 Series

Learn how to implement EC2 and VPC resources on AWS using Python API - Boto3! Implement your infrastructure with code!

updated on icon Updated on Apr, 2024

language icon Language - English

person icon Niyazi Erdogan

category icon Development,Development Tools,AWS,Python

Lectures -62

Resources -1

Duration -4.5 hours

4.3

price-loader

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.

Course Description

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 Iteach 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!

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

Goals

What will you learn in this course:

  • 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!

Prerequisites

What are the prerequisites for this course?

  • 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!
Managing EC2 and VPC: AWS with Python and Boto3 Series

Curriculum

Check out the detailed breakdown of what’s inside the course

Introduction
5 Lectures
  • play icon Source Code
  • play icon Introduction 01:19 01:19
  • play icon About This Course 02:59 02:59
  • play icon What We Will Build In This Course? 05:11 05:11
  • play icon What Do You Need For This Course? 04:53 04:53
Preparing The Environment for Development
5 Lectures
Tutorialspoint
Windows Environment Setup
5 Lectures
Tutorialspoint
MacOS Environment Setup
5 Lectures
Tutorialspoint
Virtual Private Cloud (VPC) with Boto3 - Part 1
10 Lectures
Tutorialspoint
Virtual Private Cloud (VPC) with Boto3 - Part 2
8 Lectures
Tutorialspoint
Elastic Compute Cloud (EC2) with Boto3 - Part 1
13 Lectures
Tutorialspoint
Elastic Compute Cloud (EC2) with Boto3 - Part 2
7 Lectures
Tutorialspoint
Wrapping Up
3 Lectures
Tutorialspoint

Instructor Details

Niyazi Erdogan

Niyazi Erdogan

Senior Software Engineer

Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515