GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuでPythonBoto3を使用してVPCを作成する方法

Boto3は、Python用のアマゾンウェブサービス(AWS)SDKです。これは、ユーザーまたは開発者がAWSサービスとリソースを作成、構成、および管理できるようにするPythonライブラリです。 Boto3は、EC2、RDS、S3などのAWSサービスとリソースを管理するために使用できるAWSサービス用のAPIを提供します。

Boto3の詳細については、こちらの公式サイトにアクセスしてください。

続行する前に、VPCに精通していることを前提としています。そうでない場合は、ここをクリックして、AWSコンソールからVPCを作成する方法を学ぶことができます。

この記事では、Boto3ライブラリをインストールし、それを使用してAWSで依存するコンポーネントと一緒に単純なVPCを作成する方法を説明します。 VPCにパブリックサブネットを作成します。

前提条件

  1. AWSアカウント(お持ちでない場合は作成)
  2. VPCの基本的な理解
  3. Pythonの基本的な理解
  4. システムで利用可能なPython

何をするか

  1. Boto3をインストール
  2. 必要な方法を知っている
  3. PythonBoto3を使用してVPCを作成する

Boto3をインストール

PythonはデフォルトでUbuntu18.04サーバーに付属しているため、インストールする必要はありません。

システムのPythonバージョンを確認するには、次のコマンドを使用します。

どのpython
/ usr / bin / python --version

または

python --version

pipがなく、Ubuntu 18.04を使用している場合は、次のコマンドを実行して、最初にローカルリポジトリを更新します。

sudo apt update

pipをインストールするには、次のコマンドを使用します

sudo apt install python-pip

インストールされているPipのバージョンを確認するには、次のコマンドを実行します。

pip --version

pythonとpipを入手したら、Boto3をインストールできます。

Boto3のインストールは非常に簡単で簡単です。 Boto3をインストールするには、次のコマンドを使用します。

pip install boto3

Boto3がインストールされているかどうか、およびそのバージョンを確認するには、次のコマンドを実行します。

pip show boto3


必要なメソッドを理解する

VPCとその依存コンポーネントを作成するには、次の方法を使用します。

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

次に、受け入れ可能なパラメーターのリストを含むメソッドを見てみましょう。すべてのパラメータを使用するわけではありませんが、必要に応じて試してみることができます。

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: CIDR表記でのVPCのIPv4ネットワーク範囲。これは必須フィールドであり、これがないとVPCを作成できません。

create_route_tableメソッドのリクエスト構文

route_table = ec2.create_route_table(
    DryRun=True|False,
    VpcId='string'
)
  1. VpcId: VPCのID。これは必須フィールドであり、指定されたVPCでルートテーブルを作成するために使用されます

create_internet_gatewayメソッドのリクエスト構文

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

すべてのVPCには単一のインターネットゲートウェイがあります。これはVPCに添付されます

create_subnetメソッドのリクエスト構文

subnet = ec2.create_subnet(
    AvailabilityZone='string',
    AvailabilityZoneId='string',
    CidrBlock='string',
    Ipv6CidrBlock='string',
    OutpostArn='string',
    VpcId='string',
    DryRun=True|False
)
  1. CidrBlock :CIDR表記でのサブネットのIPv4ネットワーク範囲。これは、VPCを細分化するために使用されます。
  2. VpcId: VPCのID。

associate_with_subnetメソッドのリクエスト構文

route_table_association = route_table.associate_with_subnet(
    DryRun=True|False,
    SubnetId='string',
    GatewayId='string'
)
  1. サブネットID: サブネットのID。
    または
  2. GatewayId: インターネットゲートウェイまたは仮想プライベートゲートウェイのID。

PythonBoto3を使用してVPCを作成する

VPCを作成するには、次のコードブロックを使用して「vpc.py」を作成します。

「aws_access_key_id_value」と「aws_secret_access_key_value」の値をそれぞれ独自のaccess_key_idとaccess_key_valueに変更してください。 「region_name」の値も変更します。

必要に応じて、「create_vpc」と「create_subnet」のCidrBlockの値を変更するか、そのままにしておくことができます。

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)

次に、上記で指定した構成でVPCを作成するには、次のコマンドを使用してPythonスクリプトを実行します。

python vpc.py

VPCがAWSコンソールから作成されたかどうかを確認できます。

上のスクリーンショットでは、指定されたCIDRと名前のVPCが作成されていることがわかります。サブネット、インターネットゲートウェイ、ルートテーブルなどのコンポーネントを確認できます。

結論

この記事では、パブリックサブネットを使用してVPCを作成する方法を説明しました。 VPCにルートテーブル、インターネットゲートウェイ、サブネットを作成しました。インターネットゲートウェイへのパブリックルートを持つルートテーブルにサブネットを関連付ける方法を確認しました。これで、このコードをカスタマイズして、複数のサブネットを持つVPCを作成し、それらをルートテーブルに関連付けて、要件に応じてパブリックサブネットまたはプライベートサブネットを作成できます。プライベートサブネットを作成するには、NATゲートウェイを作成し、それをサブネットに関連付ける必要があります。この関連付けにより、インターネットへの発信接続でサブネットがプライベートになります。


Ubuntu
  1. Ubuntu18.04にPython3.9をインストールする方法

  2. Ubuntu13.04にPython3.2をインストールするにはどうすればいいですか?

  3. Python 2.7にアップデートする方法は?

  1. Ubuntu18.04または20.04にPython3をインストールする方法

  2. Ubuntu20.04でPython仮想環境を作成する方法

  3. Ubuntu で MDADM を使用して RAID アレイを作成する方法

  1. Wireguardを使用してUbuntu20.04でVPNを作成する方法

  2. Ubuntu18.04でPython仮想環境を作成する方法

  3. Ubuntu18.04にPython3.7をインストールする方法