ステートフル マネージド インスタンス グループ(MIG)のステートフル構成を作成または更新すると、次のことが可能になります。
準備
- ステートフル MIG を使用する場合とステートフル MIG の仕組みを確認します。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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
のいずれかで表示されることを確認します。
インスタンスごとの構成からのステートフル構成の適用
新規または更新されたインスタンスごとの構成を手動または自動で適用できます。次のいずれかの方法を使用します。
- 更新された構成を選択的に特定のインスタンスに適用する: この方法を使用して、更新の中断、タイミング、順序を制御します。
- ローリング アップデートで更新された構成を自動的に適用する: この方法を使用して、マネージド インスタンスに構成の変更を自動的に適用します。
どちらの方法も、インスタンスごとの構成と適用されていないバージョンの両方から未処理の更新を適用します。または、該当する場合にはインスタンス テンプレートを適用します。
更新された構成を選択的に特定のインスタンスに適用する
インスタンスごとの構成を特定のインスタンスに手動で適用するには、次の手順を行います。
- 日和見更新ポリシーを構成して、自動で行われる先行型更新で競合を防止します。
- インスタンスごとの構成を作成または更新します。
- 特定の VM を選択的に更新することにより、更新された構成を特定の VM に適用します。
または、次の方法も使用できます。
--update-instance
gcloud CLI を使用してインスタンスごとの構成を作成または更新する場合は、フラグを使用して、構成を関連付けられたマネージド インスタンスにすぐに適用します。- 新しいインスタンスを手動で作成する場合は、作成時にインスタンスの名前と構成を指定します。MIG は VM の作成時に構成をすぐに適用します。
ローリング アップデートで更新された構成を自動的に適用する
プロアクティブなローリング アップデートを構成して、MIG を対応するマネージド インスタンスにローリング方式で自動的に適用します。
ステートフル MIG の場合、プロアクティブな更新ポリシーに次の構成が必要です。
- 置換メソッドを
RECREATE
に設定する必要があります。 - 最大サージを
0
に設定する必要があります。 - リージョン MIG の場合、ゾーン間でプロアクティブなインスタンスの再配布を無効にする必要があります。
この構成により、MIG は既存のステートフル インスタンスを再作成します。別のインスタンスに置き換えません。
また、グループの更新ポリシーで最小アクションを REFRESH
に設定することで、インスタンスを停止せずにインスタンスごとの構成の変更が適用されるようにすることもできます。
インスタンスごとの構成が適用済みかどうかを確認
インスタンスごとのすべての構成を確認
MIG でインスタンスごとの構成がすべて適用済みかどうかを確認するには、MIG のステートフル ステータスを表示して、status.stateful.perInstanceConfigs.allEffective
を確認します。
true
: グループ内のインスタンスごとの構成がすべて適用されて有効になっているか、グループにインスタンスごとの構成がありません。false
: 有効になっていないインスタンスごとの構成がグループに 1 つ以上あります。まだ適用していないか、適用処理の実行中です。
特定のインスタンスごとの構成を確認
特定のインスタンスごとの構成に対する変更が対応する VM に適用されたかどうかを確認するには、インスタンスごとの構成をすべて表示し、そのインスタンスごとの構成の status
フィールドを確認します。
UNAPPLIED
: インスタンスごとの構成は作成または更新されたため、手動でインスタンスを更新し、VM に適用する必要があります。APPLYING
: MIG は現在、その新しい、または更新されたインスタンスごとの構成を VM に適用する処理を行っています。EFFECTIVE
: インスタンスごとの構成は VM に正常に適用され、有効になっています。UNAPPLIED_DELETION
: インスタンスごとの構成は削除するように設定されています。更新を適用するには、インスタンスの更新を手動で行い、その更新を VM に適用する必要があります。DELETING
: インスタンスごとの構成は削除中で、変更を VM に適用する処理が行われています。
ステートフル構成と保持状態の表示
次のタスクのステートフル MIG に関する情報を取得します。
- MIG にステートフル構成があるかどうか、この構成が適用されていて有効かどうかを確認する。
- ステートフル ポリシーに保存されている MIG 内のすべてのインスタンスに共通のステートフル構成を表示する。
- インスタンスごとの構成に保存されている、個々のインスタンスに固有のステートフル構成を表示し、この構成が適用されていて有効かどうかを確認する。
- ステートフル ポリシーと適用されているインスタンスごとの構成に基づいて、MIG 内の各インスタンスに対して有効な保持状態を表示する。
MIG のステートフル構成のステータスの表示
ステートフル構成がある場合(ステートフル ポリシー、または各インスタンスに空でない構成が 1 つ以上ある場合)、MIG はステートフルとみなされます。
ステートフル ポリシーを作成すると、MIG によってポリシーが自動的に適用され、有効になります。インスタンスごとの構成を作成する場合、構成を後で適用するように設定することもできます。
MIG にステートフル構成があり、インスタンスごとの構成がすべて適用されていることを確認するには、gcloud CLI または REST を使用して MIG のステートフル ステータスを表示します。
MIG にステートフル構成があるかどうかを確認するには、gcloud compute instance-groups managed describe
コマンドを実行してステートフル ステータスを表示します。例:
gcloud compute instance-groups managed describeNAME baseInstanceName node ... name example-group ... status: isStable: true stateful: hasStatefulConfig: true perInstanceConfigs: allEffective: true versionTarget: isReached: true targetSize: 3 ...
この出力で:
hasStatefulConfig
:true
: グループにステートフル構成があります。つまり、グループに空でないステートフル ポリシーがあるか、各インスタンスに空でない構成が少なくとも 1 つ以上存在します。false
: ステートフル構成は存在しません。
perInstanceConfigs.allEffective
:true
: グループ内のインスタンスごとの構成がすべて適用されて有効になっているか、グループにインスタンスごとの構成がありません。false
: 有効になっていないインスタンスごとの構成がグループに 1 つ以上あります。まだ適用していないか、適用処理の実行中です。
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, ... }
この出力で:
hasStatefulConfig
:true
: グループにステートフル構成があります。つまり、グループに空でないステートフル ポリシーがあるか、各インスタンスに空でない構成が少なくとも 1 つ以上存在します。false
: ステートフル構成は存在しません。
perInstanceConfigs.allEffective
:true
: グループ内のインスタンスごとの構成がすべて適用されて有効になっているか、グループにインスタンスごとの構成がありません。false
: 有効になっていないインスタンスごとの構成がグループに 1 つ以上あります。まだ適用していないか、適用処理の実行中です。
MIG のステートフル ポリシーの表示
Google Cloud コンソール、gcloud CLI、または REST を使用してグループの詳細を確認し、MIG のステートフル ポリシーを表示します。
Google Cloud コンソールの [インスタンス グループ] ページに移動します。
ステートフル ポリシーを表示するインスタンス グループの名前をクリックします。
[詳細] タブに移動します。
[ステートフル リソース] に、ステートフル ポリシーのすべてのリソースが一覧表示されます。
MIG のステートフル ポリシーを表示するには、gcloud compute instance-groups managed describe
コマンドを実行します。例:
gcloud compute instance-groups managed describeNAME 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 ...
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 compute instance-groups managed instance-configs list
コマンドを実行して、MIG 内のすべてのインスタンスごとの構成を一覧取得します。
gcloud compute instance-groups managed instance-configs listNAME
次のように置き換えます。
NAME
: インスタンスごとの構成を一覧表示する MIG の名前
標準の --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:
...
instanceGroupManagers.listPerInstanceConfigs
または regionInstanceGroupManagers.listPerInstanceConfigs
メソッドを呼び出して、MIG のインスタンスごとの構成を一覧取得します。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /instanceGroupManagers/NAME /listPerInstanceConfigs
次のように置き換えます。
PROJECT_ID
: リクエストのプロジェクト IDZONE
: MIG が配置されているゾーン(ゾーン MIG に適用)- リージョン MIG の場合は、
zones/ZONE
をregions/REGION
に置き換え、MIG のリージョンを指定します
- リージョン MIG の場合は、
NAME
: インスタンスごとの構成を一覧表示する MIG の名前
たとえば、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 つのフィールドに設定します。
preservedStateFromPolicy
: ステートフル ポリシーに基づいて生成された保持状態が含まれます(インスタンスごとの構成によってオーバーライドされるステートフル構成を除く)。preservedStateFromConfig
: マネージド インスタンスにすでに適用されているインスタンスごとの構成に基づいて生成された保持状態が含まれます。
MIG 内の各マネージド インスタンスの有効な保持状態を確認するには、gcloud CLI または REST を使用してマネージド インスタンスを一覧取得します。
マネージド インスタンスに保持状態があることを確認するには、gcloud compute instance-groups managed list-instances
コマンドを使用して、PRESERVED_STATE
列の値を確認します。例:
gcloud compute instance-groups managed list-instancesNAME 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
列には次の値を使用できます。
POLICY
: マネージド インスタンスに、ステートフル ポリシーに基づく保持状態が含まれています。CONFIG
: マネージド インスタンスに、インスタンスごとの構成に基づく保持状態が含まれています。- 値なし: マネージド インスタンスに保持状態が含まれず、ステートレスです。
特定のマネージド インスタンスの保持状態を表示するには、gcloud compute instance-groups managed describe-instance
コマンドを実行します。
gcloud compute instance-groups managed describe-instanceINSTANCE_GROUP_NAME \ --instanceINSTANCE_NAME
次のように置き換えます。
INSTANCE_GROUP_NAME
: MIG の名前。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
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 アドレスの予約が引き続き存在する場合は、静的内部または外部アドレス予約の一覧を表示できます。
ステートフル構成の削除
ステートフル構成の削除は、次のシナリオで役立ちます。
- スタンドアロン VM のステートフル MIG への移行が完了したので、ステートフル構成をインスタンスごとの構成から共通のステートフル ポリシーに移行したい。
- ワークロードを再構築し、VM インスタンスで状態を維持する必要がなくなった。
- テスト用のステートフル構成の作成が完了したので、それをクリーンアップしたい。
このセクションでは、インスタンスごとの構成でステートフル ポリシーを完全に削除する方法について説明します。ステートフル ポリシーまたはインスタンスごとの構成のサブセットのみを削除する必要がある場合は、次のセクションをご覧ください。
- MIG 内のすべての VM に対して、以前のステートフル永続ディスクをステートレスとして宣言する。
- MIG 内のすべての VM に対して、以前のステートフル ネットワーク インターフェースをステートレスとして宣言する。
- MIG 内の特定の VM に対して、ステートフル ディスクの接続解除またはステートレス ディスクの宣言を行う。
- MIG 内の特定の VM からステートフル メタデータを削除する。
- MIG 内の特定の VM から静的 IP アドレスの関連付けを解除する。
ステートフル ポリシーの削除
ステートフル ポリシーを削除すると、MIG 内のすべての VM に影響します。MIG では、個々のインスタンスのインスタンスごとの構成でリソースが構成されていない限り、ステートフル ポリシーで構成されたすべてのステートフル リソースがステートレスとして扱われます。後続のインスタンスの再作成、自動修復、または更新のオペレーションでは、現在のステートレス リソースの状態が失われる可能性があります。
- インスタンス テンプレートで定義されているソースからディスクの削除や再作成を行えます。
- IP アドレスは変更される場合があります。
コンセプトについては、リソースをステートフル ポリシーから削除した場合の保持状態への影響をご覧ください。
ステートフル ポリシーからすべての構成を削除するには、該当するフラグを指定して gcloud compute instance-groups managed update
コマンドを実行します。使用できるフラグは次のとおりです。
--remove-stateful-disks
: 構成したすべてのステートフル ディスクのデバイス名を一覧表示します。--remove-stateful-internal-ips
: すべての構成済みのステートフル内部 IP アドレスのネットワーク インターフェース名を一覧表示します。--remove-stateful-external-ips
: すべての構成済みのステートフル外部 IP アドレスのネットワーク インターフェース名を一覧表示します。
たとえば、ステートフル ポリシーにデバイス名が 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 アドレスを自動的かつ非同期的に削除します。
ステートフル ポリシーのすべての構成を削除するには、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 が再作成または更新されると、アイテムの状態が失われます。
- インスタンス テンプレート内のソースからディスクが接続解除することも、再作成することもできます。
- メタデータが削除されるか、インスタンス テンプレートで定義されている値にリセットされます。
- IP アドレスは変更される場合があります。
詳細については、インスタンスごとの構成からアイテムを削除した場合の保持状態への影響をご覧ください。
インスタンスごとの構成を完全に削除するには、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 deleteINSTANCE_GROUP_NAME \ --instancesINSTANCE_NAME [,INSTANCE_NAME ,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-actionMINIMAL_ACTION ]
次のように置き換えます。
INSTANCE_GROUP_NAME
: MIG の名前。INSTANCE_NAME
: インスタンスごとの構成を削除するインスタンスの名前。MINIMAL_ACTION
: インスタンスごとの構成の更新を VM に適用する際に実行する最小のアクション。この値は次のいずれかにする必要があります。none
: アクションなし。refresh
: VM を停止せずに適用できる更新を適用します。restart
: VM を停止してから再起動します。replace
: VM を再作成します。
たとえば、example-group
内の node-1
に対するインスタンスごとの構成を削除するには、次のコマンドを実行します。
gcloud compute instance-groups managed instance-configs delete example-group \ --instances node-1 \ --update-instance
VM が更新されて構成の変更が適用されたため、MIG で node-1
に対するインスタンスごとの構成が削除され、以前のステートフル アイテムはステートフルとして扱われなくなります。
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 ",...] }
次のように置き換えます。
PROJECT_ID
: リクエストのプロジェクト IDZONE
: MIG が配置されているゾーン(ゾーン MIG に適用)- リージョン MIG の場合は、
zones/ZONE
をregions/REGION
に置き換え、MIG のリージョンを指定します
- リージョン MIG の場合は、
INSTANCE_GROUP_NAME
: MIG の名前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 にフィードバックをお寄せください。
次のステップ
- ステートフル MIG を構成する。
- VM のステータスやプロパティなど、特定の MIG とそのマネージド インスタンスに関する情報を取得する。
- ステートフル MIG について学習する。
- MIG とマネージド インスタンスの操作について学習する。