このドキュメントでは、一時停止や停止された仮想マシン(VM)インスタンスのスタンバイ プールの仕組みと、スタンバイ プールを使用してマネージド インスタンス グループ(MIG)のスケールアウトを加速する方法について説明します。
始める前に
- MIG で一時停止および停止した VM の概要ページを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 一時停止された VM はメモリ状態を保持するため、VM で時間がかかるメモリの初期化が必要な場合は、一時停止された VM を使用します。アプリケーションを一時停止および再開できることを確認してください。メモリの状態を維持するには、追加のストレージが必要です。追加費用が発生する可能性があります。
- VM の初期化が主に永続ディスクに保存されているデータの初期化である場合は、停止した VM を使用します。
Google Cloud コンソールの [インスタンス グループ] ページに移動します。
リストの [名前] 列で、スタンバイ ポリシーを編集するインスタンス グループの名前をクリックします。
[編集] をクリックして、このマネージド インスタンス グループを変更します。
[詳細構成を表示] をクリックします。
[スタンバイ プール] セクションの [モード] で、[スケールアウト] を選択します。
[初期遅延] フィールドに、VM を一時停止または停止する前に MIG が待機する秒数を入力します。初期遅延により、初期化スクリプトに、迅速なスケールアウトのために VM を準備する時間が与えられます。
[保存] をクリックします。
MIG_NAME
: MIG の名前。DELAY
: VM を一時停止または停止する前に MIG が待機する秒数。初期遅延により、初期化スクリプトに、迅速なスケールアウトのために VM を準備する時間が与えられます。REGION
: リージョン MIG の場合、MIG が配置されているリージョン。ZONE
: ゾーン MIG の場合、MIG が配置されているゾーン。PROJECT_ID
: オブジェクトの ID。ZONE
: ゾーン MIG の場合、MIG が配置されているゾーン。- リージョン MIG の場合は、
zones/ZONE
をregions/REGION
に置き換え、MIG のリージョンを指定します。
- リージョン MIG の場合は、
MIG_NAME
: MIG の名前。DELAY
: VM を一時停止または停止する前に MIG が待機する秒数。初期遅延により、初期化スクリプトに、迅速なスケールアウトのために VM を準備する時間が与えられます。Google Cloud コンソールの [インスタンス グループ] ページに移動します。
リストの [名前] 列で、スタンバイ プールのサイズを編集するインスタンス グループの名前をクリックします。
[編集] をクリックして、このマネージド インスタンス グループを変更します。
[詳細構成を表示] をクリックします。
[スタンバイ プール] セクションで、[一時停止された VM] フィールドと [停止した VM] フィールドに新しいサイズを入力します。
[保存] をクリックします。
MIG_NAME
: インスタンスを一時停止する MIG の名前。SUSPENDED_SIZE
: MIG が任意の時点で維持する必要がある一時停止された VM の数STOPPED_SIZE
: MIG が任意の時点で維持する必要がある停止した VM の数REGION
: リージョン MIG の場合、MIG が配置されているリージョン。ZONE
: ゾーン MIG の場合、MIG が配置されているゾーン。PROJECT_ID
: リクエスト対象のプロジェクト ID。ZONE
: ゾーン MIG の場合、MIG が配置されているゾーン。- リージョン MIG の場合は、
zones/ZONE
をregions/REGION
に置き換え、MIG のリージョンを指定します。
- リージョン MIG の場合は、
MIG_NAME
: インスタンスを停止する MIG の名前。SUSPENDED_SIZE
: MIG が任意の時点で維持する必要がある一時停止された VM の数STOPPED_SIZE
: MIG が任意の時点で維持する必要がある停止した VM の数- MIG で VM を手動で一時停止または停止する方法を確認する。
- MIG で一時停止または停止した VM の更新の詳細を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
MIG API を自動スケーリングに使用する
MIG の自動スケーリングには、Compute Engine オートスケーラーを使用することをおすすめします。ただし、なんらかの理由で別のオートスケーラーを使用したい場合は、MIG API のエンドポイントを使用して一時停止および停止された VM を処理します。
一時停止されたプールと停止したプールのいずれかを選択する
一時停止されたプールと停止されたプールのどちらを選択するかは、特定のユースケースによって異なります。最適なパフォーマンスを得るには、スケールアウト シナリオでさまざまなスタンバイ プールタイプを試して、ニーズに最適なタイプを決定する必要があります。ワークロードごとに、オプションによって短い所要時間を表示する場合があります。メモリの状態をストレージから VM にコピーする操作は、VM の再起動や新しい VM の新規作成よりも時間がかかることがあります。
最適なアプローチを見つけるには、以下のガイドラインを参考にしてください。
MIG のスタンバイ ポリシーを編集する
このセクションでは、初期遅延を設定する方法と、プールをスケールアウトするようにスタンバイ プールモードを設定する方法について説明します。
コンソール
gcloud
beta instance-groups managed update
コマンドを使用して、動作モードと初期遅延を指定します。gcloud beta compute instance-groups managed update MIG_NAME \ --standby-policy-mode=scale-out-pool \ --standby-policy-initial-delay=DELAY \ [--region=REGION | --zone=ZONE]
次のように置き換えます。
API
instanceGroupManager.update
メソッドを使用して、リクエストの本文でオペレーション モードと初期遅延を指定します。リージョン MIG の場合は、regionInstanceGroupManager.update
メソッドを使用します。PUT https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { // ... "standbyPolicy": { "mode": "SCALE_OUT_POOL", "initialDelaySec": DELAY } // ... }
次のように置き換えます。
MIG 内のスタンバイ プールのサイズを変更する
このセクションでは、MIG で一時停止および停止した VM のプールのサイズを変更する方法について説明します。
コンソール
gcloud
--suspended-size
フラグと--stopped-size
フラグを指定して、instance-groups managed update
ベータ版コマンドを使用します。gcloud beta compute instance-groups managed update MIG_NAME \ --suspended-size=SUSPENDED_SIZE \ --stopped-size=STOPPED_SIZE \ [--region=REGION | --zone=ZONE]
次のように置き換えます。
API
instanceGroupManager.update
メソッドを使用して、リクエストの本文で一時停止された VM と停止した VM のプールのサイズを指定します。リージョン MIG の場合は、regionInstanceGroupManager.update
メソッドを使用します。PUT https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { // ... "targetSuspendedSize": SUSPENDED_SIZE, "targetStoppedSize": STOPPED_SIZE // ... }
次のように置き換えます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-23 UTC。
-