マネージド インスタンスを操作する


マネージド インスタンス グループ(MIG)は、使用する構成コンポーネント(インスタント テンプレート、オプションのすべてのインスタンス構成、オプションのステートフル構成)に基づいて、それぞれのマネージド インスタンスを作成します。

各マネージド インスタンスは、MIG 内の実際の仮想マシン(VM)インスタンスの目的の状態を表すデータ エンティティです。

このドキュメントでは、MIG 内のマネージド インスタンスを確実に操作する方法について説明します。たとえば、特定のインスタンスに関する情報の追加、削除、更新、取得が必要になることがあります。

構成の変更が MIG によって元に戻されないように、このドキュメントで説明する方法を使用することが重要になります。グループのメソッド以外で MIG の VM を変更する場合、それらの VM がグループの目的の構成を使用しなくなったことを MIG が検出する場合もあれば、検出しない場合もあります。また、予期しない結果が発生する可能性があります。たとえば、必要なインスタンス グループ マネージャー API ではなくインスタンス API を使用して MIG 内の VM を削除または更新すると、MIG はインテントを認識せず、今後、MIG は、MIG の構成に従って VM の再作成や復元を自動的に試行することがあります。

始める前に

  • 制限事項を確認して、グループを作成します。
  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

マネージド インスタンスとは

マネージド インスタンスとは、実際の VM インスタンスの現在のステータスと目的の状態が含まれる、MIG 内のデータ エンティティです。

マネージド インスタンスの現在のステータスには次のフィールドが含まれます。

  • インスタンスのライフサイクルのステータス(例: RUNNINGSTOPPING)。
  • MIG がインスタンスに対して実行している現在のアクション(例: RESTARTINGVERIFYINGNONE)。
  • インスタンスの健全性(例: HEALTHYUNHEALTHY)。

実際の VM インスタンスに対するマネージド インスタンスの目的の状態には次のものがあります。

  • 目的のバージョン。つまり、インスタンスに使用するバージョン名とインスタンス テンプレートです。
  • 保持するアイテム(ディスク、メタデータなど)について維持する状態

図 1 のように、MIG 内の各マネージド インスタンスについて、MIG はそのマネージド インスタンスの仕様に従って実際の VM を稼働中の状態にします。

MIG は構成に基づいてマネージド インスタンスを自動的に生成します。マネージド インスタンスは、MIG が管理している実際の VM インスタンスに対応します。

図 1:マネージド インスタンスと対応する VM の関係

マネージド インスタンスの仕様を表示するには、MIG 内のマネージド インスタンスに関する情報を取得するをご覧ください。

インスタンスを MIG に追加する

インスタンスを MIG に追加するには次の方法があります。

新しく追加されたインスタンスが稼働していることを確認するには、グループのステータスを確認するか、マネージド インスタンスのステータスを確認します。

手動によるサイズ変更

マネージド インスタンス グループの自動スケールが設定済みでない場合、グループのサイズを手動で設定して、グループ内のインスタンスの数を変更できます。MIG を手動でサイズ変更するをご覧ください。

自動スケーリング

マネージド インスタンス グループは、インスタンスがその負荷に応じて自動的に追加や削除されるように構成できます。トラフィックの増加をアプリケーションで適切に処理できると同時に、コンピューティング リソースの必要性が低下した場合には費用を抑えることができます。MIG の自動スケーリングの詳細については、インスタンスのグループの自動スケーリングをご覧ください。

特定の名前を付けたインスタンスを追加する

特定の名前に依存するシステムがある場合は、それらの名前を持つ VM を既存の MIG に追加できます。このようなマネージド インスタンスに割り当てた名前は、VM が再作成された場合もそのまま維持されます。詳細については、MIG に特定の名前のインスタンスを作成するをご覧ください。

MIG インスタンスの状態の維持について詳しくは、ステートフル MIG をご覧ください。

インスタンスを MIG から削除する

マネージド インスタンスを削除すると、MIG はグループの targetSize を縮小し、対応する VM インスタンスを削除します。

ステートフル MIG を設定した場合、MIG はインスタンスで維持する状態の構成を削除します。また、MIG は削除されたインスタンスが属するすべてのターゲット プールからインスタンスを削除します。

グループが属するバックエンド サービスコネクション ドレインが有効になっている場合は、コネクション ドレインが有効のタイムアウトが経過してから VM インスタンスが削除されるまでに 60 秒ほどかかることがあります。

マネージド インスタンスを削除するには、次のようにします。

MIG 内の VM 構成の更新

MIG で VM の構成を変更する必要がある場合(例えばブートディスクやマシンタイプの変更、ディスクの追加、その他の VM プロパティの変更など)は、MIG での VM 構成の更新を参照してください。

MIG 内のインスタンスを再作成する

この方法を使用して、グループの最新の VM 構成コンポーネントを使用するように、選択した VM を更新します。マネージド インスタンス グループに属するすべての VM を再作成する必要がある場合は、代わりにローリング アップデートを開始します。

グループが属するバックエンド サービスコネクション ドレインが有効になっている場合は、コネクション ドレインが有効のタイムアウトが経過してから VM インスタンスが削除されるまでに 60 秒ほどかかることがあります。

マネージド インスタンス グループ内の選択した VM インスタンスを再作成するには、gcloud CLI または REST を使用します。

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]

REST

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 が起動します。このプロセスにかかる時間は、再作成するインスタンスの数によっては長くなる場合があります。グループのステータスを確認するか、マネージド インスタンスのステータスを確認します。

再作成オペレーションでは VM インスタンス名が保持されますが、インスタンスの作成タイムスタンプは変更されない場合があります。インスタンスの作成タイムスタンプが変更されていない状態で、再作成オペレーションによって新しいインスタンスが作成されたことを確認するには、そのインスタンスにアタッチされているブートディスクの作成タイムスタンプを確認します。

MIG 内のインスタンスに関する情報を表示する

MIG 内のマネージド インスタンスに関する情報を取得するをご覧ください。

MIG でステートフル インスタンスを構成する

ステートフル MIG の構成をご覧ください。

次のステップ