GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So erstellen Sie eine VPC mit Python Boto3 unter Ubuntu

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

  1. AWS-Konto (erstellen, falls Sie noch keins haben)
  2. Grundlegendes Verständnis von VPC
  3. Grundlegendes Verständnis von Python
  4. Python auf dem System verfügbar

 Was wir tun werden

  1. Boto3 installieren
  2. Kennen Sie die erforderliche Methode
  3. 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.

  1. create_vpc
  2. create_route_table
  3. create_internet_gateway
  4. create_subnet
  5. 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'
)
  1. 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'
)
  1. 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
)
  1. CidrBlock :Der IPv4-Netzwerkbereich für das Subnetz in CIDR-Notation. Dies wird verwendet, um die VPC zu unterteilen.
  2. 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'
)
  1. Subnetz-ID:  Die ID des Subnetzes.
    Oder
  2. 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.


Ubuntu
  1. So installieren Sie Python 3.9 unter Ubuntu 18.04

  2. Wie installiere ich Python 3.2 in Ubuntu 13.04?

  3. Wie aktualisiere ich auf Python 2.7?

  4. So erstellen Sie eine virtuelle Python-Umgebung unter Ubuntu 20.04

  5. So erstellen Sie RAID-Arrays mit MDADM unter Ubuntu

So erstellen Sie einen S3-Bucket mit Python Boto3 auf AWS

So erstellen Sie eine virtuelle Python 3-Umgebung unter Ubuntu 20.04

So installieren Sie Python 3.11 auf Ubuntu 20.04

So installieren Sie Python 3.6 unter Ubuntu 16.04, Ubuntu 16.10, 17.04

So erstellen Sie einen bootfähigen USB-Stick mit Ventoy unter Ubuntu 21

Wie erstelle ich einen Link zu einem Ordner in Ubuntu 18.04 mit Gui?