Galaxy 集合Git 役割の二源で律速が分岐する CI 向けに、ansible.cfgforks/timeoutansible-galaxy --timeoutTMPDIRANSIBLE_COLLECTIONS_PATHS、並列取得と指数バックオフを一枚化します。ホーム技術ブログGit/Docker プル加速ガイド

二源の対比

集合は Hub/API+ tarball、役割は git+https の RTT と認証が支配的。ansible-galaxy collection installrole install(または先立ち git clone)をログ上で分離してください。

  • 429/5xx 多発 → Galaxy の --timeout と同時パイプラインを先に抑える。
  • forks はホスト並列。HTTP 並列や xargs -P と混同しない。

実行パラメータ表(ansible.cfg・環境・CLI)

出発点。出口 NAT・同時パイプライン p と掛け算して上限を見積もります。

キー/手段設定箇所推奨初期値メモ
forks[defaults] または -f10〜25SSH ホスト並列。
timeout[defaults]60→90SSH。
retriesdelayタスク3/5一時障害。
--timeoutgalaxy CLI120〜300API/tarball。
TMPDIR環境SSD 上 mktemp展開先。
ANSIBLE_COLLECTIONS_PATHS環境runner 恒久req ハッシュを CI キーに。
並列 Gitxargs -P2〜4枯渇→2。
退避シェル2・4・8・16sgalaxy を包む。
コピペ例(集合+バックオフ)
export TMPDIR="$(mktemp -d /var/tmp/ag.XXXXXX)"
export ANSIBLE_COLLECTIONS_PATHS="/var/lib/ci/ac"
mkdir -p "$ANSIBLE_COLLECTIONS_PATHS"
for s in 0 2 4 8 16; do
  [ "$s" -gt 0 ] && sleep "$s"
  ansible-galaxy collection install -r collections/requirements.yml \
    -p "$ANSIBLE_COLLECTIONS_PATHS" --timeout 240 && break
done

決定マトリクス(シナリオ別)

シナリオGalaxyGit 役割並列の扱いキャッシュ鍵
社内 Hub低 RTT、単一サーバDeploy Keyforks 中程度可req ハッシュ+core 版
跨境+公開 Galaxy--timeout 長め、429 でジョブ削減浅複製、xargs -P 2〜4forks と HTTP 同時増加を避けるcollections/roles を別キー
ハイブリッド先に collection 固定パス別 TMPDIR で roles二段ログで律速分離二層キャッシュ

プリフライト・チェックリスト

  • 構文チェックで意図パスから読込めている。
  • 失敗ログを HTTP と git に分類済み。
  • TMPDIR は SSD または検証済み NFS。

まとめ

Galaxy と Git を別律速にし、表の数値+シェル退避で外向き揺らぎを吸収するのが扱いやすいです。取得律速ならリージョンに近いリモート Mac へ寄せるプラン昇格で帯域を上げるのが効きます。

ホーム料金購入(ログイン不要)・ヘルプブログ一覧

Ansible × リモート Mac

取得が律速なら、ノードのリージョンと帯域をセットで見直す

ヘルプ購入ホームはログイン不要で閲覧できる範囲です。