使用 Ansible 创建 RDS 数据库安全组

Create RDS DB Security Group using Ansible

我想在使用 Ansible 创建 RDS 实例之前创建一个数据库安全组。有一个名为 ec2_group 的模块,它为 VPC 创建安全组,但我只想为数据库实例创建安全组。

是否有单独的模块,或者我是否必须使用 ec2_group 模块来创建数据库安全组?

另外,如果我错了,请纠正我! EC2 安全组和 DB 安全组是两个不同的东西吧?

恐怕没有 Ansible 模块。
DB SG 和 VPC SG 确实是不同的东西:您创建 DB SG 并允许来自其中一个 VPC SG 的流量。

如果您需要自动创建 DB SG,您的选择是 aws cli
将本地命令 aws rds create-db-security-groupaws rds authorize-db-security-group-ingress 与 Ansible command 模块一起使用。

我去年提交了 PR 添加 2 个 AWS 模块:boto3boto3_wait

这 2 个模块允许您使用 boto3 与 AWS API 交互。

例如,您可以通过在 RDS 服务上调用 create_db_security_group and authorize_db_security_group_ingress 方法来创建数据库安全组:

- name: Create DB security group
  boto3:
    name: rds
    region: us-east-1
    operation: create_db_security_group
    parameters:
      DBSecurityGroupName: mydbsecuritygroup
      DBSecurityGroupDescription: My DB security group

- name: Authorize IP range
  boto3:
    name: rds
    region: us-east-1
    operation: authorize_db_security_group_ingress
    parameters:
      DBSecurityGroupName: mydbsecuritygroup
      CIDRIP: 203.0.113.5/32

如果您对此功能感兴趣,请随时为 PR 投票。 :)