Ansible構築入門

Ansibleは「自動化ツール」の一つで、コードで定義された「Playbook」を実際のインフラ環境に適用し構築・設定を自動化することができます。

この「自動化ツール」は様々な物が存在します。例えば以下の様なツールが有名です。

  • Chef
  • Puppet
  • Terraform

Ansibleはこれらの自動化ツールとは違い「エージェントレス」であることが特徴となります。


Ansibleのメリットは「エージェントレス」

ここで言う「エージェント」と言うのは管理対象となるマシンに設定している「プログラム」となります。

Ansibleではこの「エージェント」を必要としないため、SSHで対象機器にアクセスすることができれば管理が可能となり、わざわざエージェントをインストール・導入したり、エージェントの管理などの手間は省けます。

SSHアクセスできる環境下であれば、利用できるので自動化のハードルも低くなります。


Playbookで簡単にインフラ構成を定期する

Playbookは簡単な文法を作成するだけで、インフラ機器の構築・管理ができます。

初めてPlaybookを読んだとしても、比較的理解しやすく、簡単に設定・構築を実施することが可能になります。


マルチベンダーな環境に対応

AnsibleはLinuxサーバーだけではなく、そのほかのマルチベンダー、ネットワーク機器(Cisco、Juniper...etc)、WindowsなどのOSも管理することが可能です。

それぞれのベンダーや環境関係なく、一元管理された方法でインフラ設定・構築を自動化することが可能になります。

例えば、ネットワーク機器は「マクロ」、Windowsサーバーは「PowerShell」と言うそれぞれの自動化ではなく、Ansibleでまとめて管理することが可能になります。


Ansibleは冪等性(べきとうせい)に優れており、条件が満たされていれば処理をスキップする

Ansibleは一部のモジュールをのぞき、冪等性を保証する設計となっています。例えば、OSアップデートのPlaybookを実施した際、対象のOSが最新であることが保証されることが前提条件となり、このPlaybookを実行しても、対象のOSが最新のバージョンであれば、再度アップデートを実行される事はありません。

Ansibleは様々なマルチベンダー機器に対応しており、インフラ構築の自動化に優れたツールとなります。構築方法は以下、もしくは左タブメニューを参考にしてください。


Ansibleインストール

Ansibleのインストール方法(CentOS8環境)を紹介します。

Ansibleインストール

Adhocコマンドの実行方法

Ansibleで利用できる「Adhocコマンド」について紹介します。

Adhocコマンド