设置Ansible AWS动态清单
1.使用pip安装boto库。如果您尚未安装pip,则可以按照此文档进行安装–> 安装python pip
pip install boto
2.将清单脚本下载到/ etc / ansible目录。
3.使文件可执行。
chmod + x ec2.py
4.将ec2.ini文件下载到/ etc / ansible目录。
5. ec2.ini文件具有默认的AWS配置,可通过ec2.py文件读取。因此,请注释掉并配置必要的参数,以免查询时间过长。这样的例子就是“ regions”参数。默认情况下,该值为“ all”。这样可以对所有区域进行API调用。因此,最好只提及您使用的特定aws区域。
在[credentials]部分下,您需要提及abos访问密钥和私钥,以便boto库进行API调用。
或者,您可以在家里创建一个凭证文件,如下所示。
touch ~/.aws/credentials
打开凭证文件,然后如下所示进行输入。
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
注意:如果您正在使用AWS实例进行此设置,并且具有访问AWS服务权限的IAM角色,则无需将访问密钥和秘密密钥添加到凭证文件中
6 现在,使用以下命令测试清单配置。
./ec2.py --list
应该获得如下所示的输出。
{
“ _meta”:{
“ hostvars”:{}
}
}
如果您有一些实例正在运行,则将获得包含所有实例详细信息的输出。
7.如果要将动态清单用作默认的ansible清单,则需要编辑/ etc / ansible目录中存在的ansible.cfg文件,并在ansible.cfg中搜索清单参数。如下所示更改库存参数值。
inventory = /etc/ansible/ec2.py
现在,您可以对动态清单资源运行正常的ansible命令。例如,以下命令将对使用动态清单获取的所有正在运行的ec2实例运行ping命令。
ansible all -m ping
转载来源 https://www.fengnayun.com/news/content/289410.html