如何设置Ansible服务器以使用动态广告资源管理多个AWS账户, 所以,我有20个AWS账户,想要管理所有来自单个服务器的账户(VPC'所有账户都是相互对等的),
我已经安装了Ansible并为每个帐户设置了boto配置文件,通过创建存储在boto凭证中的20个配置文件(即20个访问密钥和秘密访问密钥):〜/ .aws / credentials。
这是管理多个帐户的正确方法吗? 我正在使用AWS_PROFILE在运行playbooks时指定boto配置文件。
还有其他方法可以做到这一点,而不是存储密钥和创建boto配置文件。
答案 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