出于某种原因,ansible 的 ec2 主机缺少实例。ec2-describe-instances 返回正确的实例,但 /etc/ansible/hosts 没有:
[root@or-manage ec2-user]# ec2-describe-instances | grep seed
TAG instance i-ff0b2f36 Name cass-uat-seed
[root@or-manage ec2-user]# /etc/ansible/hosts | grep seed
[root@or-manage ec2-user]#
Run Code Online (Sandbox Code Playgroud)
您可以看到 ec2-describe-instances 具有带有我正在寻找的标签的实例,但 ansible hosts 没有。
为什么那个实例不在 /etc/ansible/hosts 中?
注意:起初,我以为它/etc/ansible/hosts使用了错误的区域,但我打开了 boto 调试,它是正确的区域:
send: 'POST / HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 221\r\nContent-Type: application/x-www-form-urlencoded; charset=UTF-8\r\nHost: ec2.us-west-2.amazonaws.com
更新 1:
我注意到没有公共 IP 的任何实例都不会出现在 /etc/ansible/hosts 列表中。为什么会这样?