LinuxTweetみなさんこんにちはシステムソリューション部SREチーム所属の岡崎です。前回はAnsibleのツール紹介とインストールについて書かせてもらいましたので今回はいよいよAnsibleの実行方法を紹介したいと思います。Ansible実行時の構成Ansible実行に必要なものは以下のようになります。ファイル(インベントリファイル)playbookモジュールそれぞれについて解説いたします。ファイル(インベントリファイル)とは作業対象のホストを記入するファイルとなります。記入例は以下の通りとなります。[all]XXX.XXX.XXX.XXXXXX.XXX.XXX.XXX[web]XXX.XXX.XXX.XXX[db]XXX.XXX.XXX.XXX各それぞれの[]部分にて実行ホストのグループを指定することができます。付与し保存したファイルを指定すれば記入したホストに向けて各コマンドが実行されます。playbookとは??作業対象のホストで実行したいコマンドや作業の流れを記入するファイルとなります。以下はapacheをインストールするplaybookとなります。部分がこの処理の始まりを表しており、nameの部分はこの処理の名前となります。hostsの部分は上で説明したグループ部分を指定できます。今回はすべてのホストということで[all]と指定しております。remote_userの部分は作業対象のホスト上のユーザを指定しています。リモート先に存在するユーザを指定しないとコマンドが実行されずエラーとなります。sudoの部分はremote_userにてroot権限でコマンドを実行するかを指定します。今回はインストールが必要になるのでroot権限が必要になるためyesとしてます。task以下の部分は実際に実行されるコマンドとなります。今回はyumコマンドにてapacheをインストールするコマンドとなります。モジュールとは??先ほどのplaybook部分にてコマンド部分があったと思いますが、その部分が各モジュールとなります。前回でも特徴の一つとしてモジュールを紹介しましたが、モジュールは現在も様々な言語にて開発されサーバ自体の設定だけではなく、クラウドプラットフォームの設定まで行うものまであります。詳細は以下に実際のモジュールの一覧のリンクを張るのでそちらをご確認ください。リンク:https://docs.ansible.com/ansible/latest/modules/list_of_all_modules.html実際に実行してみよう!!ではいよいよAnsibleを実行してみようと思います。作業対象のホストをhostsファイルに記入します。hosts========================[all]XXX.XXX.XXX.XXX========================続いてメインのplaybookを作成いたします。state=present========================最後にansible-playbookコマンドにて作業対象ホストに対して実行したいコマンドを実行いたします。failed=0インストールできているかどうか確認いたします。httpdhttpd-tools-2.2.34-1.16.amzn1.x86_64httpd-2.2.34-1.16.amzn1.x86_64無事インストールできていました!!!まとめ今回はAnsibleの実行方法について記入しました。次回はさらにroleを設定する方法などを記入できればと思います。引き続きAnsibleや運用・構築自動化に少しでも興味をもっていただければ幸いです。以上、これで締めます。