Ansible は、オープンソースの構成管理ツールおよび IT 自動化プラットフォームです。ソフトウェアのプロビジョニング、構成管理、アプリケーションの展開の自動化に役立ちます。
Ansible は他の構成管理アプリとは異なります。これが、Chef、CFEngine、Salt、Puppet などの他の構成管理ツールとの違いです。
Ansible Tower は、Ansible を管理するための Web ベースのインターフェイスを提供します。 Ansible ユーザーは、迅速な導入と構成の監視に使いやすい直感的なインターフェイスを求めていました。
Ansible Tower は Ansible 管理者の対応でした。各言語とすべてのフレームワークには、独自の機能とニュアンスがあります。この投稿では、Ansible、Ansible Tower、Ansible Tower の違いについて説明します。
Ansible の概要
Ansible は、ソフトウェアのプロビジョニングと構成管理を自動化する構成管理用のオープンソース ツールです。 1台のサーバーマシンから複数のマシンを制御および設定できます。

これは、設定がマスター マシンからそのすべてのノードに「プッシュ」されるプッシュベースのシステムで動作します。
構成は YAML を使用して記述されます。これらは理解しやすく、サーバー管理者が作成するのに十分なほどシンプルです。 SSH 経由で動作し、トランスポート層として OpenSSH を使用します。
すべての Ansible 設定は、プレイブックと呼ばれる YAML ファイルのセットに含まれています。このプレイブックにはタスクまたはプレイが含まれています。ノードを構成するには、タスクでモジュールを使用します。
Playbook は、構成を記述できる場所です。 Playbook に記述されたすべてのタスクは同じ順序で実行されます。同期実行と非同期実行の両方をサポートします。
上の画像には複数のホスト マシンが表示されています。これらのホスト マシンは、作成したすべての構成を実行するために使用されます。
Ansible の長所:
- 無料でオープンソースです
- シンプル: Ansible のセットアップに問題はありません
- 強力: Ansible を使用すると、数千のマシンを同時に構成できます
- 柔軟性: 複数の環境で使用できます。
- エージェントレス: Jenkins などのエージェント ノードに依存しません。
- 効率的: 追加のソフトウェアを実行する必要はありません。
Ansible の短所:
- 取り付けが難しい
- Windows では動作しません
- 下位互換性

Ansible Galaxy の概要
Ansible Galaxy を 使用すると、ユーザーはロールを共有および取得できます。 Ansible Galaxy では、サーバー構成で再利用可能なロールの使用を推奨しています。 Ansible Galaxy はプロジェクトでよく使用されます。

Ansible Galaxy は基本的に、Ansible ロールの説明のパブリック リポジトリです。 README はすべての役割に含まれています。これらは、ロールの使用法と変数に関する情報を提供します。
Ansible Galaxy には、絶えず進化し、成長する多くの役割があります。ロールを使用すると、より大きな Playbook を細分化し、構造化された構造を作成できます。独自のロールを変更して、必要に応じて使用できます。
Ansible Galaxy のロール構造
- README.md は 、役割を説明する Readme ファイルです。 Readme ファイルには、ロールの入力パラメータに関するすべての詳細と yml の例が含まれています。
- タスク – すべてのタスクは、タスクのロールによって参加させることができます。ロールのエントリ ポイントは Main.yml です。ここから実行が始まります。このファイルには他のファイルを含めることができます。
- ハンドラー – このカテゴリには、このロールまたは他のロールで使用されるハンドラーが含まれます。
- defaults – ロールのデフォルト変数。
- vars – ロールのデフォルトよりも重要な変数。
- ファイル – これらのファイルは、ロールを使用してデプロイできます。
- テンプレート – このセクションには、役割を介して使用できるテンプレートが含まれています。
- meta – メタデータを使用して、meta 内のロールを定義できます。このファイルには、ロールの依存関係も含める必要があります。
- テスト – 実行される CI テスト。
- library – ロールへのモジュールまたはプラグインの埋め込み。 init コマンドによって作成されたものではありません。このフォルダーに Python でカスタム モジュールを作成し、それをタスクで使用することもできます。
Ansible Galaxy は、ロールを作成および管理できるツールです。 Ansible の新しいバージョンが表示され、変更が加えられます。 Ansible バージョン 2.2.8 にはコレクション機能が搭載されました。 Ansible コンテンツはコレクションとして配布されます。これらは、モジュール、プレイブック、プラグインのパッケージ化と配布に使用されます。
Ansible Galaxy の長所:
- Ansible 関連のコンテンツを一元的に検索、再利用、共有します
- アプリケーションをインストールするための再利用可能なロールを簡単にダウンロード
- 導入速度の向上
Ansible Galaxy の短所
- コミュニティ主導型であるため、モジュールの作業は保証されません
- Ansible Galaxy ロールの多くにはドキュメントが不十分です
- ほとんどの Ansible Galaxy ロールはべき等ではありません
Ansible タワーの概要
Ansible Tower は Ansible の UI です。これは、さまざまなタイプの IT チームが使用できる Web ベースのソリューションです。
Ansible Tower は車のダッシュボードにたとえることができます。ダッシュボードには、車の状態に関する必要な情報 (速度、オイル レベル、ガソリン残量など) がすべて表示されます。Ansible Tower はダッシュボードのように見えますが、Ansible はエンジンです。

