inhumantsar.ec2-vpc

ec2-vpc

何ですか?

新しいVPC(仮想プライベートクラウド)、パブリックサブネット、インターネットゲートウェイを作成します。

なぜですか?

シンプルで自己完結型のインターフェースを提供します。

どうやって?

前提条件

  • Python: boto(boto3ではありません)
vpc_service_env: 'dev'        # 実際のVPC名にはこれが付加されます(例: name_env)
vpc_service_state: 'present'  # ものを削除する場合は'absent'に設定してください

vpc_name: 'test'
vpc_cidr: '10.0.0.0/16'
vpc_region: 'us-east-1'
vpc_public_subnet_cidrs:
  - '10.0.1.0/24'         # サブネットの設定に応じてどうぞ
  - '10.0.2.0/24'         # 自分で計算する必要があります
vpc_public_subnet_azs:
  '10.0.1.0/24': 'a'      # これらのキーはvpc_public_subnet_cidrsの値と一致しなければなりません
  '10.0.2.0/24': 'b'      # ここに追加があっても構いませんが、すべての値をカバーする必要があります

裏側の処理

library/get_subnet_ids.py

情報が満載のオブジェクトからサブネットIDのみを返すために辞書内包表記を使っています。

library/rtb_deleteable.py

これは、ec2_vpc_route_table_factsによって返される事実を解析するためのシンプルなモジュールです。 生成された辞書を読み取り、キーはルートテーブルID、値はそのルートテーブルが安全に削除できるかどうかを示すブール値の辞書を生成します。"主要な"ルートテーブルを示すフラグを確認することで行います。

なぜですか?

"主要な"ルートテーブルは、VPCを削除しない限り削除できないため、スキップする必要があります。しかし、そのような辞書を純粋なAnsibleで操作するのは苦痛です。幸いなことに、Ansibleロールにちょっとだけ小さなPythonスクリプトを追加するのは簡単です。

プロジェクトについて

Creates a new VPC, public subnets, and an internet gateway. Optionally creates private subnets and a NAT gateway.

インストール
ansible-galaxy install inhumantsar.ec2-vpc
ライセンス
bsd-3-clause
ダウンロード
70
所有者