今天早上我运行了 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 模块中的一个错误引起的。