设置Ansible服务器以使用动态库存管理多个AWS账户?

时间:2017-01-04 19:23:02

标签: amazon-web-services amazon-ec2 ansible ansible-playbook boto

如何设置Ansible服务器以使用动态广告资源管理多个AWS账户, 所以,我有20个AWS账户,想要管理所有来自单个服务器的账户(VPC'所有账户都是相互对等的),

我已经安装了Ansible并为每个帐户设置了boto配置文件,通过创建存储在boto凭证中的20个配置文件(即20个访问密钥和秘密访问密钥):〜/ .aws / credentials。

这是管理多个帐户的正确方法吗? 我正在使用AWS_PROFILE在运行playbooks时指定boto配置文件。

还有其他方法可以做到这一点,而不是存储密钥和创建boto配置文件。

1 个答案:

答案 0 :(得分:3)

来自Example: AWS EC2 External Inventory Script 如果您使用Boto配置文件管理多个AWS账户,则可以将 - 配置文件PROFILE 名称传递给ec2.py脚本。示例配置文件可能是:

[profile dev]
aws_access_key_id = <dev access key>
aws_secret_access_key = <dev secret key>

[profile prod]
aws_access_key_id = <prod access key>
aws_secret_access_key = <prod secret key>

然后,您可以运行 ec2.py --profile prod 来获取prod帐户的广告资源,但ansible-playbook不支持此选项。您还可以使用 AWS_PROFILE变量 - 例如:

AWS_PROFILE=prod ansible-playbook -i ec2.py myplaybook.yml