Ansible とは

【トピックス】

構成管理ツール

  • Ansible は「構成管理ツール」の 1 つです。

  • 構成管理ツールは対象の「あるべき状態」を維持するためのツールです。

    • 対象が「あるべき状態」のとき、構成管理ツールは何もしません = 何もする必要がありません。
    • 対象が「あるべき状態」と異なるとき、構成管理ツールは対象を「あるべき状態」に変更します。
  • Ansible は対象の「あるべき状態」を定義し、それを対象に適用します。


動作イメージ

  • Ansible は「インベントリファイル」と「プレイブックファイル」の 2 つのファイルを読み込み動作します。
  • 「インベントリファイル」に Ansible が管理する対象(管理対象ホスト)の情報を記載します。
  • 「プレイブックファイル」に 対象の「あるべき状態」を記載します。
../_images/2020-04-18_15h26_55.png
  1. Ansible サーバーで Ansible がプレイブックファイルの内容をもとに Python コードを生成します。
  2. Ansible サーバーからインベントリファイルに記載した管理対象ホストに生成した Python コードを sftp で転送します。
  3. 管理対象ホストは受け取った Python コードを実行します。
  4. 管理対象ホストは Python コードを実行終了後に削除します。

Ansible の用途

Ansible は主に次の用途に使用されます。

  • 端末のデプロイ = OS をインストールした後に、各種のミドルウェアをインストールおよび設定
  • 端末のメンテナンス = ユーザー作成、パッチの適用、設定変更 等
  • 端末から各種情報の収集

注釈

ここでいう「端末」は、サーバーやネットワーク機器を指します。