GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment créer un VPC en utilisant Python Boto3 sur Ubuntu

Boto3 est le SDK d'Amazon Web Services (AWS) pour Python. C'est la bibliothèque Python qui permet aux utilisateurs ou aux développeurs de créer, configurer et gérer les services et ressources AWS. Boto3 fournit une API pour les services AWS qui peut être utilisée pour gérer les services et ressources AWS tels que EC2, RDS, S3, etc.

Pour en savoir plus sur Boto3, vous pouvez visiter son site officiel ici.

Avant de continuer, je suppose que vous connaissez VPC. Si ce n'est pas le cas, vous pouvez cliquer ici pour savoir comment créer un VPC à partir de la console AWS.

Dans cet article, nous verrons comment installer la bibliothèque Boto3 et l'utiliser pour créer un VPC simple avec ses composants dépendants dans AWS. Nous allons créer un sous-réseau public dans le VPC.

Prérequis

  1. Compte AWS (créez-le si vous n'en avez pas)
  2. Compréhension de base du VPC
  3. Compréhension de base de Python
  4. Python disponible sur le système

 Ce que nous allons faire

  1. Installer Boto3
  2. Connaître la méthode requise
  3. Créer un VPC à l'aide de Python Boto3

Installer Boto3

Python est fourni par défaut dans Ubuntu 18.04 Server, vous n'avez donc pas besoin de l'installer.

Pour vérifier la version de Python sur votre système, utilisez la commande suivante.

quel python
/usr/bin/python --version

OU

python --version

Si vous n'avez pas de pip et que vous utilisez Ubuntu 18.04, exécutez la commande suivante pour d'abord mettre à jour le dépôt local.

mise à jour sudo apt

 Pour installer pip, utilisez la commande suivante

sudo apt install python-pip

Pour vérifier la version de Pip installée, exécutez la commande suivante.

pip --version

Une fois que vous avez python et pip, vous pouvez installer Boto3.

L'installation de Boto3 est très simple et directe. Pour installer Boto3, utilisez la commande suivante.

pip installer boto3

Pour vérifier si le Boto3 est installé et vérifier sa version, exécutez la commande suivante.

pip montrer boto3


Connaître les méthodes requises

Pour créer un VPC et ses composants dépendants, nous utiliserons les méthodes suivantes.

  1. create_vpc
  2. create_route_table
  3. create_internet_gateway
  4. create_subnet
  5. associate_with_subnet

Voyons maintenant les méthodes avec leur liste de paramètres acceptables. Nous n'utiliserons pas tous les paramètres, mais vous pouvez essayer si vous le souhaitez.

Demander la syntaxe de  la méthode 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 : La plage de réseau IPv4 pour le VPC, en notation CIDR. Il s'agit d'un champ obligatoire et un VPC ne peut pas être créé sans celui-ci.

Demander la syntaxe de la méthode create_route_table

route_table = ec2.create_route_table(
    DryRun=True|False,
    VpcId='string'
)
  1. VpcId :  ID du VPC. Il s'agit d'un champ obligatoire et utilisé pour créer une table de routage dans le VPC spécifié

Demander la syntaxe de la méthode create_internet_gateway

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

Chaque VPC a une seule passerelle Internet. Celui-ci sera rattaché au VPC

Demander la syntaxe de la méthode create_subnet

subnet = ec2.create_subnet(
    AvailabilityZone='string',
    AvailabilityZoneId='string',
    CidrBlock='string',
    Ipv6CidrBlock='string',
    OutpostArn='string',
    VpcId='string',
    DryRun=True|False
)
  1. CidrBlock :la plage de réseau IPv4 pour le sous-réseau, en notation CIDR. Ceci est utilisé pour subdiviser le VPC.
  2. VpcId : ID du VPC.

Demander la syntaxe de la méthode associate_with_subnet

route_table_association = route_table.associate_with_subnet(
    DryRun=True|False,
    SubnetId='string',
    GatewayId='string'
)
  1. ID de sous-réseau :  L'ID du sous-réseau.
    Ou
  2. Identifiant de la passerelle :  ID de la passerelle Internet ou de la passerelle réseau privé virtuel.

Créer un VPC à l'aide de Python Boto3

Pour créer un VPC, créez "vpc.py" avec le bloc de code suivant.

Assurez-vous de modifier la valeur de "aws_access_key_id_value" et "aws_secret_access_key_value" avec vos propres access_key_id et access_key_value respectivement. Modifiez également la valeur de "nom_région".

Si vous le souhaitez, vous pouvez modifier les valeurs de CidrBlock pour "create_vpc" et "create_subnet" ou vous pouvez les conserver telles quelles.

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)

Maintenant, pour créer un VPC avec la configuration spécifiée ci-dessus, exécutez le script python à l'aide de la commande suivante.

python vpc.py

Vous pouvez vérifier si le VPC a été créé à partir de la console AWS.

Dans la capture d'écran ci-dessus, vous pouvez voir que le VPC avec le CIDR et le nom spécifiés a été créé. Vous pouvez rechercher des composants tels que le sous-réseau, la passerelle Internet, la table de routage.

Conclusion

Dans cet article, nous avons vu comment créer un VPC avec Public Subnet. Nous avons créé une table de routage, une passerelle Internet, un sous-réseau dans le VPC. Nous avons vu comment un sous-réseau peut être associé à la table de routage qui a une route publique vers une passerelle Internet. Vous pouvez maintenant personnaliser ce code et créer un VPC avec plusieurs sous-réseaux, les associer à la table de routage et avoir des sous-réseaux publics ou privés selon vos besoins. Pour créer un sous-réseau privé, vous devez créer une passerelle Nat et l'associer au sous-réseau. Cette association rendra alors le sous-réseau privé avec une connexion sortante à Internet.


Ubuntu
  1. Comment installer Python 3.9 sur Ubuntu 18.04

  2. Comment installer Python 3.2 dans Ubuntu 13.04 ?

  3. Comment mettre à jour vers Python 2.7 ?

  4. Comment créer un environnement virtuel Python sur Ubuntu 20.04

  5. Comment créer des matrices RAID à l'aide de MDADM sur Ubuntu

Comment créer un compartiment S3 à l'aide de Python Boto3 sur AWS

Comment créer un environnement virtuel Python 3 sur Ubuntu 20.04

Comment installer Python 3.11 sur Ubuntu 20.04

Comment installer Python 3.6 sur Ubuntu 16.04, Ubuntu 16.10, 17.04

Comment créer une clé USB amorçable à l'aide de Ventoy sur Ubuntu 21

Comment créer un lien vers un dossier dans Ubuntu 18.04 à l'aide de Gui ?