mateothegreat.aws_vpc_create

AWS VPCの作成

機能:

  • (オプションの)ピアリング接続を作成します。
  • すべてのリソースにタグ付けをサポートします。

この役割は新しいAWS VPCを作成します。内容は以下の通りです:

  • ピアリング接続
  • インターネットゲートウェイ
  • NATゲートウェイ
  • ルートテーブル
  • サブネット

要件

pip install ansible boto3 boto

変数

aws_vpc_create:
  profile: "default"            # AWS認証ファイルのプロファイル名。
  name: "test-1"                # 作成したいVPCの名前。
  region: "eu-central-1"        # AWSリージョン。
  cidr: "201.0.0.0/16"          # VPC全体のCIDR。
  internet_gateway: "true"      # インターネットゲートウェイを作成します。
  nat_gateway: "true"           # Elastic IPのNATゲートウェイを作成します。
  allow_duplicate_name: "false" # 同名のVPCが存在してもエラーになりません。
  allow_duplicate_cidr: "false" # 同じCIDRのVPCが存在してもエラーになりません。
  purge_cidrs: "true"           # 既存のVPCを使う場合、すべてのCIDRを削除します。
  peering:
    - name: "test-1-peer"
      vpc_id: "vpc-0504d01b93f46e610"
      region: "eu-central-1"
      cidr: "22.16.0.0/16"
      update_accepter_route_table: "true" # アクセプターのルートテーブルにこのVPCへのルートを追加します。
  dns:
    enable_support: "true"      # このVPCのDNSサポートを有効にします。
    enable_hostnames: "true"    # このVPCのホスト名解決を有効にします。
  subnets:
    - name: "public-1"
      type: "public"
      az: "eu-central-1a"
      cidr: "201.0.1.0/24"
    - name: "public-2"
      type: "public"
      cidr: "201.0.2.0/24"
      az: "eu-central-1b"
    - name: "private-1"
      type: "private"
      cidr: "201.0.3.0/24"
      az: "eu-central-1a"
    - name: "private-2"
      type: "private"
      cidr: "201.0.4.0/24"
      az: "eu-central-1b"
  tags:
    created_by: "Matthew Davis"

使用例

次の内容をplaybook.yamlというファイルに追加します:

- hosts: monitoring
  roles:
    - role: "mateothegreat.aws_vpc_create"
      vars:
        aws_vpc_create:
          profile: "default"            # AWS認証ファイルのプロファイル名。
          name: "test-1"                # 作成したいVPCの名前。
          region: "eu-central-1"        # AWSリージョン。
          cidr: "201.0.0.0/16"          # VPC全体のCIDR。
          internet_gateway: "true"      # インターネットゲートウェイを作成します。
          nat_gateway: "true"           # Elastic IPのNATゲートウェイを作成します。
          allow_duplicate_name: "false" # 同名のVPCが存在してもエラーになりません。
          allow_duplicate_cidr: "false" # 同じCIDRのVPCが存在してもエラーになりません。
          purge_cidrs: "true"           # 既存のVPCを使う場合、すべてのCIDRを削除します。
          peering:
            - name: "test-1-peer"
              vpc_id: "vpc-0504d01b93f46e610"
              region: "eu-central-1"
              cidr: "22.16.0.0/16"
              update_accepter_route_table: "true" # アクセプターのルートテーブルにこのVPCへのルートを追加します。
          dns:
            enable_support: "true"      # このVPCのDNSサポートを有効にします。
            enable_hostnames: "true"    # このVPCのホスト名解決を有効にします。
          subnets:
            - name: "public-1"
              type: "public"
              az: "eu-central-1a"
              cidr: "201.0.1.0/24"
            - name: "public-2"
              type: "public"
              cidr: "201.0.2.0/24"
              az: "eu-central-1b"
            - name: "private-1"
              type: "private"
              cidr: "201.0.3.0/24"
              az: "eu-central-1a"
            - name: "private-2"
              type: "private"
              cidr: "201.0.4.0/24"
              az: "eu-central-1b"
          tags:
            created_by: "Matthew Davis"

次のコマンドで実行します:ansible-playbook -i <あなたのインベントリファイル> playbook.yaml

お問い合わせ

お問い合わせは https://matthewdavis.io までどうぞ。

プロジェクトについて

Provision a complete AWS VPC.

インストール
ansible-galaxy install mateothegreat.aws_vpc_create
ライセンス
Unknown
ダウンロード
120
所有者
🚀 ☞ Senior Software Architect, Cloud Engineer & DevOps Advocate. ✌