4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ansibleで使いたいモジュールを効率的に探すコツ

Last updated at Posted at 2020-01-15

きっかけ

モジュールの探し方が自分の中でやっと安定してきたので整理します。
もっといい方法があれば教えてください。

前提

現在は色々なナレッジが公開されているので、ググる方がすぐにわかりやすい解説が出てくることも増えてきていますが、
ここでは初心に戻ってAnsible公式マニュアルから探すことを前提とします。

ポイント

3つあります。

  • Module Indexのカテゴリで絞り込む
  • モジュールの命名規則から検索
  • サービス名、コマンド名などのキーワード検索

Module Indexのカテゴリで絞り込む

All Modulesの他にも、下記カテゴリが用意されています(#の後ろは収録製品などの一例)。

  • Cloud modules #AWS/GCP/Azure/Docker/OpenStack
  • Clustering modules #Pacemaker/k8s
  • Commands modules #任意コマンド実行
  • Crypto modules #openssh/openssl
  • Database modules #MySQL/PostgreSQL/Vertica
  • Files modules #ファイルコピー/編集/圧縮/属性管理
  • Identity modules #IPA
  • Inventory modules #Ansibleのインベントリ管理
  • Messaging modules #Rabbitmq
  • Monitoring modules #Zabbix
  • Net Tools modules #HAPloxy/NetWorkManager/SNMP/LDAP/
  • Network modules #ACI/CheckPoint/IOS/VyOS/F5
  • Notification modules #Mail/O365/ServiceNow/Slack
  • Packaging modules #yum/pkg5/apt/pip
  • Remote Management modules #IMC/OneView
  • Source Control modules #git/subversion/bitbucket
  • Storage modules #EMC/Grusterfs/3par/netapp
  • System modules #Linuxシステム管理系
  • Utilities modules #Playbookの効率化/拡張機能
  • Web Infrastructure modules #AnsibleTower/Apache2/Jenkins/Django/Nginx
  • Windows modules #Windows

自分がよく使う処理や製品がどこに属しているかはチェックしておくと検索効率が格段に向上します。
Inventory Modules、Utilities ModulesはAnsible自体に関連するモジュールなので、個人的に知っていないとまず見に来ないです。
全然検討もつかなかったり、お目当てのモジュールがなかった場合はAll Modulesに最後の望みを託し、地道に検索します。

モジュールの命名規則から検索

ほとんどのモジュール名は下記のような命名規則になっています。
※Ansibleのルールなのか、慣習なのかは確認中です。もし情報あればコメントいただけると助かります。

[ 製品名_ [ カテゴリ_ ] ]キーワード
ex: win_ping, MySQL_user, bigip_ssl_key, etc...

製品名がないものもありますが、ほとんどLinux用です。
キーワード部分は多くが共通の言葉を使っているので、xxをするための○○製品版モジュールだ!というのは推測しやすいです。

サービス、コマンド名などのキーワード検索

地味ですが強力。ブラウザの検索機能をフル活用してガツガツ引っかけましょう。
モジュールリストの見方だけ確認しておきます。

モジュール名 - モジュールの簡易説明
Ex: yum – Manages packages with the yum package manager

タイムゾーンを管理したいならtimezone、サービス管理したいならserviceコマンド、という感じで英単語を検索していけばOK。

おわりに

モジュールさえ特定できれば、利用例はマニュアルにExampleセクションがあるのですごく楽です。
それでも見つからなかったら諦めてcommandモジュール使いましょう!いつか有力なナレッジが投稿されると信じて...

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?