Ansibleのコマンド実行時に下記のよにエラーが発生しました。
$ ansible-playbook -i inventory/hosts operation.yml -D PLAY [targets] ***************************************************************** TASK [setup] ******************************************************************* fatal: [Host]: UNREACHABLE! => {"changed": false, "msg": "SSH Error: data could not be sent to the remote host. Make sure this host can be reached over ssh", "unreachable": true} to retry, use: --limit @operation.retry PLAY RECAP ********************************************************************* Host : ok=0 changed=0 unreachable=1 failed=0
エラーの内容を見ての通り、SSHの接続エラーです。
原因はrootユーザーでSSHに接続しようとしたからです。
playbookのホスト・ユーザー指定は下記のように記述しておりました。
- hosts: targets user: root
これを下記のように記述することでエラーは解消されました。
– hosts: targets
user: ec2-user
become: yes
SSHの接続はec2-userで行い、コマンドはrootで指定するように指定しております。
この記述方法はバージョン1.9以降のものになります。
それ以前のバージョンは「become」でなく「sudo」を使用するようです。
playbookの権限とバージョンについてはこちらを参考にしました。
http://qiita.com/imoyoukan/items/12832aecd956d14b03f5