Ansible :: 初めてのインベントリファイル設定
以前の記事でAnsibleのインストール方法を紹介しました。今回は、インベントリファイルを設定し、実際にAnsibleがどういうものなのかを紹介していきたいと思います。
動作環境について
以下の環境が整っていることを前提に説明していきます。
- 管理する側と管理される側のマシン間でSSH接続が行えること。
- SSH接続する方法はこの記事を参考になります。
- 管理する側のマシンにAnsibleがインストールされていること。
- Ansibleのインストール方法はこの記事が参考になります。
なお「管理する側の端末」「管理される側の端末」という表現は、理解するのにややこしいので、
- 管理する側の端末 =管理端末
- 管理される側の端末 = ターゲット端末
と表現することとします。
※それでも表現がややこしいかもしれませんが、お許しください。
Ansibleを用いて疎通確認をしてみます。
まずは「インベントリファイル」を作ることから。
「インベントリファイル」とは、簡単に言うとターゲット端末のIPアドレスや、ドメイン名を記載したファイルです。
では、インベントリファイルを実際に作っていきましょう。
- /etc/ansible/hostsファイルを新規に作成します。
- /etc/ansible/hostsファイルにターゲット端末の情報を追加します。
/etc/ansible/hostsファイルを新規に作成・開きます。
$ sudo mkdir /etc/ansible
$ sudo touch /etc/ansible/hosts
$ sudo vi /etc/ansible/hosts
/etc/ansible/hostsファイルにターゲット端末の情報を追加します。
ターゲット端末が一台であった場合
IPアドレスで指定する場合は、
192.168.10.2
ドメイン名で指定する場合は、
targetserverA
となります。
ターゲット端末が複数台ある場合
IPアドレスで指定する場合は、
192.168.10.2
192.168.10.3
ドメイン名で指定する場合は、
targetserverA
targetserverB
となります。
ターゲット端末へのPING送信
インベントリファイルが作成できたら、今度は管理端末からターゲット端末に対してPING送信してみます。
$ ansible all -m ping
$ targetServerA | success >> { // PING送信が成功した例
"changed": false,
"ping": "pong"
}
このPING送信が、上手く通れば疎通確認が行えたと言っても良いかと思います。
つぎにターゲット端末に対してシェルを実行してみましょう。
$ ansible all -a "/usr/bin/echo hello"
$ okisoftware | success | rc=0 >> // echoコマンドを実行た例
hello
結果は正しく表示されたでしょうか?今回の例では、"echo"コマンドを実行してみましたが、他のコマンドでも試してみて頂ければと思います。
この疎通がうまくできたようであれば、Ansibleを使い始める環境を整えることができたということになります。