Ansibleインベントリには、いくつかのタイプがあります。以下に、一般的なAnsibleインベントリのタイプとそれぞれの説明を示します。
- フラットインベントリ:ホストとその属性を単一のファイルに記述するタイプです。ホスト名とIPアドレスのペアや、ホストのグループなどを定義することができます。例えば、以下のような形式です。
webserver1 ansible_host=192.168.1.10
webserver2 ansible_host=192.168.1.11
[webservers]
webserver1
webserver2
- 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
-
動的インベントリ:外部ソース(例:クラウドプロバイダ、データベース、APIなど)からホストリストを動的に生成することができます。動的インベントリは、環境のスケーラビリティと柔軟性を向上させるのに役立ちます。
-
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では、これらのインベントリを使用して、ホストやグループの属性、変数、タグなどを定義し、特定のタスクを実行する際に使用します。