GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come creare un VPC usando Python Boto3 su Ubuntu

Boto3 è l'SDK Amazon Web Services (AWS) per Python. È la libreria Python che consente a utenti o sviluppatori di creare, configurare e gestire servizi e risorse AWS. Boto3 fornisce un'API per i servizi AWS che può essere utilizzata per gestire i servizi e le risorse AWS come EC2, RDS, S3, ecc.

Per saperne di più su Boto3, puoi visitare il suo sito ufficiale qui.

Prima di continuare, presumo che tu abbia familiarità con VPC. In caso contrario, puoi fare clic qui per scoprire come creare un VPC dalla console AWS.

In questo articolo vedremo come installare la libreria Boto3 e utilizzarla per creare un semplice VPC insieme ai suoi componenti dipendenti in AWS. Creeremo una sottorete pubblica nel VPC.

Prerequisiti

  1. Account AWS (crea se non ne hai uno)
  2. Comprensione di base del VPC
  3. Comprensione di base di Python
  4. Python disponibile sul sistema

 Cosa faremo

  1. Installa Boto3
  2. Conosci il metodo richiesto
  3. Crea un VPC utilizzando Python Boto3

Installa Boto3

Python viene fornito per impostazione predefinita in Ubuntu 18.04 Server, quindi non è necessario installarlo.

Per verificare la versione di Python sul tuo sistema, usa il comando seguente.

quale python
/usr/bin/python --version

O

python --versione

Se non hai pip e stai utilizzando Ubuntu 18.04, esegui il comando seguente per aggiornare prima il repository locale.

sudo apt update

 Per installare pip usa il comando seguente

sudo apt install python-pip

Per verificare la versione di Pip installata, esegui il comando seguente.

pip --versione

Una volta che hai python e pip, puoi installare Boto3.

L'installazione di Boto3 è molto semplice e diretta. Per installare Boto3 usa il seguente comando.

pip installa boto3

Per verificare se il Boto3 è installato e per verificarne la versione, eseguire il comando seguente.

pip mostra boto3


Conosci i metodi richiesti

Per creare un VPC e i suoi componenti dipendenti utilizzeremo i seguenti metodi.

  1. create_vpc
  2. create_route_table
  3. create_internet_gateway
  4. crea_sottorete
  5. associa_con_sottorete

Ora, vediamo i metodi con il loro elenco di parametri accettabili. Non utilizzeremo tutti i parametri, ma puoi provare se lo desideri.

Richiedi sintassi del metodo  create_vpc

response = client.create_vpc(
    CidrBlock='string',
    AmazonProvidedIpv6CidrBlock=True|False,
    Ipv6Pool='string',
    Ipv6CidrBlock='string',
    DryRun=True|False,
    InstanceTenancy='default'|'dedicated'|'host',
    Ipv6CidrBlockNetworkBorderGroup='string'
)
  1. CidrBlock: L'intervallo di rete IPv4 per il VPC, nella notazione CIDR. Questo è un campo obbligatorio e senza questo non è possibile creare un VPC.

Richiedi sintassi del metodo create_route_table

route_table = ec2.create_route_table(
    DryRun=True|False,
    VpcId='string'
)
  1. VpcId:  L'ID del VPC. Questo è un campo obbligatorio e viene utilizzato per creare una tabella di instradamento nel VPC specificato

Richiedi sintassi del metodo create_internet_gateway

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

Ogni VPC ha un unico gateway Internet. Questo sarà allegato al VPC

Richiedi sintassi del metodo create_subnet

subnet = ec2.create_subnet(
    AvailabilityZone='string',
    AvailabilityZoneId='string',
    CidrBlock='string',
    Ipv6CidrBlock='string',
    OutpostArn='string',
    VpcId='string',
    DryRun=True|False
)
  1. CidrBlock :l'intervallo di rete IPv4 per la sottorete, nella notazione CIDR. Viene utilizzato per suddividere il VPC.
  2. VpcId: L'ID del VPC.

Richiedi sintassi del metodo associate_with_subnet

route_table_association = route_table.associate_with_subnet(
    DryRun=True|False,
    SubnetId='string',
    GatewayId='string'
)
  1. SubnetId:  L'ID della sottorete.
    Oppure
  2. ID gateway:  L'ID del gateway Internet o del gateway virtuale privato.

Crea un VPC utilizzando Python Boto3

Per creare un VPC, crea "vpc.py" con il seguente blocco di codice.

Assicurati di modificare il valore di "aws_access_key_id_value" e "aws_secret_access_key_value" rispettivamente con il tuo access_key_id e access_key_value. Modificare anche il valore di "region_name".

Se vuoi puoi cambiare i valori di CidrBlock per "create_vpc" e "create_subnet" oppure puoi mantenerlo così com'è.

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)

Ora, per creare un VPC con la configurazione sopra specificata, esegui lo script python utilizzando il comando seguente.

python vpc.py

Puoi verificare se il VPC è stato creato dalla Console AWS.

Nella schermata sopra, puoi vedere che è stato creato il VPC con il CIDR e il nome specificati. Puoi controllare componenti come Subnet, Internet Gateway, Route Table.

Conclusione

In questo articolo abbiamo visto come creare un VPC con una sottorete pubblica. Abbiamo creato una tabella di instradamento, un gateway Internet, una sottorete nel VPC. Abbiamo visto come una sottorete può essere associata alla tabella di instradamento che ha un percorso pubblico verso un gateway Internet. Ora puoi personalizzare questo codice e creare un VPC con più sottoreti, associarli alla tabella di instradamento e avere sottoreti pubbliche o private secondo le tue esigenze. Per creare una sottorete privata, è necessario creare un gateway Nat e associarlo alla sottorete. Questa associazione renderà quindi la sottorete privata con una connessione in uscita a Internet.


Ubuntu
  1. Come installare Python 3.9 su Ubuntu 18.04

  2. Come installare Python 3.2 in Ubuntu 13.04?

  3. Come aggiornare a Python 2.7?

  4. Come creare un ambiente virtuale Python su Ubuntu 20.04

  5. Come creare array RAID usando MDADM su Ubuntu

Come creare un bucket S3 utilizzando Python Boto3 su AWS

Come creare un ambiente virtuale Python 3 su Ubuntu 20.04

Come installare Python 3.11 su Ubuntu 20.04

Come installare Python 3.6 su Ubuntu 16.04, Ubuntu 16.10, 17.04

Come creare USB avviabile usando Ventoy su Ubuntu 21

Come creare un collegamento a una cartella in Ubuntu 18.04 utilizzando Gui?