Website-Suche

Wie man ein VPC mit Python Boto3 auf Ubuntu erstellt


Wie man ein VPC mit Python Boto3 auf Ubuntu erstellt

Auf dieser Seite

  1. Voraussetzungen
  2. Was wir tun werden
  3. Boto3 installieren
  4. Kennt die erforderlichen Methoden

Boto3 ist das Amazon Web Services (AWS) SDK für Python. Es ist die Python-Bibliothek, die es Benutzern oder Entwicklern ermöglicht, AWS-Dienste und -Ressourcen zu erstellen, zu konfigurieren und zu verwalten. Boto3 bietet eine API für AWS-Dienste, die zur Verwaltung von AWS-Diensten und -Ressourcen wie EC2, RDS, S3 usw. verwendet werden kann.

Um mehr über Boto3 zu erfahren, können Sie hier seine offizielle Website besuchen.

Bevor wir fortfahren, gehe ich davon aus, dass Sie mit VPC vertraut sind. Wenn nicht, können Sie hier klicken, um zu lernen, wie man eine VPC über die AWS-Konsole erstellt.

In diesem Artikel werden wir sehen, wie man die Boto3-Bibliothek installiert und sie verwendet, um eine einfache VPC zusammen mit ihren abhängigen Komponenten in AWS zu erstellen. Wir werden ein öffentliches Subnetz in der VPC erstellen.

Voraussetzungen

  1. Grundlegendes Verständnis von VPC
  2. Grundlegendes Verständnis von Python
  3. Python ist auf dem System verfügbar

Was wir tun werden

    Boto3 installieren

    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.

    welches Python
    /usr/bin/python --version

    ODER

    python --version

    Wenn Sie pip nicht installiert haben und Ubuntu 18.04 verwenden, führen Sie den folgenden Befehl aus, um zunächst das lokale Repository zu aktualisieren.

    sudo apt aktualisieren

    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 unkompliziert. Um Boto3 zu installieren, verwenden Sie den folgenden Befehl.

    pip installieren boto3

    Um zu überprüfen, ob Boto3 installiert ist und um die Version zu überprüfen, führen Sie den folgenden Befehl aus.

    pip zeigt boto3 an


    Kennt die erforderlichen Methoden

    Um eine VPC und ihre abhängigen Komponenten zu erstellen, verwenden wir die folgenden Methoden.

    1. Routen Tabelle erstellen
    2. Internet-Gateway erstellen
    3. Subnetz erstellen
    4. mit Subnetz verbinden

    Jetzt wollen wir die Methoden mit ihrer Liste von akzeptablen Parametern ansehen. Wir werden nicht alle Parameter verwenden, aber Sie können es versuchen, wenn Sie möchten.

    Anforderungssyntax der create_vpc-Methode

    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 eine VPC kann ohne dieses Feld nicht erstellt werden.

    Anforderungssyntax der Methode create_route_table

    route_table = ec2.create_route_table(
        DryRun=True|False,
        VpcId='string'
    )
    1. VpcId: Die ID des VPC. Dies ist ein Pflichtfeld und wird verwendet, um eine Route-Tabelle im angegebenen VPC zu erstellen.

    Anfragesyntax der Methode create_internet_gateway

    response = client.create_internet_gateway(
        DryRun=True|False
    )
    

    Jede VPC hat ein einzelnes Internet Gateway. Dies wird mit der VPC verbunden.

    Anforderungssyntax der create_subnet-Methode

    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 des VPC.

    Anfragesyntax 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. GatewayId: Die ID des Internet-Gateways oder des virtuellen privaten Gateways.

    Erstellen Sie ein VPC mit Python Boto3

    Um ein 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 eigenen access_key_id und access_key_value ersetzen. Ä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 Sie können sie so belassen, wie sie sind.

    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 jetzt eine VPC mit der oben angegebenen Konfiguration zu erstellen, führen Sie das Python-Skript mit folgendem Befehl aus.

    python vpc.py

    Sie können überprüfen, ob das VPC aus der AWS-Konsole erstellt wurde.

    Im obigen Screenshot können Sie sehen, dass die VPC mit der angegebenen CIDR und dem Namen erstellt wurde. Sie können nach Komponenten wie Subnetz, Internet-Gateway und Routentabelle suchen.

    Schlussfolgerung

    In diesem Artikel haben wir gesehen, wie man ein VPC mit einem öffentlichen Subnetz erstellt. Wir haben eine Routingtabelle, ein Internet-Gateway und ein Subnetz im VPC erstellt. Wir haben gesehen, wie ein Subnetz mit der Routingtabelle verbunden werden kann, die eine öffentliche Route zu einem Internet-Gateway hat. Sie können diesen Code jetzt anpassen und ein VPC mit mehreren Subnetzen erstellen, sie mit der Routingtabelle verbinden und öffentliche oder private Subnetze je nach Ihren Anforderungen haben. Um ein privates Subnetz zu erstellen, müssen Sie ein NAT-Gateway erstellen und es mit dem Subnetz verbinden. Diese Verbindung wird das Subnetz dann privat machen und eine ausgehende Verbindung zum Internet ermöglichen.