マネージド インスタンス グループ(MIG)は、使用する構成コンポーネント(インスタント テンプレート、オプションのすべてのインスタンス構成、オプションのステートフル構成)に基づいて、それぞれのマネージド インスタンスを作成します。
各マネージド インスタンスは、MIG 内の実際の仮想マシン(VM)インスタンスの目的の状態を表すデータ エンティティです。
このドキュメントでは、MIG 内のマネージド インスタンスを確実に操作する方法について説明します。たとえば、特定のインスタンスに関する情報の追加、削除、更新、表示が必要になることがあります。
構成の変更が MIG によって元に戻されないように、このドキュメントで説明する方法を使用することが重要になります。グループの MIG の VM を変更する方法以外の作業を行うと、MIG がこれらの VM がグループの意図した構成を使用していないことを検出または検出せず、予期しない結果が発生することがあります。たとえば、必要なインスタンス グループ マネージャー API ではなくインスタンス API を使用して MIG 内の VM を削除または更新すると、MIG はインテントを認識せず、今後、MIG は、MIG の構成に従って VM の再作成や復元を自動的に試行することがあります。
始める前に
- このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合は、API アクセスを設定します。
- 制限事項を確認して、グループを作成します。
マネージド インスタンスとは
マネージド インスタンスとは、実際の VM インスタンスの現在のステータスと目的の状態が含まれる、MIG 内のデータ エンティティです。
マネージド インスタンスの現在のステータスには次のフィールドが含まれます。
- インスタンスのライフサイクルのステータス(例:
RUNNING
、STOPPING
)。 - MIG がインスタンスに対して実行している現在のアクション(例:
RESTARTING
、VERIFYING
、NONE
)。 - インスタンスの健全性(例:
HEALTHY
、UNHEALTHY
)。
実際の VM インスタンスに対するマネージド インスタンスの目的の状態には次のものがあります。
図 1 のように、MIG 内の各マネージド インスタンスについて、MIG はそのマネージド インスタンスの仕様に従って実際の VM を稼働中の状態にします。
図 1:マネージド インスタンスと対応する VM の関係
マネージド インスタンスの仕様を表示するには、MIG 内のマネージド インスタンスに関する情報を表示するをご覧ください。
インスタンスを MIG に追加する
インスタンスを MIG に追加するには次の方法があります。
- MIG のサイズを手動で設定する。
- ステートレス アプリケーションに自動スケーリングを使用する。
- 特定の名前を持つインスタンスを作成する。
新しく追加されたインスタンスが稼働していることを確認するには、グループのステータスを確認するか、マネージド インスタンスのステータスを確認します。
手動によるサイズ変更
マネージド インスタンス グループの自動スケーリングが設定済みでない場合、グループのサイズを手動で設定して、グループ内のインスタンスの数を変更できます。MIG を手動でサイズ変更するをご覧ください。
自動スケーリング
マネージド インスタンス グループは、インスタンスがその負荷に応じて自動的に追加や削除されるように構成できます。トラフィックの増加をアプリケーションで適切に処理できると同時に、コンピューティング リソースの必要性が低下した場合には費用を抑えることができます。MIG の自動スケーリングの詳細については、インスタンスのグループの自動スケーリングをご覧ください。
特定の名前を付けたインスタンスを追加する
特定の名前に依存するシステムがある場合は、それらの名前を持つ VM を既存の MIG に追加できます。このようなマネージド インスタンスに割り当てた名前は、MIG により VM が再作成された場合もそのまま維持されます。詳細については、MIG に特定の名前のインスタンスを作成するをご覧ください。
MIG インスタンスの状態の維持について詳しくは、ステートフル MIG をご覧ください。
インスタンスを MIG から削除する
マネージド インスタンスを削除すると、MIG はグループの targetSize
を縮小し、対応する VM インスタンスを削除します。
ステートフル MIG を設定した場合、MIG はインスタンスで維持する状態の構成を削除します。また、MIG は削除されたインスタンスが属するすべてのターゲット プールからインスタンスを削除します。
グループが属するバックエンド サービスでコネクション ドレインが有効になっている場合は、コネクション ドレインが有効のタイムアウトが経過してから VM インスタンスが削除されるまでに 60 秒ほどかかることがあります。
マネージド インスタンスを削除するには、次のようにします。
- MIG をサイズ変更します。MIG によって、削除するインスタンスが選択されます。
- MIG を手動でサイズ変更します。
- ステートレス アプリケーションに自動スケーリングを使用します。
- グループ全体を削除します。
- 特定のインスタンスを明示的に削除または破棄します。
MIG 内の VM 構成の更新
MIG で VM の構成を変更する必要がある場合(例えばブートディスクやマシンタイプの変更、ディスクの追加、その他の VM プロパティの変更など)は、MIG での VM 構成の更新を参照してください。
MIG 内のインスタンスを再作成する
この方法を使用して、グループの最新の VM 構成コンポーネントを使用するように、選択した VM を更新します。マネージド インスタンス グループに属するすべての VM を再作成する必要がある場合は、代わりにローリング アップデートを開始します。
グループが属するバックエンド サービスでコネクション ドレインが有効になっている場合は、コネクション ドレインが有効のタイムアウトが経過してから VM インスタンスが削除されるまでに 60 秒ほどかかることがあります。
マネージド インスタンス グループ内の選択した VM インスタンスを再作成するには、gcloud CLI または API を使用します。
gcloud
instance-groups managed recreate-instances
コマンドを使用します。
gcloud compute instance-groups managed recreate-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAME_1,INSTANCE_NAME_2 \ [--region REGION | --zone ZONE]
API
API で、regionInstanceGroupManagers.recreateInstances
メソッドに対する POST リクエストを行います。ゾーン マネージド インスタンス グループの場合は、instanceGroupManagers.recreateInstances
メソッドを使用します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/recreateInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ] }
マネージド インスタンス グループの VM インスタンスの再作成リクエストを行うと、システムで新しい VM のプロビジョニングが可能になり次第、再作成された新しい VM が起動します。このプロセスにかかる時間は、再作成するインスタンスの数によっては長くなる場合があります。グループのステータスを確認するか、マネージド インスタンスのステータスを確認します。
MIG 内のインスタンスに関する情報を表示する
MIG 内のマネージド インスタンスに関する情報を表示するをご覧ください。
MIG でステートフル インスタンスを構成する
ステートフル MIG の構成をご覧ください。
次のステップ
- MIG 内の VM に新しい構成を適用する方法について学習する。
- MIG の推奨マシンタイプの適用について学ぶ。
- 次のチュートリアルを試す。