MIG での VM の一時停止と停止について


このドキュメントでは、マネージド インスタンス グループ(MIG)内の仮想マシン(VM)インスタンスの一時停止と停止について説明します。また、MIG で VM を一時停止および停止することで、グループ内の VM がさらに必要な場合に、費用を節約し、待機時間を減らす方法についても説明します。

MIG を使用すると、VM を一時停止または停止して次のことが可能になります。

  • 使用していないアプリケーションまたはサービスを一時停止し、コンピューティング リソースへの課金を抑えることで費用を節約する。
  • 停止または一時停止された VM のスタンバイ プールから事前に初期化された VM を起動することで、MIG のスケールアウトを加速する。

ユースケース

次のセクションでは、MIG のスタンバイ プールの一般的なユースケースについて説明します。

アプリケーションまたはサービスを一時停止する

コンピューティング、業務時間、ピーク時間、予算の制約に応じて、MIG で VM を一時停止または停止して、アプリケーションを一時停止したり、必要に応じて再開したりできます。現在のコンピューティング結果は、永続ディスク、または VM が一時停止している場合はメモリ内に保持できます。

たとえば、次のシナリオでは、MIG 内の VM を一時停止または停止することをおすすめします。

  • 平日はワークロードが多く、費用を節約するために週末に VM を一時停止したい。
  • 変更の実装中に必要となるテスト環境があり、開発がアクティブでないときにはテスト環境を停止したい。

MIG のスケールアウトを加速する

MIG のサイズが変更されたときに、初期化済みの VM のスタンバイ プールを起動できるようにしておくことができます。MIG は、新しい VM を作成してアプリが初期化されて実行の準備が整うまで待つのではなく、スタンバイ プールから VM を起動または再開します。この場合、負荷が増加する重大な瞬間ではなく、事前に VM の初期化が完了します。

スタンバイ プールは、アプリケーションの初期化に時間がかかる場合に役立ちます。たとえば、次のような場合です。

  • 最新のコンテンツを永続ディスクにダウンロードする必要があるアプリケーション。
  • 外部ストレージ、ローカル コンピューティング、またはその両方の組み合わせからのダウンロードを介して、追加コンテンツをメモリ内にキャッシュする必要があるアプリケーション。
  • 初期化中に新しいソフトウェアをインストールする必要があるアプリケーション(Kubernetes ノードなど)。

保持されるリソース

次の表に、MIG で VM を一時停止または停止するときに保持されるリソースを示します。

