0Pricing
Ansible Academy · レッスン

INIとYAMLのインベントリファイル

両方のインベントリ形式でホストを記述します

「INIとYAMLのインベントリファイル」はCoddyKit上の無料Ansible Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAnsible Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ansible Academyコースには全4レッスンが含まれています。

インベントリとは

インベントリは、Ansibleが管理できるホストを一覧にしたファイルです。ホストが1台も記載されていなければ、自動化する対象はありません。

対応している2つの形式

Ansibleは、従来のINI形式と、構造化されたYAML形式という2種類のインベントリを読み取ります。1つのファイルでは、どちらか一方を選びます。

最も簡単なINIインベントリ

INI形式では、1行に1ホストを記述するだけで始められます。このファイルですでに2台のWebサーバーを管理できます。

web1.example.com
web2.example.com

角括弧で示すINIグループ

INIグループの見出しは角括弧で囲み、その下にあるすべてのホストが次の見出しまでそのグループに所属します。

[web]
web1.example.com
web2.example.com

YAMLで同じ構成

YAML形式では、すべての内容をallというトップレベルのキーの下に置き、その下にグループ、さらにホストを配置します。記述量は増えますが、大規模になるほど明確です。

all:
  children:
    web:
      hosts:
        web1.example.com:
        web2.example.com:

YAMLのホストはコロンで終わる

YAMLでは各ホストがマッピングのキーになるため、コロンで終わり、値は空になります。この空の値には、後から変数を格納できます。

hosts:
  db1.example.com:

Ansibleにファイルを指定

-iフラグで、コマンドに使用するインベントリを指定します。指定しない場合、Ansibleは/etc/ansible/hostsにフォールバックします。

ansible all -i inventory.ini --list-hosts

Ansibleが認識する内容を確認

--list-hostsを実行すると、ファイルを正しく解析でき、想定したホストが表示されることを確認できます。最初の健全性チェックに最適です。

ansible web -i inventory.yml --list-hosts

allグループは自動で付く

一覧に記載したすべてのホストは、自動的に組み込みのallグループに所属します。このグループを対象にすると、管理対象全体に一度に処理を実行できます。

ansible all -i inventory.ini -m ping

小規模にはINI、大規模にはYAML

簡単でフラットな一覧にはINIを選び、入れ子のグループや多数の変数が必要になったらYAMLを使います。

ファイル拡張子に注意

Ansibleは内容からパーサーを推測しますが、.iniや.ymlのように明確な拡張子を付けると、チームメンバーやエディターにとって扱いやすくなります。

確認テスト

YAML形式のインベントリでホストを記述しています。各ホストはどのように記述されますか。

まとめ

インベントリには、INIまたはYAML形式でホストを一覧にします。INIはフラットで手早く、YAMLはallの下に入れ子にして、より豊かな構造を表現できます。📋

よくある質問

「INIとYAMLのインベントリファイル」レッスンは無料ですか?

はい。「INIとYAMLのインベントリファイル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ansible Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ansible Academyコースには全4レッスンが含まれています。

「INIとYAMLのインベントリファイル」で何を学びますか?

両方のインベントリ形式でホストを記述します ブラウザで直接実行するハンズオンコードでAnsible Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Ansible Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAnsible Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「INIとYAMLのインベントリファイル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAnsible Academyレッスンでコードを書いて実行できますか?

はい。すべてのAnsible Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. INIとYAMLのインベントリファイル
  2. ホストのグループ化:web、db、app
  3. ネストしたグループとchildrenキーワード
  4. インベントリのホスト変数とグループ変数
← Ansible Academyに戻る