2020/08/25PC展開を自動化!Ansible Tower編
こんにちは、ライトウェルAnsibleチームの増田です。
前回までのブログではPCセットアップ時に活用できる
windowsモジュールとサンプルPlaybookをご紹介してきました。
今回のブログはAnsible Towerを使用したPC展開についてのお話になります!
実際のPC展開サービスでもAnsible Towerを導入して活用していただくことが多いので、
その経験から、「Ansible Towerの何がいいの?」「どんなふうに使えるの?」
という部分を書いていきたいと思います!
Ansible Towerってなぁに?
Ansible Towerとは、一言でいうとGUIベースで
Ansibleの管理やPlaybookの実行ができる多機能なツールです。
InventoryやPlaybookの権限管理ができたり、
Playbookの実行履歴や結果がログとして残ったりというように
コマンド版のAnsibleよりも扱いやすく自動化の推進に貢献してくれる製品になります!
Ansible Towerの何がいいの?
Ansible Towerについてお伝えしたことはたくさんあるのですが、
長くなってしまうので、今回はAnsible Towerの「テンプレート機能」に絞っていいところを紹介します!
Ansible Towerのテンプレートでは
「ジョブテンプレート」と「ワークフローテンプレート」と2種類作成できます。
- ジョブテンプレート
Ansible Towerがないと自動化処理の実行の度に下記のコマンド打たないといけないです(;_;)
ansible-playbook -i inventory/inventory.ini hogehoge.yml -u test_user -f 10 -vvvv
どのPlaybookをどのInventoryに対して実行するか、実行時のオプションはどうするか…
こんなコマンド覚えてられないですよね?
これらのコマンドを1セットにしてロケットボタンをクリックするだけで実行できるのが
Ansible Towerのジョブテンプレートなんです!!
これなら、Ansibleはよくわからない…という人であっても、
”どのテンプレートを実行すればいいか”を明確にしておけば
Playbookの実行が簡単にできるようになりますよね!
- ワークフローテンプレート
ワークフローテンプレートは、前述したジョブテンプレートを複数つなぎ合わせて、
1つのジョブにすることができる機能です。
ロケットボタンを1回押すだけで、1つめのPlaybookが終わったら、2つ目のPlaybookへ…というように
つなぎ合わせたジョブテンプレートを次々に実行していってくれます。
こんなふうに、ジョブテンプレートを柔軟に組み合わせることもできるので本当に便利です!
しかも、Playbookをつなぎ合わせるときに、
「常時」「成功時」「障害発生時(※)」3つのパターンで組み合わせをすることができるので、
前のPlaybookの実行結果によって次に流すPlaybookを変えるということもできちゃいます!
(※)障害発生時はPlaybookが失敗した場合のこと
どんなふうに使えるの?
Ansible Towerを活用してPC展開するときに大活躍したのが、ワークフローテンプレート機能です!
PC展開用のジョブテンプレートが複数あったので、どれを実行すればいいのかと混乱したり、
前のPlaybookが終わってから次のPlaybookを流すという作業が手間だったのですが、
ワークフローテンプレートでPlaybookをつなぎ合わせておけば、
1回実行するだけで必要なPlaybookが次々実行されていくので、かなり運用が楽になりました。
定時前にポチッとAnsibleを実行して帰るという使い方もしてましたよ!
翌日にはほとんどセットアップが完了しているので、とても便利でした。
一例ですが、ライトウェルではこんな感じでワークフローテンプレートを活用していました。
①ドメイン参加前OS設定Playbook
②ドメイン参加後OS設定Playbook
③ソフトウェアインストール用Playbook
④手作業 ←どうしてもAnsibleで自動化できなかった部分を手作業で実施
⑤ライセンス認証Playbook
④の手作業も、承認処理としてワークフロー内に組み込むことで
手作業が終わるまで次のPlaybook実行を待機させておくことも可能です!
このように、PC展開時に必要なPlaybookをつなぎ合わせて1つにジョブにしておくことで
Ansible初心者でもわかりやすく簡単に運用できるようにしていました!
おわりに
自動化を組織として展開していくにあたって、Ansible Towerの導入はとても効果的だと思います!
他にも便利な機能がありますので、ご興味がある方はぜひ弊社までお問い合わせください。
今回の記事のまとめです。
- Ansible TowerはGUIインターフェースでAnsibleの管理ができる
- PlaybookとInventoryをセットにするジョブテンプレートでPlaybookの実行が1クリックでできる
- PC展開ではワークフローテンプレート活用で各作業を1セットにして実行する
個人的にはやっぱり、ロケットボタンクリックでPlaybookを実行できるところが
Ansibleを簡単に触れるようになっていて、いいなと思っています(・へ・)
以上、Ansibleの運用面で大活躍してくれる、Ansible Towerのご紹介でした~。