Ansible Tower を使用すると、ユーザーはグラフィカル ユーザー インターフェイスを介してタスクをリモートで実行できます。 Ansible ジョブは Playbook 経由で実行できます。これらの Playbook は、Ansible CLI を使用して実行できます。ただし、Ansible Tower では、GUI を通じてプレイブックの管理と実行を行うことができます。
既存の Playbook を実行することも、独自の Playbook を作成することもできます。 Ansible Tower は統合された通知も提供します。これにより、ジョブが完了または失敗したときに特定のチームに通知を受け取ることができます。この種の相互コミュニケーションは、どの組織にとっても不可欠です。
また、ジョブの実行を許可されているユーザーを確認できるロールベースのアクセス制御 (RBAC) も提供します。これにより、特定のユーザーのみが Ansible Tower でジョブを実行できます。これは、業界のセキュリティ規制に準拠するために必要となることがよくあります。
RBAC を提供し、いつでも誰がどのジョブを担当したかを詳細に示す監査ログも表示します。これにより、Ansible を単独で使用する場合には見つけにくい追加のセキュリティが提供されます。
Ansible Tower では、さまざまなアプリケーションでリモート コードを実行できます。 VM が間違った状態にあるため、再起動が必要になる場合があります。Ansible Tower を使用すると、これを簡単かつ安全に行うことができます。
ソフトウェアをリモートでインストールすると、セキュリティ ホールを迅速に修正したり、パスワードをリセットしたりすることができます。 Ansible Tower は、Ansible を通じてデプロイされたすべてのネットワーク インフラストラクチャと VM のワンストップ ショップです。
Ansible Tower は、Ansible とは異なり、無料ではありません。 Ansible Tower には、Premium と Standard の 2 つのバージョンがあります。どのバージョンが最適であるかは、あなたとあなたの会社の IT 要件次第です。 Standard エディションは、ほとんどの IT 運用に適しています。 Premium は、ミッションクリティカルな DevOps 向けに設計されています。
Red Hat に連絡すると、正確な 価格 情報が提供されます。 Standard エディションの費用は、100 ノードで年間約 10,000 ドルになります。プレミアムでは、同じノード数に対して年間約 14,000 ドルがかかります。
Ansible Tower の長所:
- シンプルなレイアウト
- ワークフロー管理のための CI/CD パイプラインの構築を支援します
- ジョブをスケジュールし、すべてのエラーを通知することができます
- グラフィック在庫管理
- セットアップがとても簡単
Ansible Tower の短所:
- 高い
- サブスクリプションベース
- マージ競合の解決は不可能または不明瞭です
- デバッグは複雑です
Ansible 対 Ansible Galaxy 対 Ansible Tower
Ansible は IT 自動化ツールとして使用できます。ソフトウェアを導入してシステムを構成できます。また、継続的な導入やダウンタイムゼロのロールアップ更新など、より複雑な IT タスクを調整することもできます。 Ansible の主な目標は、シンプルさと使いやすさです。
一方、Ansible Tower は、「Mac および Windows 用の最も強力な Git クライアント」と言われています。 Git のすべての強力な機能を、より生産性の高い GUI で使用できます。 Ansible Galaxy を使用して Ansible ロールを保存できます。 Ansible Galaxy は、Python の PyPI または Java の Maven に相当します。
Ansible Tower は Ansible なしでは使用できません。 Ansible Tower は Ansible Tower と併用できます。 Ansible は、インフラストラクチャの管理と展開を推進するエンジンです。
Ansible Tower を使用すると、すべての内部の仕組みを確認できます。これにより、組織のインフラストラクチャのセキュリティ コンプライアンスを確認および制御できます。
Ansible Tower は、Ansible デプロイメントに RBAC を提供できます。 Ansible Tower は、インフラストラクチャをレビューするコーディングのスキルを持たない専門家を探している場合にも最適な選択肢です。
Ansible、Ansible Tower、Ansible Galaxy の比較:
アンシブル | Ansible タワー | アンシブルギャラクシー |
オープンソースの構成管理ツール | Ansibleのユーザーインターフェース | ロールとコレクションのリポジトリ |
CLI を介して Playbook を実行します | GUIを介してプレイブックを実行します | CLIを使用してansible-galaxyを実行します |
2012 年に最初のリリース | 2015 年に最初のリリース | 2016 年に最初のリリース |
無料で使用できます | 100 ノードで年間 5000 ドルから | 無料で使用できます |
セットアップと使用が非常に簡単 | Ansible 環境全体の可視性を実現します | さまざまな Playbook でコードのブロックを再利用できます |
結論
以上、Ansible、Ansible Tower、Ansible Galaxy と、Ansible、Ansible Galaxy、Ansible Tower の違いについて説明しました。 Ansible Tower は非常に高価であるため、組織は Ansible Tower に関する要件を検討する必要があります。しかし全体として、Ansible は Linux のような環境にとって優れた CM ツールです。
Ansible で自動化できるシステム管理タスクにも興味があるかもしれません。