このドキュメントでは、修復オペレーション中に VM を再作成するときに、最新のインスタンス テンプレートとインスタンスごとの構成を適用するように MIG を構成する方法について説明します。修復オペレーション中に使用可能な最新の構成を適用する方法は、修復時の更新とも呼ばれます。このドキュメントでは、MIG で修復時の更新が有効になっているかどうかを確認する方法と、有効になっている場合は修復時の更新を無効にする方法についても説明します。
デフォルトでは、修復中に MIG は VM の作成に最初に使用した同じインスタンス構成を使用して VM を再作成します。グループのインスタンス テンプレートまたはインスタンスごとの構成に対する更新が利用可能な場合は、修復中の VM にこれらの変更を適用するオプションがあります。
構成の更新をすべての VM または一連の VM に自動的に適用する場合(PROACTIVE
)、または特定のインスタンスを選択的に更新する場合(OPPORTUNISTIC
)、新しい構成を 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.
Google Cloud コンソールの [インスタンス グループ] ページに移動します。
修復時の更新を構成する MIG の名前をクリックします。
[編集] をクリックして、MIG を変更します。
[VM インスタンスのライフサイクル] セクションの [VM インスタンス修復中の更新] で [インスタンス構成を更新する] を選択します。
[保存] をクリックします。
MIG_NAME
: インスタンス グループの名前。INSTANCE_TEMPLATE
: グループに使用するインスタンス テンプレートの名前。SIZE
: インスタンス グループのターゲット サイズ。PROJECT_ID
: 実際のプロジェクト ID。ZONE
: MIG が配置されているゾーン。MIG_NAME
: インスタンス グループの名前。INSTANCE_TEMPLATE
: グループに使用するインスタンス テンプレートの名前。SIZE
: インスタンス グループのターゲット サイズ。Google Cloud コンソールの [インスタンス グループ] ページに移動します。
構成を確認する MIG の名前をクリックします。
[詳細] タブをクリックします。
[VM インスタンスのライフサイクル] セクションで、[VM インスタンス修復中の更新] で選択されているオプションをオンにします。[インスタンス構成を更新します] を選択した場合、修復時の更新が有効になります。
NO
: デフォルト。MIG は、修復中に VM を更新しません。YES
: MIG は修復中に VM を更新します。NO
: デフォルト。MIG は、修復中に VM を更新しません。YES
: MIG は修復中に VM を更新します。PROJECT_ID
: 実際のプロジェクト ID。ZONE
: MIG が配置されているゾーン。MIG_NAME
: インスタンス グループの名前。Google Cloud コンソールの [インスタンス グループ] ページに移動します。
修復時の更新を無効にする MIG の名前をクリックします。
[編集] をクリックして、MIG を変更します。
[VM インスタンスのライフサイクル] セクションの [VM インスタンス修復中の更新] で [インスタンス構成を維持します] を選択します。
[保存] をクリックします。
PROJECT_ID
: 実際のプロジェクト ID。ZONE
: MIG が配置されているゾーン。MIG_NAME
: インスタンス グループの名前。- アプリケーションのヘルスチェックと自動修復を設定する。
- 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 を使用して認証するをご覧ください。
修復時の更新を構成する
修復時の更新を構成するには、Google Cloud コンソール、gcloud CLI、または REST を使用します。
コンソール
gcloud
既存の MIG の場合は、
update
コマンドを使用します。gcloud compute instance-groups managed update MIG_NAME \ --force-update-on-repair
新しい MIG の場合は、
create
コマンドを使用します。gcloud compute instance-groups managed create MIG_NAME \ --template INSTANCE_TEMPLATE \ --size SIZE \ --force-update-on-repair
次のように置き換えます。
REST
既存のゾーン MIG の場合は
instanceGroupManagers.patch
メソッドを使用し、既存のリージョン MIG の場合はregionInstanceGroupManagers.patch
メソッドを使用します。既存のゾーン MIG で修復時の更新を構成するには、次の呼び出しを行います。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "forceUpdateOnRepair": YES } }
新しいゾーン MIG の場合は、
instanceGroupManagers.insert
メソッドを使用し、新しいリージョン MIG の場合はregionInstanceGroupManagers.insert
メソッドを使用します。ゾーン MIG の作成時に修復時の更新を構成するには、次の呼び出しを行います。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE", "targetSize": SIZE, "instanceLifecyclePolicy": { "forceUpdateOnRepair": YES } }
次のように置き換えます。
修復時の更新が有効かどうかを確認する
デフォルトでは、修復中に MIG が VM を更新しません。修復時の更新が MIG に対して有効になっているかどうかを確認するには、Google Cloud コンソール、gcloud CLI、または REST を使用して、修復時の更新の構成を表示します。
コンソール
gcloud
次のように
describe
コマンドを使用します。gcloud compute instance-groups managed describe MIG_NAME \ --format="(instanceLifecyclePolicy)"
レスポンスの本文で、次のいずれかの値を持つ
forceUpdateOnRepair
フィールドを確認します。出力例は次のとおりです。
instanceLifecyclePolicy: forceUpdateOnRepair: YES
REST
ゾーン MIG の場合は、
instanceGroupManagers.get
メソッドを使用し、リージョン MIG の場合はregionInstanceGroupManagers.get
メソッドを使用します。たとえば、ゾーン MIG で、次のコマンドを使用します。
GET https://compute.googleapis.com/compute/v1/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
レスポンスの本文で、次のいずれかの値を持つ
instanceLifecyclePolicy.forceUpdateOnRepair
フィールドを確認します。レスポンスの例を次に示します。
{ ... "name": "example-mig", "targetSize": 12, ... "instanceLifecyclePolicy": { "forceUpdateOnRepair": "YES" }, ... }
次のように置き換えます。
修復時の更新を無効にする
MIG が VM を修復するときに、元のインスタンス テンプレートまたは VM の作成に使用されたインスタンスごとの構成を MIG で使用する場合は、修復時の更新を無効にする必要があります。デフォルトでは、修復時の更新は MIG で無効になっています。
修復時の更新を無効にするには、Google Cloud コンソール、gcloud CLI、または REST を使用します。
コンソール
gcloud
update
コマンドを使用して、--no-force-update-on-repair
フラグを次のように設定します。gcloud compute instance-groups managed update MIG_NAME \ --no-force-update-on-repair
REST
ゾーン MIG の場合は、
instanceGroupManagers.patch
メソッドを使用し、リージョン MIG の場合はregionInstanceGroupManagers.patch
メソッドを使用します。たとえば、ゾーン MIG の修復時の更新を無効にするには、次のコマンドを使用します。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceLifecyclePolicy": { "forceUpdateOnRepair": NO } }
次のように置き換えます。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-23 UTC。
-