GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak vytvořit VPC pomocí Pythonu Boto3 na Ubuntu

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

  1. Účet AWS (vytvořte si jej, pokud jej nemáte)
  2. Základní  pochopení VPC
  3. Základní pochopení jazyka Python
  4. Python dostupný v systému

 Co uděláme

  1. Nainstalujte Boto3
  2. Znáte požadovanou metodu
  3. 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.

  1. create_vpc
  2. create_route_table
  3. create_internet_gateway
  4. vytvořit_podsíť
  5. 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'
)
  1. 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'
)
  1. 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
)
  1. CidrBlock :Rozsah sítě IPv4 pro podsíť v notaci CIDR. Toto se používá k rozdělení VPC.
  2. 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'
)
  1. ID podsítě:  ID podsítě.
    Nebo
  2. 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.


Ubuntu
  1. Jak nainstalovat Python 3.9 na Ubuntu 18.04

  2. Jak nainstalovat Python 3.2 v Ubuntu 13.04?

  3. Jak aktualizovat na Python 2.7?

  1. Jak nainstalovat Python 3 na Ubuntu 18.04 nebo 20.04

  2. Jak vytvořit virtuální prostředí Python na Ubuntu 20.04

  3. Jak vytvořit pole RAID pomocí MDADM na Ubuntu

  1. Jak vytvořit VPN na Ubuntu 20.04 pomocí Wireguard

  2. Jak vytvořit virtuální prostředí Python na Ubuntu 18.04

  3. Jak nainstalovat Python 3.7 na Ubuntu 18.04