Ansible(1)Ansibleの概要

Ansible

Ansibleとは

Ansibleは、インフラストラクチャを自動構成可能(Infrastructure as Code)な構成管理ツールで、作業の省人化と効率化によるコスト削減やコード化による高度な品質保証を実現することができる。

Ansibleは、操作対象マシンにエージェントアプリケーションをインストールすることが不要(エージェントレス)であることが特徴で、SSHでログインできる端末であれば操作可能となるので、エージェントアプリケーションをインストールすることができないネットワーク機器なども、Ansibleの操作対象とすることができる。

Inventory

操作対象となるマシンへの接続情報を記したファイル。API経由でマシンへの接続情報を収集してInventory情報を自動生成するDinamic Inventryという機能を使用することもできる。INI形式もしくはYAML形式で記述できる。グループを定義して[グループ名 vars]でグループごとの変数を定義することができる。

変数名 内容
ansible_user SSHでログインするユーザ
ansible_ssh_pass SSHでログインする際のパスワード
ansible_ssh_private_key_file SSHでログインする際の秘密鍵
ansible_become root権限で実行する

Playbook

site.ymlとして定義されるマスタープレイブック。実行するプレイを順に羅列する。

変数名 内容 備考
name
hosts
remote_user
vars_files
roles
environment

Module

Ansibleで実行するコマンド。YAMLで記述する。変更が生じるときのみ実行され、ある操作を何度事項しても常に同じ結果となる冪等性を担保している。