strategy・forks・throttle でスループットを設計する
Pro会員限定上級約40分6レッスン
台数が増えると、プレイブックの所要時間とリソースの取り合いが問題になります。timer コールバックで所要時間を測り、forks・strategy: free・throttle を使い分け、ansible.cfg に設計として残します。
対象者: 数十台以上に流すと時間がかかりすぎる方 / 同時実行で外部のサービスに負荷をかけてしまった方
前提知識: delegate_to・run_once・localhost への委任 修了程度
この教材を終えると、できるようになること
- コールバックプラグイン(ansible.posix.timer)を有効にして、プレイブックの所要時間を測れるようになる。
- forks(-f)がタスクを同時に実行するホストの数であることを説明し、台数に合わせて増やせるようになる。
- strategy: linear と free の違い(タスクごとに全ホストを待つか、ホストごとに先へ進むか)を説明し、使いどころを判断できるようになる。
- throttle で、特定のタスクだけ同時に実行するホストの数を絞れるようになる。
- forks や callbacks_enabled を ansible.cfg に書き、ansible-config dump --only-changed で効いている設定と出どころを確かめられるようになる。
修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。
Chapter 1速く、でも壊さずに流す
所要時間の測り方、並列数、遅いホストとの付き合い方、タスクごとの同時実行の制限、設定の残し方を扱います。
Chapter 2確認クイズ
スループット設計の理解度をチェック。