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
所有者