小编cmm*_*bee的帖子

将 Ansible playbook 中的变量替换为 EC2 安全组规则

我正在尝试使用 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)

amazon-web-services ansible

5
推荐指数
1
解决办法
902
查看次数

标签 统计

amazon-web-services ×1

ansible ×1