Boto3 ist das Amazon Web Services (AWS) SDK für Python. Es ist die Python-Bibliothek, die es Benutzern oder Entwicklern ermöglicht, AWS-Services und -Ressourcen zu erstellen, zu konfigurieren und zu verwalten. Boto3 stellt eine API für AWS-Services bereit, mit der AWS-Services und -Ressourcen wie EC2, RDS, S3 usw. verwaltet werden können.
Um mehr über Boto3 zu erfahren, können Sie die offizielle Website hier besuchen.
Bevor wir fortfahren, gehe ich davon aus, dass Sie mit VPC vertraut sind. Falls nicht, können Sie hier klicken, um zu erfahren, wie Sie eine VPC über die AWS-Konsole erstellen.
In diesem Artikel werden wir sehen, wie man die Boto3-Bibliothek installiert und verwendet, um eine einfache VPC zusammen mit ihren abhängigen Komponenten in AWS zu erstellen. Wir erstellen ein öffentliches Subnetz in der VPC.
Voraussetzungen
- AWS-Konto (erstellen, falls Sie noch keins haben)
- Grundlegendes Verständnis von VPC
- Grundlegendes Verständnis von Python
- Python auf dem System verfügbar
Was wir tun werden
- Boto3 installieren
- Kennen Sie die erforderliche Methode
- Erstellen Sie eine VPC mit Python Boto3
Installieren Sie Boto3
Python ist standardmäßig in Ubuntu 18.04 Server enthalten, sodass Sie es nicht installieren müssen.
Um die Python-Version auf Ihrem System zu überprüfen, verwenden Sie den folgenden Befehl.
welche python
/usr/bin/python --version
ODER
python --version
Wenn Sie Pip nicht haben und Ubuntu 18.04 verwenden, führen Sie den folgenden Befehl aus, um zuerst das lokale Repo zu aktualisieren.
sudo apt update
Um pip zu installieren, verwenden Sie den folgenden Befehl
sudo apt install python-pip
Um die installierte Version von Pip zu überprüfen, führen Sie den folgenden Befehl aus.
pip --version
Sobald Sie Python und Pip haben, können Sie Boto3 installieren.
Die Installation von Boto3 ist sehr einfach und direkt. Verwenden Sie den folgenden Befehl, um Boto3 zu installieren.
pip installieren boto3
Um zu überprüfen, ob Boto3 installiert ist und um seine Version zu überprüfen, führen Sie den folgenden Befehl aus.
Pip Show boto3
Kennen Sie die erforderlichen Methoden
Um eine VPC und ihre abhängigen Komponenten zu erstellen, verwenden wir die folgenden Methoden.
- create_vpc
- create_route_table
- create_internet_gateway
- create_subnet
- associate_with_subnet
Sehen wir uns nun die Methoden mit ihrer Liste akzeptabler Parameter an. Wir werden nicht alle Parameter verwenden, aber Sie können es versuchen, wenn Sie möchten.
Syntax der create_vpc-Methode anfordern
response = client.create_vpc( CidrBlock='string', AmazonProvidedIpv6CidrBlock=True|False, Ipv6Pool='string', Ipv6CidrBlock='string', DryRun=True|False, InstanceTenancy='default'|'dedicated'|'host', Ipv6CidrBlockNetworkBorderGroup='string' )
- CidrBlock: Der IPv4-Netzwerkbereich für die VPC in CIDR-Notation. Dies ist ein Pflichtfeld und ohne dieses Feld kann keine VPC erstellt werden.
Syntax der Methode create_route_table anfordern
route_table = ec2.create_route_table( DryRun=True|False, VpcId='string' )
- VpcId: Die ID der VPC. Dies ist ein Pflichtfeld und wird verwendet, um eine Routing-Tabelle in der angegebenen VPC zu erstellen
Anforderungssyntax der Methode create_internet_gateway
response = client.create_internet_gateway( DryRun=True|False )
Jede VPC hat ein einziges Internet-Gateway. Diese wird der VPC beigefügt
Syntax der Methode create_subnet anfordern
subnet = ec2.create_subnet( AvailabilityZone='string', AvailabilityZoneId='string', CidrBlock='string', Ipv6CidrBlock='string', OutpostArn='string', VpcId='string', DryRun=True|False )
- CidrBlock :Der IPv4-Netzwerkbereich für das Subnetz in CIDR-Notation. Dies wird verwendet, um die VPC zu unterteilen.
- VpcId: Die ID der VPC.
Anforderungssyntax der Methode associate_with_subnet
route_table_association = route_table.associate_with_subnet( DryRun=True|False, SubnetId='string', GatewayId='string' )
- Subnetz-ID: Die ID des Subnetzes.
Oder - Gateway-ID: Die ID des Internet-Gateways oder virtuellen privaten Gateways.
Erstellen Sie eine VPC mit Python Boto3
Um eine VPC zu erstellen, erstellen Sie „vpc.py“ mit dem folgenden Codeblock.
Stellen Sie sicher, dass Sie den Wert von „aws_access_key_id_value“ und „aws_secret_access_key_value“ durch Ihre eigene access_key_id bzw. access_key_value ändern. Ändern Sie auch den Wert von "region_name".
Wenn Sie möchten, können Sie die Werte von CidrBlock für "create_vpc" und "create_subnet" ändern oder unverändert lassen.
vim vpc.py
import boto3 ec2 = boto3.resource('ec2', aws_access_key_id='ACCESS-KEY-OF-THE-AWS-ACCOUNT', aws_secret_access_key='SECRETE-KEY-OF-THE-AWS-ACCOUNT', region_name='AWS-Region') vpc = ec2.create_vpc(CidrBlock='192.168.0.0/16') # Assign a name to the VPC vpc.create_tags(Tags=[{"Key": "Name", "Value": "my_vpc"}]) vpc.wait_until_available() print(vpc.id) # Create and Attach the Internet Gateway ig = ec2.create_internet_gateway() vpc.attach_internet_gateway(InternetGatewayId=ig.id) print(ig.id) # Create a route table and a public route to Internet Gateway route_table = vpc.create_route_table() route = route_table.create_route( DestinationCidrBlock='0.0.0.0/0', GatewayId=ig.id ) print(route_table.id) # Create a Subnet subnet = ec2.create_subnet(CidrBlock='192.168.1.0/24', VpcId=vpc.id) print(subnet.id) # associate the route table with the subnet route_table.associate_with_subnet(SubnetId=subnet.id)
Um nun eine VPC mit der oben angegebenen Konfiguration zu erstellen, führen Sie das Python-Skript mit dem folgenden Befehl aus.
python vpc.py
Sie können über die AWS-Konsole überprüfen, ob die VPC erstellt wurde.
Im obigen Screenshot können Sie sehen, dass die VPC mit dem angegebenen CIDR und Namen erstellt wurde. Sie können nach Komponenten wie Subnet, Internet Gateway, Routing Table suchen.
Schlussfolgerung
In diesem Artikel haben wir gesehen, wie man eine VPC mit öffentlichem Subnetz erstellt. Wir haben eine Routing-Tabelle, ein Internet-Gateway und ein Subnetz in der VPC erstellt. Wir haben gesehen, wie ein Subnetz mit der Routing-Tabelle verknüpft werden kann, die eine öffentliche Route zu einem Internet-Gateway hat. Sie können diesen Code jetzt anpassen und eine VPC mit mehreren Subnetzen erstellen, sie der Routing-Tabelle zuordnen und öffentliche oder private Subnetze gemäß Ihren Anforderungen haben. Um ein privates Subnetz zu erstellen, müssten Sie ein Nat-Gateway erstellen und es dem Subnetz zuordnen. Diese Zuordnung macht das Subnetz dann privat mit einer ausgehenden Verbindung zum Internet.