はじめに
本記事では、Google Cloud のVMサービスであるCompute Engine を使っていると必ず登場する マネージドインスタンスグループ(Managed Instance Group / MIG) について整理します。
マネージドインスタンスグループ(MIG)
インスタンスグループとは同一構成のVMインスタンスをまとめて管理する仕組みであり、さらにマネージドインスタンスグループ(MIG)では管理を自動化する機能が提供されます。
Google Cloudのインスタンスグループ作成画面では以下の3種類の項目が存在します。
インスタンスグループはインスタンスの自動的な増減(オートスケーリング)を目的とした使用が多く、またGoogle Cloudの設計原則としてステートレスが推奨されるため、基本的にはステートレスのマネージドインスタンスグループを選択されることが多いかと思います。
非マネージドなインスタンスグループではオートスケーリングが使用不可
ステートフルなマネージドインスタンスグループではオートスケーリングによるインスタンス削除時にデータ消失の恐れがある
マネージドインスタンスグループ(MIG)使用のメリット
マネージドインスタンスグループ(MIG)の使用により以下を実現できます。
- スケーラビリティ
- 高可用性
- 自動復旧
- 安全なアップデート
スケーラビリティ
オートスケーリング機能によるスケーラビリティの確保が可能であり、インスタンスの追加・削除の上限値や、スケーリング実施条件などを指定できます。
高可用性
インスタンスはマルチゾーン構成を取ることが可能であり、1つのゾーンで障害が発生した場合でも他のリージョンのインスタンスを使用することで可用性を確保できます。

自動復旧
インスタンスのヘルスチェックを継続的に実施して、障害発生を検知した場合に対象インスタンスの自動修復を実施することが可能です。
安全なアップデート
インスタンスのアップデートを実施する場合、一部のインスタンスのみを対象にアップデートを実施することで、サービス提供を止めずに順次アップデートを実施する運用が可能です。
おわりに
マネージドインスタンスグループ(Managed Instance Group / MIG) の整理は以上です。


