Ansibleインベントリとそのタイプについての解説


Ansibleインベントリには、いくつかのタイプがあります。以下に、一般的なAnsibleインベントリのタイプとそれぞれの説明を示します。

  1. フラットインベントリ:ホストとその属性を単一のファイルに記述するタイプです。ホスト名とIPアドレスのペアや、ホストのグループなどを定義することができます。例えば、以下のような形式です。
webserver1 ansible_host=192.168.1.10
webserver2 ansible_host=192.168.1.11
[webservers]
webserver1
webserver2
  1. INIファイル形式のインベントリ:INIファイル形式を使用して、ホストやグループの階層構造を定義することができます。以下は、INIファイル形式の例です。
[webservers]
webserver1 ansible_host=192.168.1.10
webserver2 ansible_host=192.168.1.11
[database]
dbserver1 ansible_host=192.168.1.20
dbserver2 ansible_host=192.168.1.21
[all:vars]
ansible_user=ubuntu
  1. 動的インベントリ:外部ソース(例:クラウドプロバイダ、データベース、APIなど)からホストリストを動的に生成することができます。動的インベントリは、環境のスケーラビリティと柔軟性を向上させるのに役立ちます。

  2. YAMLインベントリ:YAML形式を使用して、ホストやグループの階層構造を定義することができます。以下は、YAML形式の例です。

webservers:
  hosts:
    webserver1:
      ansible_host: 192.168.1.10
    webserver2:
      ansible_host: 192.168.1.11
database:
  hosts:
    dbserver1:
      ansible_host: 192.168.1.20
    dbserver2:
      ansible_host: 192.168.1.21
all:
  vars:
    ansible_user: ubuntu

これらは一般的なAnsibleインベントリのタイプのいくつかです。Ansibleでは、これらのインベントリを使用して、ホストやグループの属性、変数、タグなどを定義し、特定のタスクを実行する際に使用します。