保持される 一時停止 VM 停止した VM
VM 名
内部 IP
外部 IP(エフェメラル)
外部 IP(静的*
ディスク
メタデータ
メモリ

* MIG で VM を停止または一時停止するときに外部 IP を保持する場合は、ステートフル MIG 構成を使用して外部 IP を静的 IP に昇格させます。

VM にローカル SSD ディスクがアタッチされている場合、VM を停止または一時停止すると、ローカル SSD ディスク上のデータは保持されません。

動作と構成

スタンバイ プールは、停止および一時停止した VM のプールで構成されます。停止したすべての VM は停止したプールの一部になり、一時停止されたすべての VM は一時停止されたプールの一部になります。MIG で自動スケーリングを構成した場合、VM を一時停止または停止すると、MIG はすぐに新しい VM を作成し、MIG の推奨サイズを維持します。

一時停止および停止したプールのターゲット サイズ

MIG のターゲット サイズと同様に、停止したプールと一時停止されたプールには独自のターゲット サイズがあります。スタンバイ プールのターゲット サイズは、次の方法で制御できます。

  • 停止および一時停止したターゲット サイズの値を構成する。
  • VM を手動で停止および一時停止する。それにより、ターゲット サイズが自動的に変更されます。

停止または一時停止したプールのターゲット サイズを変更すると、MIG は次のように動作します。

  • 一時停止または停止したプールのサイズを増やすと、MIG は新しい VM を作成し、VM が初期化されるまで待機してから、それに応じて VM を一時停止または停止します。リージョン MIG の場合、VM は構成されたターゲット分配形状に従って作成されます。
  • 一時停止または停止したプールのサイズを小さくすると、MIG は削除する VM を一時停止または停止します。
  • MIG のターゲット サイズと、一時停止または停止したプールのサイズを同時に変更すると、MIG は変更の適用に必要なオペレーションの数を最小限に抑えようとします。つまり、MIG はスタンバイ プールから VM を再開または起動したり、実行中の一部の VM を一時停止または停止したりできます。

スタンバイ ポリシー

スタンバイ ポリシーは、ユーザーが指定した次のパラメータに基づいてスタンバイ プールの動作を定義します。

  • モード: MIG が一時停止または停止した VM を使用するモード。manual モードまたは scale-out-pool モードのいずれかになります。
  • 初期遅延: MIG が新しく作成された VM を一時停止または停止する前に実行する時間。初期遅延は、VM の起動時または再開時にアプリが事前に初期化され、実行可能な状態にするのに十分な時間を確保できるように構成します。

モード

オペレーション モードを設定することで、スタンバイ プールの管理方法を選択できます。manual モードと scale-out-pool モードの 2 つのオプションがあります。

手動モード(デフォルト)

手動モードでは、MIG でどの VM を停止または一時停止するかを完全に制御できます。手動モードは、スタンバイ プールのデフォルト モードです。

手動モードは次のような場合に便利です。

  • ワークロードを一時停止し、実行がアイドル状態の VM の費用を節約する。
  • 個々の VM の高度な管理を必要とするサードパーティのオートスケーラーと MIG を統合する。
  • デバッグを目的として、選択した VM を停止する。

手動モードでは、MIG はスタンバイ プールに自動化を適用しません。

  • ユーザーまたはオートスケーラーが MIG のターゲット サイズを増やすと、MIG は VM を自動的に起動または再開することはせず、新しい VM を作成します。
  • ユーザーまたはオートスケーラーが MIG のターゲット サイズを小さくすると、MIG は実行中の VM を自動的に停止または一時停止することはせず、削除します。

スケールアウト プールモード

スケールアウト プールモードでは、MIG はスタンバイ プールの VM を使用して再開または起動することで、スケールアウトを高速化します。その後、MIG はスタンバイ プールを新しい VM で自動的に補充し、ターゲット サイズを維持します。

スケールアウト プールモードは、次のような場合に MIG からのスケールアウトを高速化するのに役立ちます。

  • Compute Engine オートスケーラーを使用する場合。
  • サードパーティのオートスケーラーを使用していて、既存の統合を保持する場合。
  • 実行中の VM のターゲット サイズを手動で増やす場合。

スケールアウト プールモードでは、MIG は次のように動作します。

  • ユーザーまたはオートスケーラーが MIG で実行中の VM のターゲット サイズを増やすと、MIG は次の順序で処理を行います。

    1. MIG は、MIG がスケールアウトするゾーンの一時停止された VM が使用可能な場合、一時停止された VM を再開します。
    2. 一時停止された VM を再開した後、MIG のターゲット サイズにまだ達していない場合、MIG は停止した VM を起動します(MIG がスケールアウトするゾーンで使用可能な場合)。
    3. VM を起動した後、MIG のターゲット サイズにまだ達していない場合は、新しい VM がゼロから作成されます。

    スタンバイ プールを使用してスケールアウトを加速した後、MIG は次の処理を行います。

    1. ターゲット サイズに基づいて、またリージョン MIG の場合はターゲット分布形状に従って、一時停止および停止したプールを補充する新しい VM を作成します。
    2. 新しい VM を実行状態にします。
    3. 初期遅延が経過した後、新しい VM を一時停止または停止します。
  • ユーザーまたはオートスケーラーが MIG のターゲット サイズを小さくした場合、MIG は実行中の VM を自動的に停止または一時停止せず、削除します。

初期遅延

VM が正しく初期化されるようにするには、スタンバイ ポリシーで初期遅延を指定します。初期遅延は、VM の作成後に停止または一時停止するまでに VM が待機する時間です。これにより、初期化スクリプトが完了するまでの時間を確保できます。

初期遅延は次の場合に発生します。

  • 新しい VM が、対象のターゲット状態 SUSPENDED または TERMINATED で作成された。
  • RUNNING 状態の既存のインスタンスが一時停止または停止している。

どちらの場合も、インスタンスは一時停止または停止する前に初期化できます。

スタンバイ プールを使用して MIG のスケールアウトを加速する場合は、選択したマシンタイプでアプリケーションの初期化に要する時間を測定し、一時停止または停止する前にアプリケーションを完全に準備するのに十分な時間を確保することをおすすめします。そうしないと、スタンバイ プールから VM を再開または起動する場合に、VM をゼロから作成するよりも時間がかかることがあります。

MIG 内の VM のターゲット ステータス

MIG には宣言型 API があります。つまり、MIG で VM のターゲット ステータスを宣言し、ターゲット ステータスが保存されると API リクエストが成功します。次に MIG は、ターゲット ステータスに到達するために必要なオペレーションを実行します。ユーザーは API を使用して、すべての VM の現在のアクションと現在のステータスを確認できます。

MIG 内の VM の一時停止と停止は、同じ宣言型の方法で動作します。ユーザーが VM を一時停止または停止するリクエストを送信すると、MIG は各 VM のターゲット ステータスに関する情報を保存し、そこに到達するために必要なオペレーションを開始します。

MIG でマネージド VM を一覧表示すると、targetStatus フィールドが表示されます。これは、MIG が安定したときの VM の最終ステータスを表します。次のいずれかの値です。

  • RUNNING
  • STOPPED
  • SUSPENDED

MIG 内の VM は、単一の VM と同じライフサイクル ステータスを持つことができます。MIG で可能なオペレーションと、targetStatus フィールドの関連する値の例を次に示します。

  • 新しい VM を作成し、初期化後に一時停止する。
    • VM のターゲット ステータス: SUSPENDED
  • 以前に一時停止した VM を再開する。
    • VM のターゲット ステータス: RUNNING
  • 実行中の VM を停止する。
    • VM のターゲット ステータス: STOPPED
  • 以前に停止した VM を起動する。
    • VM のターゲット ステータス: RUNNING

制限事項

  • スタンドアロン VM の一時停止に関する次の制限は、MIG 内の VM の一時停止にも適用されます。
    • GPU を使用するインスタンスは一時停止できません。
    • ベアメタル インスタンスは一時停止できません。
    • ゲスト環境に組み込まれている標準プロセスを使用してインスタンスを一時停止することはできません。コマンド(例: Ubuntu 16.04 以降の systemctl suspend コマンド)は使用できません。ゲスト内の信号は無視されます。
    • インスタンスを一時停止できる期間は最大 60 日です。この期間を経過すると、VM が自動的に停止します。
    • メモリが 208 GB を超えるインスタンスは一時停止できません。
    • プリエンプティブル インスタンスは一時停止できますが、正常に一時停止する前に終了することがあります。
    • Confidential VM は一時停止できません。
    • CSEK で保護されたディスクがアタッチされている VM は一時停止できません。
  • EVEN ターゲット分布形状とインスタンスの再分配が有効になっているリージョン MIG では、グループ内の特定の VM を一時停止、停止、再開、開始することはできません。スタンバイ プールを管理するには、一時停止および停止したプールのターゲット サイズを設定します。
  • MIG でカナリア更新用の 2 番目のインスタンス テンプレートを構成している場合、スケールアウト プールモードは使用できません。
  • MIG で修復をオフにしている場合、MIG の VM を一時停止または停止することはできません。
  • インスタンスを一時停止できる期間は最大 60 日です。この期間を経過すると、VM が自動的に停止します。

料金

停止または一時停止された各 VM には、次の項目に対して課金されます。

  • ブートディスクと、VM にアタッチされた追加ディスクの永続ディスク使用量。 詳細については、Persistent Disk の料金をご覧ください。
  • VM にアタッチされているすべての静的 IP。 詳細については、IP の料金をご覧ください。
  • VM が一時停止されている場合、VM のメモリとデバイスの状態。 詳しくは、VM インスタンスの料金をご覧ください。

次のステップ