D&I Blog

このブログでは、今までに培ってきた技術的なことや、得意としている地図のことなどについて、幅広く取り扱っていこうと考えています。積極的に新しいことにチャレンジしたいメンバーもいるので、そのようなトピックも扱っていきたいと思います。

D&I BLOG

To mind the creative destruction

Ansible :: 初めてのインベントリファイル設定

以前の記事でAnsibleのインストール方法を紹介しました。今回は、インベントリファイルを設定し、実際にAnsibleがどういうものなのかを紹介していきたいと思います。

動作環境について

以下の環境が整っていることを前提に説明していきます。

  • 管理する側と管理される側のマシン間でSSH接続が行えること。
    • SSH接続する方法はこの記事を参考になります。
  • 管理する側のマシンにAnsibleがインストールされていること。
    • Ansibleのインストール方法はこの記事が参考になります。

なお「管理する側の端末」「管理される側の端末」という表現は、理解するのにややこしいので、

  • 管理する側の端末 =管理端末
  • 管理される側の端末 = ターゲット端末

と表現することとします。
※それでも表現がややこしいかもしれませんが、お許しください。

f:id:d-and-i:20160828171910p:plain

Ansibleを用いて疎通確認をしてみます。

まずは「インベントリファイル」を作ることから。

「インベントリファイル」とは、簡単に言うとターゲット端末のIPアドレスや、ドメイン名を記載したファイルです。

では、インベントリファイルを実際に作っていきましょう。

  1. /etc/ansible/hostsファイルを新規に作成します。
  2. /etc/ansible/hostsファイルにターゲット端末の情報を追加します。

/etc/ansible/hostsファイルを新規に作成・開きます。

$ sudo mkdir /etc/ansible
$ sudo touch /etc/ansible/hosts
$ sudo vi /etc/ansible/hosts

/etc/ansible/hostsファイルにターゲット端末の情報を追加します。

ターゲット端末が一台であった場合

f:id:d-and-i:20160828171910p:plain

IPアドレスで指定する場合は、

192.168.10.2

ドメイン名で指定する場合は、

targetserverA

となります。

ターゲット端末が複数台ある場合

f:id:d-and-i:20160828172703p:plain

IPアドレスで指定する場合は、

192.168.10.2
192.168.10.3

ドメイン名で指定する場合は、

targetserverA
targetserverB

となります。

なお、IPアドレスドメイン名の混在表記も可能です。

ターゲット端末への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を使い始める環境を整えることができたということになります。