Ansible
概要
Ansibleとは、システム設定やソフトウェアの導入(インストール)などを自動化、効率化する構成管理ツールの一つ。米レッドハット(Red Hat)社が開発・販売しており、オープンソースソフトウェアとしても公開されている。従来はシステム管理者が個別に操作していた、ソフトウェアパッケージの導入やオペレーティングシステム(OS)の設定変更、ユーザーアカウントの管理などを「プレイブック」(playbook)と呼ばれる設定ファイルに基づいて自動的に処理してくれる。
プレイブックには操作や手順を直接記述せず、システムの個々の要素があるべき姿を書き入れ、これを元に最適な操作をAnsibleが判断して実行する。プレイブックの記述はYAML(YAML Ain’t Markup Language)と呼ばれる簡易なデータ記述言語で行うため、プログラミングの知識や技能がなくても設定ファイルの作成・編集が可能である。
プレイブックを他のコンピュータに配布して自動設定するクライアントサーバ型の運用も可能だが、他の多くの構成管理ツールと異なり、クライアント側にあらかじめ専用のソフトウェアを導入する必要がなく、SSH接続が可能でPythonプログラムが実行可能であるだけで良い。
機能や管理対象は「モジュール」を単位に構成されており、後から追加して拡張することができる。標準モジュールとして、任意のシェルコマンドを実行する「shell」、ファイルやディレクトリの属性を変更する「file」、サーバのファイルをクライアントに複製する「copy」などがある。
標準で100以上のモジュールが組み込まれており、第三者が作成して公開しているモジュールを取り込むこともできる。各種のクラウドサービスに対応したモジュールやネットワーク機器を対象とするモジュールなどが公開されている。
Ansibleの初版は米アンシブル(Ansible)社が2012年に発表した。同社は2015年にレッドハットに買収され、以降は同社が製品に関する権利を引き継いでいる。Linuxをはじめとする各種のUNIX系OSやmacOS、Windowsに対応する。同社ではサポート付きの有償版を販売しているが、ソフトウェア本体はGPL(GNU General Public License)に基づきオープンソースとして公開されている。