Fiz uma execução do Ansible esta manhã para alterar as regras de firewall para um grupo de segurança da AWS.
Fiquei surpreso ao ver que, em vez de adicionar 2 intervalos de IP, a execução do módulo ec2_group removeu 10 dos 25 intervalos de IP.
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
CloudTrail da AWS mostra, no entanto, este JSON a primeira execução para 10 de 25 intervalos:
"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": {}
}
]
}
},
Eu executei novamente o mesmo playbook novamente com a mesma lista de 25 intervalos de IP e isso corrigiu. Alguma dica aqui para solucionar problemas?
Infelizmente foi causado por um bug no módulo ec2_group.
https://github.com/ansible/ansible-modules-core/issues/698