Ansible 错误地从安全组中删除了 IP 范围

Ansible 错误地从安全组中删除了 IP 范围

今天早上我运行了 Ansible 来更改 AWS 安全组的防火墙规则。

令我惊讶的是,运行 ec2_group 模块并没有添加 2 个 IP 范围,而是删除了 25 个 IP 范围中的 10 个。

tasks:
- name: Create security group HTTPS Access
  ec2_group:
    name: "HTTPS-ELB"
    description: "Ranges for main ELB HTTPS"
    vpc_id: "vpc-"
    region: "eu-west-1"
    rules:
    - proto: tcp
      from_port: 443
      to_port: 443
      cidr_ip: 131.x.x.0/24
    .. 24 more rules

然而,AWS 的 CloudTrail 显示此 JSON 是 25 个范围中的 10 个范围的首次运行:

"eventName": "RevokeSecurityGroupIngress",
"awsRegion": "eu-west-1",
"userAgent": "Boto/2.38.0 Python/2.7.6 Darwin/14.4.0",
"requestParameters": {
    "groupId": "sg-",
    "ipPermissions": {
        "items": [
            {
                "ipProtocol": "tcp",
                "fromPort": 443,
                "toPort": 443,
                "groups": {},
                "ipRanges": {
                    "items": [
                        {
                            "cidrIp": "131.x.x.0/24"
                        }
                    ]
                },
                "prefixListIds": {}
            }
        ]
    }
},

我再次使用相同的 25 个 IP 范围列表重新运行了相同的剧本,问题就解决了。这里有任何故障排除技巧吗?

答案1

不幸的是,这是由 ec2_group 模块中的一个错误引起的。

https://github.com/ansible/ansible-modules-core/issues/698

相关内容