Boto3 je sada SDK Amazon Web Services (AWS) pro Python. Je to knihovna Python, která umožňuje uživatelům nebo vývojářům vytvářet, konfigurovat a spravovat služby a prostředky AWS. Boto3 poskytuje API pro služby AWS, které lze použít ke správě služeb a zdrojů AWS, jako jsou EC2, RDS, S3 atd.
Chcete-li se dozvědět více o Boto3, můžete navštívit jeho oficiální stránky zde.
Než budeme pokračovat, předpokládám, že znáte VPC. Pokud ne, můžete kliknout sem a zjistit, jak vytvořit VPC z konzole AWS.
V tomto článku uvidíme, jak nainstalovat knihovnu Boto3 a použít ji k vytvoření jednoduchého VPC spolu s jeho závislými komponentami v AWS. Ve VPC vytvoříme veřejnou podsíť.
Předpoklady
- Účet AWS (vytvořte si jej, pokud jej nemáte)
- Základní pochopení VPC
- Základní pochopení jazyka Python
- Python dostupný v systému
Co uděláme
- Nainstalujte Boto3
- Znáte požadovanou metodu
- Vytvořte VPC pomocí Python Boto3
Instalovat Boto3
Python je standardně dodáván na serveru Ubuntu 18.04, takže jej nemusíte instalovat.
Pro kontrolu verze Pythonu ve vašem systému použijte následující příkaz.
který python
/usr/bin/python --version
NEBO
python --version
Pokud nemáte pip a používáte Ubuntu 18.04, spusťte nejprve následující příkaz a aktualizujte místní repo.
aktualizace sudo apt
K instalaci pip použijte následující příkaz
sudo apt install python-pip
Chcete-li zkontrolovat nainstalovanou verzi Pipu, spusťte následující příkaz.
pip --version
Jakmile budete mít python a pip, můžete nainstalovat Boto3.
Instalace Boto3 je velmi jednoduchá a přímočará. Pro instalaci Boto3 použijte následující příkaz.
pip install boto3
Chcete-li zkontrolovat, zda je nainstalován Boto3 a zkontrolovat jeho verzi, spusťte následující příkaz.
pip show boto3
Znáte požadované metody
K vytvoření VPC a jeho závislých komponent použijeme následující metody.
- create_vpc
- create_route_table
- create_internet_gateway
- vytvořit_podsíť
- přidružit_k_podsíti
Nyní se podívejme na metody s jejich seznamem přijatelných parametrů. Nepoužijeme všechny parametry, ale pokud chcete, můžete to zkusit.
Požadavek na syntaxi metody create_vpc
response = client.create_vpc( CidrBlock='string', AmazonProvidedIpv6CidrBlock=True|False, Ipv6Pool='string', Ipv6CidrBlock='string', DryRun=True|False, InstanceTenancy='default'|'dedicated'|'host', Ipv6CidrBlockNetworkBorderGroup='string' )
- CidrBlock: Rozsah sítě IPv4 pro VPC, v notaci CIDR. Toto je povinné pole a bez něj nelze vytvořit VPC.
Požadavek na syntaxi metody create_route_table
route_table = ec2.create_route_table( DryRun=True|False, VpcId='string' )
- VpcId: ID VPC. Toto je povinné pole a používá se k vytvoření tabulky směrování ve specifikovaném VPC
Požadavek na syntaxi metody create_internet_gateway
response = client.create_internet_gateway( DryRun=True|False )
Každé VPC má jednu internetovou bránu. Toto bude připojeno k VPC
Požadavek na syntaxi metody create_subnet
subnet = ec2.create_subnet( AvailabilityZone='string', AvailabilityZoneId='string', CidrBlock='string', Ipv6CidrBlock='string', OutpostArn='string', VpcId='string', DryRun=True|False )
- CidrBlock :Rozsah sítě IPv4 pro podsíť v notaci CIDR. Toto se používá k rozdělení VPC.
- VpcId: ID VPC.
Požadavek na syntaxi metody associate_with_subnet
route_table_association = route_table.associate_with_subnet( DryRun=True|False, SubnetId='string', GatewayId='string' )
- ID podsítě: ID podsítě.
Nebo - Id brány: ID internetové brány nebo virtuální privátní brány.
Vytvořte VPC pomocí Python Boto3
Chcete-li vytvořit VPC, vytvořte „vpc.py“ s následujícím blokem kódu.
Ujistěte se, že jste změnili hodnotu „aws_access_key_id_value“ a „aws_secret_access_key_value“ na vlastní access_key_id a access_key_value. Změňte také hodnotu "region_name".
Pokud chcete, můžete změnit hodnoty CidrBlock pro "create_vpc" a "create_subnet" nebo je můžete ponechat tak, jak jsou.
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)
Nyní, chcete-li vytvořit VPC s výše uvedenou konfigurací, spusťte skript python pomocí následujícího příkazu.
python vpc.py
Můžete ověřit, zda byl VPC vytvořen z konzoly AWS.
Na výše uvedeném snímku obrazovky můžete vidět, že VPC se zadaným CIDR a názvem byl vytvořen. Můžete zkontrolovat komponenty, jako je podsíť, internetová brána, směrovací tabulka.
Závěr
V tomto článku jsme viděli, jak vytvořit VPC s veřejnou podsítí. Ve VPC jsme vytvořili Route Table, Internet Gateway, Subnet. Viděli jsme, jak může být podsíť spojena s tabulkou směrování, která má veřejnou cestu k internetové bráně. Nyní můžete tento kód přizpůsobit a vytvořit VPC s více podsítěmi, přidružit je k tabulce směrování a mít veřejné nebo soukromé podsítě podle vašich požadavků. Chcete-li vytvořit soukromou podsíť, budete muset vytvořit bránu Nat a přidružit ji k podsíti. Toto přidružení pak učiní podsíť soukromou s odchozím připojením k Internetu.