前回まででvagrantを使って仮想環境を立てるのと、Ansibleのインストールが終わっていますので
今回はAnsibleのコマンドを使用してwebとdbに対してpingというコマンドが実行できるところまでを確認してみましょう。
ちなみに前回の記事はコチラから
ansible コマンドを叩いてみる
ansibleコマンドを実行するためには、Inventoryファイルというものが必要です。
Inventoryファイルとはansibleコマンドを実行した時にデフォルトで読みにいくファイルのことですが、
ここにはwebやdbサーバの情報なんかを書いておくことができます。
Ansibleが動作する対象のシステムを列挙するためのファイルってことですね。
それでは早速、Inventortyファイルを作っていきましょう。
ファイル名はなんでもいいですが、ここではinventoryというファイル名にしておきます。
[web]
192.168.43.52
[db]
192.168.43.53
動作対象となるwebとdbを指定してやればOKです。
それではansibleコマンドを実行してみます。
[vagrant@host ~]$ ansible all -i inventory -m ping
まずは簡単にコマンドの説明をしておきましょう。
all というのは「webとdbどちらにも実行しますよ」という意味。webと指定すればwebだけに対して実行されます。
-i でinventoryファイルを指定します。ここではinventoryというファイル名ですね
-m は実行するモジュール(コマンド)を指定してやります。pingというモジュールにしてみました。接続を確認するコマンドですね。
それでは実行結果
[vagrant@host ~]$ ansible all -i inventory -m ping
192.168.43.52 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.43.53 | SUCCESS => {
"changed": false,
"ping": "pong"
}
こんな風に帰ってくれば成功です。ansibleコマンドが実行できていますね。
default inventoryファイルの設定
-i inventory
と毎回打つのは面倒ですよね?
ansibleの設定ファイルに書いておきましょう
[vagrant@host ~]$ vi ./ansible.cfg
[defaults]
hostfile = ./inventory
としておけばデフォルトでinventoryを呼んでくれます。
先ほどのansibleコマンドも以下のように-i inventory
を省略することができます。
[vagrant@host ~]$ ansible all -m ping
192.168.43.52 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.43.53 | SUCCESS => {
"changed": false,
"ping": "pong"
}
いい感じですね
それでは次回はplaybookを書いてwebにnginxを入れていきます。