Dev Classmethod Jp Articles Managed Instance Group Update Methods Overview
マネージドインスタンスグループ(MIG)のアップデート方式を整理してみた
- URL: https://dev.classmethod.jp/articles/managed-instance-group-update-methods-overview
- 日付: 2026-06-25
- Tier: Tier 2
- 要旨: Google Cloud の MIG アップデート方式を整理。ローリング・カナリア・選択的の3パターン、さらに REFRESH/RESTART/REPLACE の中断レベル制御で細粒度を実現。テンプレート変更の波及範囲と速度のバランスに応じて使い分ける。
詳細
MIG 管理下の VM 更新は自動と選択的に分かれる。ローリングアップデートは –type=proactive で全 VM に順次適用、max-surge と max-unavailable で並列度制御。4 VM なら max-surge=1 max-unavailable=1 で、アップデート中は最大 5 台、常に 3 台以上稼働。カナリアアップデートは –canary-version で一部(例1台)だけ新テンプレート適用、本体は旧版のまま。問題なければロールフォワードで全体展開、問題あれば素早くロールバック。ロールバック時 max-unavailable=100% で全 VM を一斉置換し最短復旧。選択的アップデートは –type=opportunistic で自動展開を禁止、VM 起動時だけ新設定が適用される。編集操作で特定 VM へ個別更新も可能。中断レベルは REFRESH(停止なし:メタデータ・タグのみ)、RESTART(停止再起動:マシンタイプも可)、REPLACE(完全置換:デフォルト、インスタンス名も変わる)。ローリング中の待機は wait-until –version-target-reached でポーリングなし。describe コマンドで currentActions 確認(creating/deleting 表示)、list-instances で各 VM の INSTANCE_TEMPLATE 確認。テンプレート v1 → v2 では SUBSTITUTE 方式(古い置換)が標準で、インスタンス名は新しく付与される。Blue-Green デプロイパターンや段階的検証を gcloud コマンド1本で実現できる。