amazon-web-services - 无法弄清楚为什么要更新子网

标签 amazon-web-services ansible

我正在使用 Ansible 在 AWS 中创建 VPC。运行以下播放

- name: create vpc with multi-az subnets
  ec2_vpc:
    region: "{{ region }}"
    cidr_block: "{{ vpc_cidr_block }}"
    resource_tags: '{"Name":"{{ prefix }}_vpc"}'
    subnets:
      - cidr: "{{ vpc_cidr_subnet_public_0 }}"
        az: "{{ region }}{{ availability_zone_0 }}"
        resource_tags: '{"Name":"{{ prefix }}_subnet_public_0", "Class":"web", "Partner":prefix }'
      - cidr: "{{ vpc_cidr_subnet_private_0 }}"
        az: "{{ region }}{{ availability_zone_0 }}"
        resource_tags: '{"Name":"{{ prefix }}_subnet_private_0", "Class":"db", "Partner":prefix }'
      - cidr: "{{ vpc_cidr_subnet_private_1 }}"
        az: "{{ region }}{{ availability_zone_1 }}"
        resource_tags: '{"Name":"{{ prefix }}_subnet_private_1", "Class":"db", "Partner":prefix }'
    internet_gateway: yes
    route_tables:
      - subnets:
        - "{{ vpc_cidr_subnet_public_0 }}"
        routes:
          - dest: 0.0.0.0/0
            gw: igw
    wait: yes
  register: vpc

第一次完美地创造了一切。第二次,我希望它不会做任何事情,因为一切都已创建,但是,公共(public)子网已更新为私有(private)子网。

为什么?我究竟做错了什么?

[更新]

以下是变量:
---
region: eu-west-1
prefix: staging
vpc_environment: staging
vpc_cidr_block: 20.0.0.0/16
vpc_cidr_subnet_public_0: 20.0.0.0/24
vpc_cidr_subnet_private_0: 20.0.1.0/24
vpc_cidr_subnet_private_1: 20.0.2.0/24
availability_zone_0: b
availability_zone_1: c

也只是为了澄清正在发生的变化。一个子网(公共(public))的所有资源标签都被另一个子网(私有(private))的标签覆盖。

最佳答案

这是由 ansible-modules-core 中的错误引起的。在主 - ec2_vpc .我已经登录了 bug并创建了 PR解决问题。有关详细信息和实际休息时间,请参阅 PR。希望它尽快合并!

[更新] 合并

关于amazon-web-services - 无法弄清楚为什么要更新子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35125292/

相关文章:

ansible - 在多个目录的ansible中恢复Selinux文件上下文

linux - 从 Ansible 中 shell 命令的输出中提取特定数据

python - 如何在 python 中自动化配置 AWS 命令​​行界面和设置配置文件过程?

amazon-web-services - 创建 ConfigurationSetEventDestination 时找不到 TopicARN

amazon-web-services - 使用 Ansible 为 Linux 用户配置 AWS key

amazon-web-services - 使用 Ansible 创建 Elasticache 时出现默认子网错误

ansible - 在运行角色之前动态运行 "ansible-galaxy install -r requirement.yml -p roles/"作为先决条件

Ansible:循环字典和文件树

amazon-web-services - 当我的 Cloud Formation 堆栈中缺少 Route53 时如何恢复?

python - 使用 boto3 进行 Cloudformation 通配符搜索