Ansible (4) moduleとplaybook<前編>

こんにちは。
グローバルソリューション事業部の吉村です。
Ansibleまとめ第4回目です。

前回はAnsibleのコマンドについて書きました。
Ansibleまとめ第2回 こんなコマンドあるよ<前編>
Ansibleまとめ第3回 こんなコマンドあるよ<後編>
その中で module や Playbook という言葉が何度か出てきましたが、改めて説明します。

今回のゴールは、AnsibleのmoduleとPlaybookを”なんとなーく”覚えること。
”なんとなーく”というのは、量が多いので、すぐには覚えられないからです。
※2014/06/24時点で223個のmoduleがありました。

では、それぞれ説明していきます。

 

1. module

moduleとは

Ansibleの世界でmoduleとは、Ansibleで実行できる機能のことだと考えてください。

繰り返しになりますが、moduleは数が多いので、Ansibleでこういうこと出来ないかな~と迷った時には、ansible-doc -l コマンドでドキュメントを読むか、公式サイトのドキュメントを読んでみるのがおすすめです。やりたいことに近いmoduleやその使用方法が分かります。

では、”ping” moduleを試してみましょう。

まずは、ping moduleをansible-docで見てみると、

pongと返せばping moduleのテスト成功のようです。
pingと言ってpongと返した(ピンポン)、ということで成功です。おもしろいですね~。

そして、ansibleコマンドでmoduleを指定する場合には、-m オプションを使います。

では、リモートホスト(192.168.12.183)に対して実行します。

こちらも、pingと言ってpongと返した、ということで成功です。

他にもいろいろなmoduleがあります。Ansible社のジャンル分けを見てみるとなんとなく用途が伝わるかもしれません。

(AWSなどのクラウドサービスに特化した module や、ミドルウェアやOSの設定を行う module など沢山あります。)

  • Cloud Modules
  • Commands Modules
  • Database Modules
  • Files Modules
  • Internal Modules
  • Inventory Modules
  • Messaging Modules
  • Monitoring Modules
  • Net Infrastructure Modules
  • Network Modules
  • Notification Modules
  • Packaging Modules
  • Source Control Modules
  • System Modules
  • Utilities Modules
  • Web Infrastructure Modules
  • Windows Modules

中でも面白いのは、Linuxのコマンドを指定して実行する ”shell” module や “command” module があること。これらのmoduleを使うことで、Ansibleだからこれが出来ない!ということがなくなり、 SSHさえ繋がればだいたいのことができるようになります。

また、私はまだ作ったことないですが、自分自身でmoduleを作ることも出来るようですので、作成した際にはご紹介します!

今回はここまで!

次回はAnsibleのPlaybookについて説明します。
お楽しみに!

Share on LinkedIn
LINEで送る
Pocket

吉村

吉村

クララオンライン グローバルビジネスストラテジー部でマーケティング担当として働いています。 クラウド関連技術と中国関連の情報をお届けしてます。 たまに DJ とかします。日本語RAPが大好きです。