我正在尝试使用 Ansible 来配置 AWS EC2 安全组。
我希望其中一些组有多个规则。有些规则仅适用于我的内部 VPC,而其他规则则对全世界开放。
我想在从列表变量读取配置的循环中创建安全组,但我不想对内部 VPC 的 CIDR 进行硬编码。我宁愿从我的 VPC 事实中获取 CIDR,但我还没有找到一种令人满意的方法将 CIDR 替换到规则中。
为了更清楚地说明这一点,这里有一个(人为的)示例。我的原始组列表对所有 CIDR 进行了硬编码:
aws_security_groups:
- name: Webservers
description: Security group for webservers
region: my_aws_region
rules:
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 0.0.0.0/0
- proto: tcp
from_port: 80
to_port: 80
cidr_ip: 0.0.0.0/0
- name: Databases
description: Security group for internal database access
region: my_aws_region
rules:
- proto: tcp
from_port: 22
to_port: 22
cidr_ip: 0.0.0.0/0
- proto: tcp
from_port: 3306
to_port: 3306 …Run Code Online (Sandbox Code Playgroud)