インベントリ設計: グループの深さと変数の優先順位
Pro会員限定上級約38分6レッスン
グループが増えると「どの group_vars が勝つのか」が分からなくなり、本番で意図しない値が配られます。ansible-inventory で変数の出どころを確かめ、グループの深さと ansible_group_priority で優先順位を設計します。
対象者: 複数チームで同じインベントリを触っている方 / group_vars が増えて値の出どころが追えなくなった方
前提知識: Ansible中級 卒業試験 修了程度(group_vars / host_vars・複数環境の運用を知っていること)
この教材を終えると、できるようになること
- ansible-inventory --graph で、ホストがどのグループに属し、グループがどう入れ子になっているかを読めるようになる。
- ansible-inventory --host で、あるホストに最終的に効く変数を確かめられるようになる。
- グループ変数の優先順位(深さ・ansible_group_priority・名前)を説明し、子グループにして意図どおりの値にできるようになる。
- host_vars がグループ変数より強いことを、アドホックの debug で全台まとめて確かめられるようになる。
- 同じ深さのグループ同士の優先順位を ansible_group_priority で明示でき、それをどこに書くべきかを説明できるようになる。
修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。
Chapter 1変数が「どこから来たか」を説明できるようにする
グループの構造を読み、勝つ変数を確かめ、深さと優先度で意図どおりに直します。
- 本番のグループ構造を読む(--graph)上級ラボの作業場と、本番インベントリの全体像約6分(有料会員限定)
- 変数の出どころを調べる(--host)カナリアのはずの web01 に、新しい版が配られない約7分(有料会員限定)
- 深いグループが勝つ: canary を web の子にするgroup_vars の優先順位は「深さ → 優先度 → 名前」約8分(有料会員限定)
- ホスト単位の例外を確かめる(host_vars とアドホック)web03 だけワーカー数が違う理由をたどる約6分(有料会員限定)
- 同じ深さなら名前順: ansible_group_priority で明示する監査対象の web01 に debug ログが出ている約7分(有料会員限定)
Chapter 2確認クイズ
グループ変数の優先順位の理解度をチェック。