Ansibleでホスト名を利用する

インストールしたばかりのAnsibleでは、ホスト名を利用して実行することができません。

それでは不便なので、設定方法をご紹介します。

前提条件

Pythonの確認

対象サーバーにPythonがインストールされていることを確認しておきましょう。

次のコマンドでPythonのバージョンを確認します。

python -V
Python 2.7.12

もしない場合は次のようなエラーが派生します。

ansible-test-server | FAILED! => {
    "changed": false,
    "failed": true,
    "module_stderr": "Shared connection to ansible closed.\r\n",
    "module_stdout": "/bin/sh: 1: /usr/bin/python: not found\r\n",
    "msg": "MODULE FAILURE"
}

鍵認証の設定

SSHを利用するため、何かしらの認証が必要になります。

パスワード認証でも構いませんが、セキュリティを考慮して、このブログでは鍵認証を使いますので、予めて設定をしておいてください。

hostsファイルの設定

Ansibleでは誤操作を防ぐためにAnsible用のhostsファイルが用意されています。

ここに対象のサーバーを書いておくことで、実行時のサーバー指定が簡単になります。

hostsファイルの場所

デフォルトで使われるhostsファイルは次の場所にあります。

/etc/ansible/hosts

hostsファイルの書き方

192.168.1.2を操作したいのであれば、次のように書くことできます。

192.168.1.2

他にもDNSや/etc/hostsファイルなどで名前解決ができるならば、次のようにも書くことができます。

次の例は/etc/hostsでansible-test-serverが192.168.1.2で名前解決されているとします。

ansible-test-server

動作確認

構成管理ツールは一度に複数のサーバーを操作することを想定されています。

次のコマンドで/etc/ansible/hostsに記述のあるすべてのサーバーにpingを行います。

ansible all -m ping

このようにレスポンスが返ってきたらOKです。

ubuntu-ansible | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です