APC Automation blog

株式会社エーピーコミュニケーションズの自動化ブログです

AWX / Automation Controller (旧Ansible Tower) とはなにか

AWX / Automation Controller (旧Ansible Tower) とはなにか

Ansibleは単体でも利用可能な自動化ツールですが、Ansibleを補強し、組織において高い利便性とセキュリティを考慮した運用を行うために、管理ツールが提供されています。

以下では、その管理ツールであるAWX/Automation Controller [旧 Ansible Tower] について解説いたします。

AWX / Automation Controller概要

Automation Controllerは、旧称であるAnsible Towerからのメジャーバージョンアップ製品となり、2022年5月時点での最新バージョンは4.2となります。

(画像引用元: https://www.redhat.com/ja/blog/whats-new-in-ansible-automation-platform-2-automation-controller)
Ansible TowerとAutomation Contorllerの最大の違いは、コントロールプレーン(UI、API、ワークフローなど)と、実行環境が完全に分離されている点です。このため、スケーリングする際のオーバーヘッドが低減され、自動化を拡張し、提供できるようになります。

AWX / Automation Controllerの主要機能

次に、Automaton Controllerの主な機能を簡単にご説明します。

ダッシュボードによる視覚化

(画像引用元: “Ansible: Up and Running, 3rd Edition” early release. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-4 Ansible Automation Controller dashboard)

Automation Controllerを導入することでダッシュボード(GUI)が利用可能となります。

実行ジョブや処理結果などが可視化されることに加えて、メールやチャットツールによる処理結果の通知が利用可能となるため、利便性が大きく向上します。

ロールベースの権限管理とセキュリティ強化

(画像引用元: “Ansible: Up and Running, 3rd Edition” early release. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-6 User Management)

Ansibleを用いると、わずかな操作で数百、数千といった対象への構成管理が実施できます。別な見方をすると、「悪意のある操作または意図しない操作が行われた場合、その影響が非常に大きい」ことを意味します。

Ansible単体では権限管理機能を持っていませんが、Automation Controllerを用いることで「ユーザー/チーム/組織などの単位での、読み取り/書き込み/実行の権限管理」が行えます。よって、各ユーザーが業務を遂行するうえで必要なだけのリソースを制御できるように、管理対象範囲を限定できます。

また、Azure AD、LDAPSAMLGoogle OAuth2などのサードパーティーの認証システムを利用することも可能となっています。また、ジョブの実行時に使用するパスワードや秘密鍵などの認証情報を暗号化する機能があるため、セキュリティの向上にも寄与します。

ジョブのコントロール

(画像引用元: “Ansible: Up and Running, 3rd Edition” early release. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-11 Ansible Automation Platform job entries)

Automation Controllerを利用することで、以下のような高度なジョブ管理が可能となります。

  • ジョブの並列実行
  • ジョブスケジューリングによる柔軟な実行制御

これらの機能を用いることで、短時間でのジョブ完了やジョブの自動実行が可能となります。

ジョブテンプレート

(画像引用元: “Ansible: Up and Running, 3rd Edition” early release. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-10 Ansible Automation Platform job templates)

Ansible Controllerでプレイブックを実行するには、まずジョブテンプレートを定義する必要があります。ジョブテンプレートとは、プレイブックを含む、ジョブを実行するために必要なパラメータのセットで、プレイブックを同じ条件で何度も実行する場合に便利です。

ジョブの実行結果はDBへ記録されるため、過去の実施内容についていつでも確認可能となります。

REST API

(画像引用元: “Ansible: Up and Running, 3rd Edition” early release. O’Reilly Media Inc. Capter 23. Ansible Automation Platform Figure 23-13 Ansible Automation Platform API version 2)

Automation Controllerは、REST APIに対応しているため、他システムとの統合が容易となります。

なお、管理ツールにはOSS版である「AWX」と、商用版である「Automation Controller」があります。この2つの製品は、ジョブ実行などの基本的な機能は同様ですが、以下の点で違いがあります。

  AWX(OSS版) Automation Controller(商用版)
本番環境での利用 非推奨 安定性と安全性に優れている
製品リリース 最低限のテストでリリース エンタープライズ環境で利用できる安定バージョンをリリース
アップグレード 最低限のテストでリリース 製品ライフサイクル期間内の複雑なアップグレードテストも実施
セキュリティパッチ・バグフィックス 最新バージョンのみ提供 製品ライフサイクル期間内の全バージョンに提供
公式サポート なし あり

OSS版であるAWXは、テスト環境での利用や新機能の評価に適していますが、本番環境での利用は非推奨です。商用版は、長期的なライフサイクルや安定的に動作するバージョン、そしてサポートが提供されています。本番環境で利用する場合は、商用版が推奨されています。

AWX / Automation Controllerは導入すべきか

これまでお伝えしてきた通り、Automation Controllerは、ジョブコントロールや権限管理など、組織においてAnsibleを利用する上で有用な機能を提供します。

よって、企業や官公庁といった組織においてAnsible導入を検討する場合は、Automation Controllerの導入も検討すると良いでしょう。

Automation Controllerを試してみたい場合は、Red Hatの公式サイトより60日の評価版をダウンロード可能です。また、期間制限のないOSS版のAWXは、Ansible公式サイトよりダウンロードできます。なお、AWXは本番環境での利用が推奨されていないため、注意が必要です。


<ネットワーク自動化のお悩みは、エーピーコミュニケーションズにご相談ください>

ネットワーク自動化サービス「Automation Coordinator」
お客様ごとの最適な業務プロセスコンサルティングを含めたAnsibleによる自動化の導入(実際の運用)、ハイスキルなエンジニアによる並走型支援、クライアントワーク、チケットサポート、最終的にはお客様が自動化を自律して運用するためのスキル習得トレーニングまでをパッケージ化して提供するネットワーク運用の自動化支援サービスです。

APC-ACT
ACT(Automation Colabo Team)は株式会社エーピーコミュニケーションズ(APC)の自動化に特化したチームです。現在は特にネットワーク自動化に重点を置いています。
当ブログは、執行役員 名田と、マーケ担当 嶋津が主に情報発信を行っています。