Ansibleのオプションとシェルスクリプトに対する優位性

Ansibleを使うと、シェルスクリプトと比べて何がうれしいのでしょうか。 超基本ですが、あえて書いてみます。

Ansibleでは、Inventoryで対象ホストを指定し、Playbookと呼ばれるスクリプトに書いたタスクを実行します。 その際に、実行オプションを指定することで、内容確認や、タスク実行方法を変える事が出来ます。 つまり、シェルスクリプトより柔軟に作業を行う事ができます。

$ ansible-playbook (オプション) -i (Inventory) (Playbook)

以下に、具体的なオプションを挙げてみます。

確認

これから実行しようとしている作業を確認する事ができます。

オプション 意味
--list-hosts 実行対象ホストを確認する
--list-tasks 実行タスクを確認する
-C, --check タスクを実行せずに実行チェックのみ行う(ドライラン)

実行方法

タスクの実行方法を指定する事が可能です。

オプション 意味
--step タスクをステップ実行する
-t TAGS, --tags=TAGS 指定したタグが付いたタスクを実行する

対象ホストとタスクが分離されており、さらにオプションも充実しているので、シェルスクリプトのように、秘伝のタレ化する事を防ぐことができます。

ちなみに、Ansibleのオプションは、以下のコマンドで確認可能です。

$ ansible-playbook