以下のセクションでは、さまざまな構成、マネージド インスタンス グループ(MIG)のアクション、またはインスタンス ライフサイクル イベントが、ステートフル MIG のマネージド インスタンスの保持状態に与える影響について説明します。
自動修復による保持状態の処理方法
仮想マシン(VM)インスタンスが実行を停止するか、異常になると、自動修復によって VM が再作成され、構構成済みのアイテムの状態が保持されます。
- MIG はステートフル ディスクと IP アドレスを保持し、VM の再作成時に再アタッチします。
- MIG はインスタンスごとの構成で構成されたステートフル メタデータを保持し、VM の再作成時に設定します。
ステートフル ブートディスクの破損による VM インスタンスの再作成エラーを回避するには、自動修復で元のイメージを使用してディスクをゼロから再作成できるように、ブートディスクをステートレスのままにします。
インスタンスの更新による保持状態の処理方法
インスタンスを更新すると、MIG はインスタンスの保持状態(ディスク、IP アドレス、メタデータ)を維持します。
- 更新中に VM インスタンスが再作成または再起動された場合、MIG はステートフル ディスクと IP アドレスを保持して再アタッチします。
- MIG はインスタンスごとの構成で構成されたステートフル メタデータを保持し、更新時にインスタンスに対して設定します。
新しいインスタンス テンプレートを設定するときに、ステートフル ポリシーで指定したすべてのディスクを定義する必要があります。ステートフル ポリシーで定義されているディスクを省略する新しいインスタンス テンプレートを設定することはできません。これにより、ステートフル ディスクが誤って削除されるのを防ぐことが可能です。
ステートフル ディスクがステートフル ポリシーで定義されている場合、これらのディスクを MIG から削除するには、次の手順を使用します。
- ステートフル ポリシーからディスク構成を削除します。
- (省略可)ディスクを保持する場合は、VM インスタンスからディスクの接続を解除します。
- ディスクが定義されていない新しいインスタンス テンプレートをロールアウトします。
ステートフル ディスクは更新中に保持する必要があり、新しいイメージに更新するにはディスクを再作成する必要があるため、これらのディスクは新しいイメージに更新できません。
ブートディスクとバイナリまたは一時ファイルが含まれるディスクをステートレスのままにして、ステートフル ディスクにデータを保持することをおすすめします。このような構成では、次の動作がサポートされます。
- ブートディスクとバイナリが含まれるディスクを、新しいバージョンとセキュリティ パッチが含まれる新しいイメージに簡単に自動的に更新できます。データを別のステートフル ディスクに保持しながら、自動更新を使用するか、手動でインスタンスを更新してステートレス ディスクを再作成できます。
- インスタンスに他の更新をロールアウトするときに、ステートフル ディスク上のデータを保持できます。
たとえば、ブートディスクをステートフルに構成して、バイナリとデータを同じディスクに保持するレガシー アプリケーションをホストできます。これにより、アプリケーションを MIG に移行して、自動修復を利用できます。ただし、このシナリオでは、Debian システムで apt などのパッケージ マネージャーを使用するか、構成管理ツールを使用して個々のパッケージを更新することによって、ソフトウェアとオペレーティング システムを更新する必要があります。
ステートフル ディスクやメタデータを構成せずにカスタム インスタンス名のみを構成する場合は、自動ローリング アップデートを使用できます。自動ローリング アップデートでは、更新ツールの置換ポリシーを RECREATE
に設定する必要があります。SUBSTITUTE
置換メソッドでは既存の各 VM が別の名前と保持状態に置き換えられるため、このメソッドはステートフル MIG でのインスタンスの自動更新には使用できません。
グループのサイズ変更による保持状態への影響
グループサイズを小さくする
MIG では削除する VM インスタンスを選択し、保持する必要がある VM を選択するため、ステートフル MIG のサイズを小さくすることはおすすめしません。不要になった特定のインスタンスを削除することによって、制御された方法で MIG VM インスタンスを削除できます。
MIG のサイズを小さくすると、MIG では余分なすべての VM インスタンスが関連付けられた保持状態とともに削除されます。これを防ぐには、永続 VM インスタンスの削除時にステートフル ディスクを切断して IP アドレスとともに保持するように MIG を構成できます。ステートフル メタデータは保持状態とともに削除されます。詳細については、インスタンスの削除による保持状態への影響をご覧ください。
グループサイズを大きくする
ステートフル MIG のサイズを大きくすると、グループで現在のインスタンス テンプレートから VM が自動生成された名前(ベース インスタンス名 + サフィックス)で作成されます。適用されたステートフル構成は、対応するマネージド インスタンスの preservedStateFromPolicy
で確認できます。MIG でインスタンスが作成されたら、これらのインスタンスのインスタンスごとの構成で、ステートフル メタデータと追加のステートフル ディスクまたは IP アドレスを定義できます。
カスタム インスタンス名を選択してグループサイズを大きくするには、手動でインスタンスを作成し、オプションでインスタンスごとに各インスタンスのステートフル メタデータ、IP アドレス、ディスクを指定して状態をブートストラップします。
インスタンスの削除による保持状態への影響
MIG 内の VM は、次の場合に完全に削除されます。
- グループサイズを小さくすると、MIG でこの VM インスタンスが削除対象として選択されます。
- グループ全体を削除するか、
- MIG からインスタンスを削除します。
VM が完全に削除されると、MIG では対応するインスタンスごとの構成と、保持状態の構成を含めてマネージド インスタンスも削除されます。
VM を完全に削除すると、すべてのステートフル メタデータの Key-Value ペアが失われます。
永続インスタンスの削除時にステートフル ディスクと IP アドレスを保持するか削除するかを構成するには、ステートフル ポリシーまたはインスタンスごとの構成で各リソースに対して autoDelete
フラグを設定します。このフラグでは次の 2 つのオプションがサポートされます。
NEVER
: デフォルト。MIG でディスクが削除されることはありません。ON_PERMANENT_INSTANCE_DELETION
: インスタンスが完全に削除されると、MIG によってディスクが削除されます。
MIG では、インスタンスの自動修復、更新、または再作成の際にステートフル リソースが削除されません。
次の例では、MIG に、インスタンスごとの構成で保持状態が定義されている単一の VM node-1
があります。保持状態には、2 つのディスク(青と緑)と id:xyz273
メタデータが含まれます。MIG のサイズを 0(ゼロ)に変更すると、MIG によってインスタンス node-1
が完全に削除され、次のような影響が生じます。
- MIG でマネージド インスタンスとその保持状態の構成が削除されます。
- MIG でインスタンスごとの構成が削除されます。
- MIG で実際の VM インスタンス リソースが削除されます。
- VM インスタンスとその保持状態の構成が削除されるため、メタデータ
id:xyz273
が失われます。 - このディスクのインスタンスごとの構成に
autoDelete: ON_PERMANENT_INSTANCE_DELETION
が含まれているため、青のステートフル ディスクが削除されます。 - このディスクのインスタンスごとの構成に
autoDelete:NEVER
が含まれているため、緑のステートフル ディスクの接続が解除されます。
インスタンスの放棄による保持状態への影響
MIG から VM インスタンスを放棄すると、ステートフル メタデータ、IP アドレス、ディスクを含めて VM の状態が MIG 外のインスタンスで保持されます。VM が MIG で管理されなくなったため、MIG によって対応するインスタンスごとの構成と、インスタンスの保持状態の構成を含むマネージド インスタンスが削除されます。
次の例では、VM node-1
で、ステートフル ポリシー(青のディスク)とインスタンスごとの構成(緑のディスクとメタデータ id:xyz273
)で定義された状態が保持されます。MIG でインスタンス node-1
を破棄した場合、その保持状態は次のようになります。
- スタンドアロン VM インスタンス
node-1
で、その状態が保持されます。すべてのディスクがアタッチされたままになり、メタデータid:xyz273
が VM に設定されたままになります。 - MIG でマネージド インスタンスとその保持状態の構成が削除されます。
- MIG でインスタンスごとの構成が削除されます。
- ステートフル ポリシーは MIG のすべてのインスタンスに適用されるため、変更されません。
リージョン グループによる保持状態の処理方法
ステートフル リージョン MIG ではインスタンスの保持状態を、ゾーン MIG の場合と同じ方法で処理します(リージョン MIG での複数のゾーン内の VM インスタンスの作成を除く)。
- インスタンスの作成時に、リージョン MIG では、ゾーンレベルで障害が発生した場合のアプリの可用性を最大化するために、リージョン内のゾーン間で VM が均等に分散されます。
- 既存のインスタンスの場合、ステートフル リージョン MIG では、保持状態が特定のゾーンに保存されて移動できないため、既存の VM をゾーン間で自動的に再配布または移動することはできません。そのため、ステートフル リージョン MIG では、
NONE
のインスタンス再配布タイプ設定のみがサポートされます。
フィードバック
ステートフル MIG に関するユースケース、課題、フィードバックを募集しています。mig-discuss@google.com にフィードバックをお寄せください。
次のステップ
- ステートフル MIG の仕組みを確認する。
- ステートフル MIG の構成を読み、ステートフル ワークロードをサポートするために、マネージド インスタンスでインスタンス名、永続ディスク、メタデータを維持する方法を確認する。
- マネージド インスタンス グループの詳細を見る。
- マネージド インスタンスを操作する。