如何使用 ansible 连接到 EC2 实例?

How to connect with ansible to an EC2 instance?

朋友,

我正在尝试 运行 针对 EC2 实例执行一些可靠的任务并收到以下错误:

fatal: [ubuntu]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to 
the host via ssh: ssh: connect to host 34.218.130.84 port 22:connection timed out",
"unreachable": true}

我认为,问题与 Ansible 配置有关,因为我尝试使用相同的 IP、用户名和 pem 文件通过 Putty 连接实例并且它工作得很好。

这是我的清单文件的样子:

[brt]

ubuntu ansible_ssh_host=34.218.130.84
ansible_ssh_private_key_file=/home/mjgoncalves/ansible/chave/aws-ansible.pem

[brt:vars]
ansible_ssh_private_key_file=/home/mjgoncalves/ansible/chave/aws-ansible.pem
ansible_ssh_host=34.218.130.84
ansible_ssh_user=username
ansible_ssh_pass=passowrd
ansible_become=yes
ansible_become_method=sudo
ansible_become_pass=password
ansible_connection=ssh
...

知道我可能遗漏了什么吗?

变量名中的“ssh”已被弃用。您应该使用 ansible_host 而不是 ansible_ssh_host(用户名、密码等相同,但 ansible_ssh_private_key_file 不同)。

消息中的 IP (connect to host 34.228.140.94) 与您的清单中的 IP 不同,因此它似乎没有从变量中获取 IP,或者您正在其他地方覆盖它。