ステートフル マネージド インスタンス グループ(MIG)のステートフル構成を作成または更新すると、次のことが可能になります。
準備
- ステートフル MIG を使用する場合とステートフル MIG の仕組みを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、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 に適用します。
- gcloud CLI を使用してインスタンスごとの構成を作成または更新する場合は、
--update-instance
フラグを使用して、構成を関連付けられたマネージド インスタンスにすぐに適用します。 - 新しいインスタンスを手動で作成する場合は、作成時にインスタンスの名前と構成を指定します。MIG は VM の作成時に構成をすぐに適用します。
- 置換メソッドを
RECREATE
に設定する必要があります。 - 最大サージを
0
に設定する必要があります。 - リージョン MIG の場合、ゾーン間でプロアクティブなインスタンスの再配布を無効にする必要があります。
true
: グループ内のインスタンスごとの構成がすべて適用されて有効になっているか、グループにインスタンスごとの構成がありません。false
: 有効になっていないインスタンスごとの構成がグループに 1 つ以上あります。まだ適用していないか、適用処理の実行中です。UNAPPLIED
: インスタンスごとの構成は作成または更新されたため、手動でインスタンスを更新し、VM に適用する必要があります。APPLYING
: MIG は現在、その新しい、または更新されたインスタンスごとの構成を VM に適用する処理を行っています。EFFECTIVE
: インスタンスごとの構成は VM に正常に適用され、有効になっています。UNAPPLIED_DELETION
: インスタンスごとの構成は削除するように設定されています。更新を適用するには、インスタンスの更新を手動で行い、その更新を VM に適用する必要があります。DELETING
: インスタンスごとの構成は削除中で、変更を VM に適用する処理が行われています。- MIG にステートフル構成があるかどうか、この構成が適用されていて有効かどうかを確認する。
- ステートフル ポリシーに保存されている MIG 内のすべてのインスタンスに共通のステートフル構成を表示する。
- インスタンスごとの構成に保存されている、個々のインスタンスに固有のステートフル構成を表示し、この構成が適用されていて有効かどうかを確認する。
- ステートフル ポリシーと適用されているインスタンスごとの構成に基づいて、MIG 内の各インスタンスに対して有効な保持状態を表示する。
hasStatefulConfig
:true
: グループにステートフル構成があります。つまり、グループに空でないステートフル ポリシーがあるか、各インスタンスに空でない構成が少なくとも 1 つ以上存在します。false
: ステートフル構成は存在しません。
perInstanceConfigs.allEffective
:true
: グループ内のインスタンスごとの構成がすべて適用されて有効になっているか、グループにインスタンスごとの構成がありません。false
: 有効になっていないインスタンスごとの構成がグループに 1 つ以上あります。まだ適用していないか、適用処理の実行中です。
hasStatefulConfig
:true
: グループにステートフル構成があります。つまり、グループに空でないステートフル ポリシーがあるか、各インスタンスに空でない構成が少なくとも 1 つ以上存在します。false
: ステートフル構成は存在しません。
perInstanceConfigs.allEffective
:true
: グループ内のインスタンスごとの構成がすべて適用されて有効になっているか、グループにインスタンスごとの構成がありません。false
: 有効になっていないインスタンスごとの構成がグループに 1 つ以上あります。まだ適用していないか、適用処理の実行中です。
Google Cloud コンソールの [インスタンス グループ] ページに移動します。
ステートフル ポリシーを表示するインスタンス グループの名前をクリックします。
[詳細] タブに移動します。
[ステートフル リソース] に、ステートフル ポリシーのすべてのリソースが一覧表示されます。
NAME
: インスタンスごとの構成を一覧表示する MIG の名前PROJECT_ID
: リクエストのプロジェクト IDZONE
: MIG が配置されているゾーン(ゾーン MIG に適用)- リージョン MIG の場合は、
zones/ZONE
をregions/REGION
に置き換え、MIG のリージョンを指定します
- リージョン MIG の場合は、
NAME
: インスタンスごとの構成を一覧表示する MIG の名前preservedStateFromPolicy
: ステートフル ポリシーに基づいて生成された保持状態が含まれます(インスタンスごとの構成によってオーバーライドされるステートフル構成を除く)。preservedStateFromConfig
: マネージド インスタンスにすでに適用されているインスタンスごとの構成に基づいて生成された保持状態が含まれます。POLICY
: マネージド インスタンスに、ステートフル ポリシーに基づく保持状態が含まれています。CONFIG
: マネージド インスタンスに、インスタンスごとの構成に基づく保持状態が含まれています。- 値なし: マネージド インスタンスに保持状態が含まれず、ステートレスです。
INSTANCE_GROUP_NAME
: MIG の名前。INSTANCE_NAME
: グループ内のマネージド インスタンスの名前。- スタンドアロン VM のステートフル MIG への移行が完了したので、ステートフル構成をインスタンスごとの構成から共通のステートフル ポリシーに移行したい。
- ワークロードを再構築し、VM インスタンスで状態を維持する必要がなくなった。
- テスト用のステートフル構成の作成が完了したので、それをクリーンアップしたい。
- MIG 内のすべての VM に対して、以前のステートフル永続ディスクをステートレスとして宣言する。
- MIG 内のすべての VM に対して、以前のステートフル ネットワーク インターフェースをステートレスとして宣言する。
- MIG 内の特定の VM に対して、ステートフル ディスクの接続解除またはステートレス ディスクの宣言を行う。
- MIG 内の特定の VM からステートフル メタデータを削除する。
- MIG 内の特定の VM から静的 IP アドレスの関連付けを解除する。
- インスタンス テンプレートで定義されているソースからディスクの削除や再作成を行えます。
- IP アドレスは変更される場合があります。
--remove-stateful-disks
: 構成したすべてのステートフル ディスクのデバイス名を一覧表示します。--remove-stateful-internal-ips
: すべての構成済みのステートフル内部 IP アドレスのネットワーク インターフェース名を一覧表示します。--remove-stateful-external-ips
: すべての構成済みのステートフル外部 IP アドレスのネットワーク インターフェース名を一覧表示します。- 関連付けられているインスタンスごとの構成を削除します。
- マネージド インスタンスに変更を適用します。変更を手動で適用するか、自動的に適用するかを選択できます。
- インスタンス テンプレート内のソースからディスクが接続解除することも、再作成することもできます。
- メタデータが削除されるか、インスタンス テンプレートで定義されている値にリセットされます。
- IP アドレスは変更される場合があります。
INSTANCE_GROUP_NAME
: MIG の名前。INSTANCE_NAME
: インスタンスごとの構成を削除するインスタンスの名前。MINIMAL_ACTION
: インスタンスごとの構成の更新を VM に適用する際に実行する最小のアクション。この値は次のいずれかにする必要があります。none
: アクションなし。refresh
: VM を停止せずに適用できる更新を適用します。restart
: VM を停止してから再起動します。replace
: VM を再作成します。
PROJECT_ID
: リクエストのプロジェクト IDZONE
: MIG が配置されているゾーン(ゾーン MIG に適用)- リージョン MIG の場合は、
zones/ZONE
をregions/REGION
に置き換え、MIG のリージョンを指定します
- リージョン MIG の場合は、
INSTANCE_GROUP_NAME
: MIG の名前INSTANCE_NAME
: インスタンスごとの構成を削除するインスタンスの名前。- ステートフル MIG を構成する。
- VM のステータスやプロパティなど、特定の MIG とそのマネージド インスタンスに関する情報を取得する。
- ステートフル MIG について学習する。
- MIG とマネージド インスタンスの操作について学習する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
マネージド インスタンスへのステートフル構成の適用
ステートフル構成は、ユーザーまたは MIG が適用した後に有効になります。
コンセプトの詳細については、マネージド インスタンスにステートフル構成を適用する方法をご覧ください。
ステートフル ポリシーからの構成の適用
ステートフル ポリシーのすべての構成変更は、すべてのマネージド インスタンスに自動的に適用されます。ステートフル ポリシーを更新しても、実行中の仮想マシン(VM)インスタンスは中断されません。
ステートフル ポリシーが適用されているかどうかの確認
すべての VM を確認する
ステートフル ポリシーへの変更がすべての VM に適用されたかどうかを確認するには、変更後に MIG が安定したかどうかを確認します。
特定の VM を確認する
ステートフル ポリシーへの変更が MIG の特定の VM に適用されたかどうかを確認するには、マネージド インスタンスの保持状態を表示し、ステートフル ポリシーのすべてのディスクが、マネージド インスタンスに対する
preservedStateFromPolicy
とpreservedStateFromConfig
のいずれかで表示されることを確認します。インスタンスごとの構成からのステートフル構成の適用
新規または更新されたインスタンスごとの構成を手動または自動で適用できます。次のいずれかの方法を使用します。
どちらの方法も、インスタンスごとの構成と適用されていないバージョンの両方から未処理の更新を適用します。または、該当する場合にはインスタンス テンプレートを適用します。
更新された構成を選択的に特定のインスタンスに適用する
インスタンスごとの構成を特定のインスタンスに手動で適用するには、次の手順を行います。
または、次の方法も使用できます。
ローリング アップデートで更新された構成を自動的に適用する
プロアクティブなローリング アップデートを構成して、MIG を対応するマネージド インスタンスにローリング方式で自動的に適用します。
ステートフル MIG の場合、プロアクティブな更新ポリシーに次の構成が必要です。
この構成により、MIG は既存のステートフル インスタンスを再作成します。別のインスタンスに置き換えません。
また、グループの更新ポリシーで最小アクションを
REFRESH
に設定することで、インスタンスを停止せずにインスタンスごとの構成の変更が適用されるようにすることもできます。インスタンスごとの構成が適用済みかどうかを確認
インスタンスごとのすべての構成を確認
MIG でインスタンスごとの構成がすべて適用済みかどうかを確認するには、MIG のステートフル ステータスを表示して、
status.stateful.perInstanceConfigs.allEffective
を確認します。特定のインスタンスごとの構成を確認
特定のインスタンスごとの構成に対する変更が対応する VM に適用されたかどうかを確認するには、インスタンスごとの構成をすべて表示し、そのインスタンスごとの構成の
status
フィールドを確認します。ステートフル構成と保持状態の表示
次のタスクのステートフル MIG に関する情報を取得します。
MIG のステートフル構成のステータスの表示
ステートフル構成がある場合(ステートフル ポリシー、または各インスタンスに空でない構成が 1 つ以上ある場合)、MIG はステートフルとみなされます。
ステートフル ポリシーを作成すると、MIG によってポリシーが自動的に適用され、有効になります。インスタンスごとの構成を作成する場合、構成を後で適用するように設定することもできます。
MIG にステートフル構成があり、インスタンスごとの構成がすべて適用されていることを確認するには、gcloud CLI または REST を使用して MIG のステートフル ステータスを表示します。
gcloud
MIG にステートフル構成があるかどうかを確認するには、
gcloud compute instance-groups managed describe
コマンドを実行してステートフル ステータスを表示します。例:gcloud compute instance-groups managed describe NAME baseInstanceName node ... name example-group ... status: isStable: true stateful: hasStatefulConfig: true perInstanceConfigs: allEffective: true versionTarget: isReached: true targetSize: 3 ...
この出力で:
REST
MIG にステートフル構成があるかどうかを確認するには、
instanceGroupManagers.get
またはregionInstanceGroupManagers.get
メソッドを使用してstatus.stateful
フィールドを確認します。例:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
このメソッドは
instanceGroupManagers
オブジェクトを返します。{ "name": "example-group", "baseInstanceName": "node", ... "status": { "isStable": true, "stateful": { "hasStatefulConfig": true, "perInstanceConfigs": { "allEffective": true } }, "versionTarget": { "isReached": true } }, "targetSize": 3, ... }
この出力で:
MIG のステートフル ポリシーの表示
Google Cloud コンソール、gcloud CLI、または REST を使用してグループの詳細を確認し、MIG のステートフル ポリシーを表示します。
コンソール
gcloud
MIG のステートフル ポリシーを表示するには、
gcloud compute instance-groups managed describe
コマンドを実行します。例:gcloud compute instance-groups managed describe NAME baseInstanceName node ... name example-group ... statefulPolicy: preservedState: disks: data-disk: autoDelete: NEVER logs-disk: autoDelete: ON_PERMANENT_INSTANCE_DELETION internalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: autoDelete: NEVER status: isStable: true stateful: hasStatefulConfig: true perInstanceConfigs: allEffective: true versionTarget: isReached: true targetSize: 3 ...
REST
MIG のステートフル ポリシーを表示するには、
instanceGroupManagers.get
またはregionInstanceGroupManagers.get
メソッドを使用して、statefulPolicy
フィールドを確認します。例:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME
このメソッドは
instanceGroupManagers
オブジェクトを返します。{ "name": "example-group", "baseInstanceName": "node", ... "status": { "isStable": true, "versionTarget": { "isReached": true }, "stateful": { "hasStatefulConfig": true, "perInstanceConfigs": { "allEffective": true } } ... "statefulPolicy": { "preservedState": { "disks": { "data-disk": { "autoDelete": "NEVER" }, "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } }, "internalIPs": { "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"} }, "externalIPs": { "nic0" : { "autoDelete": "NEVER"} }, } }, "targetSize": 3, ... }
MIG のインスタンスごとの構成の表示
MIG のインスタンスごとの構成を一覧表示して、インスタンスごとの構成を確認します。gcloud CLI または REST を使用します。
インスタンスごとの構成を手動で適用することを決めたときに、一部のインスタンスごとの構成が関連付けられたインスタンスにまだ適用されていない場合があります。その場合、インスタンスごとの構成がインスタンスの保持状態に反映されていない可能性があります。詳細については、インスタンスごとの構成の適用とインスタンスごとの構成が適用されているかどうかを確認するをご覧ください。
gcloud
gcloud compute instance-groups managed instance-configs list
コマンドを実行して、MIG 内のすべてのインスタンスごとの構成を一覧取得します。gcloud compute instance-groups managed instance-configs list NAME
次のように置き換えます。
標準の
--filter
フラグを使用してリストをフィルタリングします。たとえば、
example-group
内のインスタンスごとのすべての構成を一覧表示するには、次のようにします。gcloud compute instance-groups managed instance-configs list example-group --- fingerprint: JxPvsKOywuY= name: node-1 preservedState: disks: data-disk: autoDelete: NEVER mode: rw source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1 metadata: role: primary internalIPs: nic0: ipAddress: address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: ipAddress: literal: 130.211.181.55 autoDelete: NEVER status: EFFECTIVE --- fingerprint: IbGmJBqqEkk= name: node-2 preservedState: ...
REST
instanceGroupManagers.listPerInstanceConfigs
またはregionInstanceGroupManagers.listPerInstanceConfigs
メソッドを呼び出して、MIG のインスタンスごとの構成を一覧取得します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs
次のように置き換えます。
たとえば、
example-group
内のインスタンスごとのすべての構成を一覧表示するには、次のようにします。POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs
このメソッドは、グループ内のインスタンスごとの構成のリストを返します。
{ "items": [ { "fingerprint": "JxPvsKOywuY=", "name": "node-1", "preservedState" : { "disks": { "data-disk" : { "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1", "mode": "READ_WRITE", "autoDelete": "NEVER" } }, "metadata": { "role": "primary" }, "internalIPs": { "nic0" : { "ipAddress" : { "address": "/projects/example-project/regions/us-east1/addresses/node-1-int-ip" }, "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } }, "externalIPs": { "nic0": { "ipAddress" : { "literal": "54.2.3.4" }, "autoDelete": "NEVER" } } }, "status": "EFFECTIVE" }, { "fingerprint": "IbGmJBqqEkk=", "name": "node-2", "preservedState" : { ... } ... }, ... ] }
マネージド インスタンスの保持状態の表示
ステートフル構成が適用されると、MIG はそれぞれのマネージド インスタンスの有効な保持状態を生成し、次の 2 つのフィールドに設定します。
MIG 内の各マネージド インスタンスの有効な保持状態を確認するには、gcloud CLI または REST を使用してマネージド インスタンスを一覧取得します。
gcloud
マネージド インスタンスに保持状態があることを確認するには、
gcloud compute instance-groups managed list-instances
コマンドを使用して、PRESERVED_STATE
列の値を確認します。例:gcloud compute instance-groups managed list-instances NAME NAME ZONE STATUS HEALTH_STATE ACTION PRESERVED_STATE INSTANCE_TEMPLATE ... node-1 us-east1-c RUNNING NONE POLICY,CONFIG example-template node-2 us-east1-c RUNNING NONE POLICY,CONFIG example-template
PRESERVED_STATE
列には次の値を使用できます。特定のマネージド インスタンスの保持状態を表示するには、
gcloud compute instance-groups managed describe-instance
コマンドを実行します。gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME
次のように置き換えます。
たとえば、
example-group
内のnode-1
マネージド インスタンスの保持状態を表示するには、次のコマンドを実行します。gcloud compute instance-groups managed describe-instance example-group \ --instance node-1 instance: .../example-project/zones/us-east1-c/instances/node-1 instanceStatus: RUNNING currentAction: NONE id: 123456789012345678 version: instanceTemplate: .../example-project/global/instanceTemplates/example-template preservedStateFromPolicy: disks: data-disk: autoDelete: NEVER mode: rw source: .../example-project/zones/us-east1-c/disks/data-disk-1 internalIPs: nic0: ipAddress: literal: 10.0.0.1 address: .../example-project/regions/us-east1/addresses/node-1-int-ip autoDelete: ON_PERMANENT_INSTANCE_DELETION preservedStateFromConfig: metadata: role: primary my-key: my-value externalIPs: nic0: ipAddress: literal: 130.211.181.55 address: .../example-project/regions/us-east1/addresses/node-1-nat-ip autoDelete: NEVER
REST
instanceGroupManagers.listManagedInstances
またはregionInstanceGroupManagers.listManagedInstances
メソッドを呼び出して、マネージド インスタンスを一覧表示し、各インスタンスの保持状態を表示します。たとえば、すべてのマネージド インスタンスを一覧表示するには、次のコマンドを実行します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances
このメソッドは、グループ内のマネージド インスタンスのリストを返します。このリストには、保持態に関する情報が含まれています。
{ "managedInstances": [ { "instance": ".../example-project/zones/us-east1-c/instances/node-1", "instanceStatus": "RUNNING", "currentAction": "NONE", "id": "123456789012345678", "version": { "instanceTemplate":".../example-project/global/instanceTemplates/example-template" }, "preservedStateFromPolicy": { "disks": { "data-disk" : { "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1", "mode": "rw", "autoDelete": "NEVER" }, }, "internalIPs": { "nic0" : { "ipAddress": { "literal": "10.0.0.1", "address": "/projects/example-project/regions/us-east1/addresses/node-1-int-ip" }, "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } }, }, "preservedStateFromConfig": { "metadata": { "role": "primary", "my-key": "my-value" }, "externalIPs": { "nic0": { "ipAddress": { "literal": "130.211.181.55", "address": "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip" }, "autoDelete": "NEVER" } }, } }, { "instance": ".../example-project/zones/us-east1-c/instances/node-2", "instanceStatus": "RUNNING", ... "preservedStateFromPolicy": { ... }, "preservedStateFromConfig": { ... } }, ... ] }
関連する静的 IP アドレス リソースの表示
MIG 内のマネージド インスタンスに割り当てられる静的 IP アドレス(
Address
リソース)を取得するには、これらのインスタンスの保持態を表示します。静的アドレスはipAddress.address
フィールドで確認できます。MIG またはインスタンスが存在しなくなったものの、IP アドレスの予約が引き続き存在する場合は、静的内部または外部アドレス予約の一覧を表示できます。
ステートフル構成の削除
ステートフル構成の削除は、次のシナリオで役立ちます。
このセクションでは、インスタンスごとの構成でステートフル ポリシーを完全に削除する方法について説明します。ステートフル ポリシーまたはインスタンスごとの構成のサブセットのみを削除する必要がある場合は、次のセクションをご覧ください。
ステートフル ポリシーの削除
ステートフル ポリシーを削除すると、MIG 内のすべての VM に影響します。MIG では、個々のインスタンスのインスタンスごとの構成でリソースが構成されていない限り、ステートフル ポリシーで構成されたすべてのステートフル リソースがステートレスとして扱われます。後続のインスタンスの再作成、自動修復、または更新のオペレーションでは、現在のステートレス リソースの状態が失われる可能性があります。
コンセプトについては、リソースをステートフル ポリシーから削除した場合の保持状態への影響をご覧ください。
gcloud
ステートフル ポリシーからすべての構成を削除するには、該当するフラグを指定して
gcloud compute instance-groups managed update
コマンドを実行します。使用できるフラグは次のとおりです。たとえば、ステートフル ポリシーにデバイス名が
data-disk
とlogs-disk
の 2 つのステートフル ディスクの構成と、nic0
ネットワーク インターフェース内のステートフルな内部および外部 IP アドレスの構成が含まれている場合は、次のコマンドを実行してポリシーをクリアします。gcloud compute instance-groups managed update example-group \ --zone us-east1-c \ --remove-stateful-disks data-disk,logs-disk \ --remove-stateful-internal-ips nic0 \ --remove-stateful-external-ips nic0
MIG は、ステートフル ポリシーから
data-disk
およびlogs-disk
のステートフル構成と、nic0
ネットワーク インターフェースのステートフル内部 IP 構成およびステートフル外部 IP 構成を削除します。その結果、ディスクまたは IP アドレスがインスタンスごとに構成されない限り、MIG はグループ内のマネージド インスタンスのすべての保持態からそれらのディスクと静的 IP アドレスを自動的かつ非同期的に削除します。REST
ステートフル ポリシーのすべての構成を削除するには、
statefulPolicy
フィールドをnull
に設定します。その場合、instanceGroupManagers.patch
か、regionInstanceGroupManagers.patch
を使用します。メソッドを呼び出します。たとえば、次の呼び出しではステートフル ポリシー構成が削除されます。
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME { "statefulPolicy": null }
リソースがインスタンスごとの構成でも構成されている場合を除き、MIG でステートフル ポリシー構成が消去され、グループ内のすべてのマネージド インスタンスの保持状態からステートフル リソースが自動的に非同期で削除されます。
特定の VM のステートフル構成の削除
特定の VM のステートフル構成の削除は、次の 2 つのステップで行います。
変更が適用されると、グループのステートフル ポリシーで構成されている場合を除いて、インスタンスごとの構成で以前に構成されたすべてのステートフル アイテムがステートレスとして扱われます。その後 VM が再作成または更新されると、アイテムの状態が失われます。
詳細については、インスタンスごとの構成からアイテムを削除した場合の保持状態への影響をご覧ください。
gcloud
インスタンスごとの構成を完全に削除するには、
gcloud compute instance-groups managed instance-configs delete
コマンドを実行します。オプションの
--update-instance
フラグを使用して、変更をすぐにインスタンスに適用します(デフォルト)。--no-update-instance
フラグを設定すると、次にインスタンスを再作成または更新するときに変更が適用されます。--instance-update-minimal-action
フラグは、--update-instance
フラグと組み合わせて使用します。gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \ --instances INSTANCE_NAME[,INSTANCE_NAME,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
以下のように置き換えます。
たとえば、
example-group
内のnode-1
に対するインスタンスごとの構成を削除するには、次のコマンドを実行します。gcloud compute instance-groups managed instance-configs delete example-group \ --instances node-1 \ --update-instance
VM が更新されて構成の変更が適用されたため、MIG で
node-1
に対するインスタンスごとの構成が削除され、以前のステートフル アイテムはステートフルとして扱われなくなります。REST
1 つまたは複数のインスタンスのインスタンスごとの構成を完全に削除するには、
instanceGroupManagers.deletePerInstanceConfigs
またはregionInstanceGroupManagers.deletePerInstanceConfigs
メソッドを使用します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs { "names": ["INSTANCE_NAME",...] }
次のように置き換えます。
deletePerInstanceConfig
メソッドは、指定されたインスタンスごとの構成を削除しますが、関連する VM に変更を適用することはありません。この変更は、インスタンスの再作成または更新時に VM に適用されます。選択した VM を手動で更新して、変更を適用します。たとえば、
example-group
内のnode-1
に対するインスタンスごとの構成を削除するには、次のメソッドを呼び出します。POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs { "names": ["node-1"] }
このメソッドでは、
example-group
からnode-1
インスタンスに対するインスタンスごとの構成を削除します。この変更は、インスタンスの再作成時または更新時にマネージド インスタンスに適用されます。構成の変更を適用するには、
instanceGroupManagers.applyUpdatesToInstances
メソッドを呼び出します。POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
このメソッドでは、マネージド インスタンスの保持状態からステートフル アイテムを削除します。
フィードバック
ステートフル MIG に関するユースケース、課題、フィードバックを募集しています。mig-discuss@google.com にフィードバックをお寄せください。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-