delegate_to・run_once・localhost への委任
Pro会員限定上級約39分6レッスン
「web サーバーのための作業だが、実行するのは LB」「全台に流すが、DB のマイグレーションは1回だけ」といった処理は、委任で書きます。delegate_to・run_once・serial との組み合わせの罠・コントロールノードへの委任・委任先での変数の見え方を扱います。
対象者: LB の操作やマイグレーションをプレイブックに組み込みたい方 / run_once の挙動で困ったことがある方
前提知識: check_mode に対応したプレイブックとモジュール 修了程度
この教材を終えると、できるようになること
- delegate_to で、対象ホスト(inventory_hostname)のための作業を別のホストで実行できるようになる。
- run_once で、全台に流すプレイの中の1回だけでよい処理(DB マイグレーションなど)を書けるようになる。
- serial を使うプレイでは run_once がバッチごとに1回になることを理解し、プレイ全体で1回にする書き方を選べるようになる。
- delegate_to: localhost で、各ホストの結果をコントロールノードのファイルに集められるようになる。
- delegate_to したタスクで、inventory_hostname や ansible_host などの変数が元のホストのものであることを確かめられるようになる。
修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。
Chapter 1「誰のために」と「どこで」を分けて書く
LB への委任、1回だけの実行、serial との組み合わせ、コントロールノードへの集約、委任先の変数を順に扱います。
Chapter 2確認クイズ
委任の理解度をチェック。