グローバル VM 拡張機能ポリシー

グローバル拡張機能ポリシーを使用すると、プロジェクト内の複数のゾーンとリージョンにわたって拡張機能を管理できます。グローバル ポリシーを適用すると、VM Extension Manager は、ポリシー条件に一致するリージョンまたはゾーンの VM に、指定された拡張機能がインストールされ、実行されていることを確認します。

次の図は、グローバル拡張機能ポリシーを使用して、プロジェクト内の異なるゾーンとリージョンにまたがって VM に拡張機能を適用する方法を示しています。

ゾーンとリージョンにまたがる VM にグローバル ポリシーが適用されることを示す VM Extension Manager のアーキテクチャ図。

上の図に示すように、グローバル拡張機能ポリシーはプロジェクト レベルで定義できます。VM Extension Manager は、選択条件に一致するすべての VM にこのポリシーを適用します。たとえば、プロジェクト内のすべてのゾーンとリージョンで env=prod ラベルの付いた VM を選択すると、VM Extension Manager は、指定した拡張機能(Ops エージェントや SAP 用拡張機能など)をこれらの VM にのみ適用します。

グローバル ポリシーのロールアウト計画

グローバル ポリシーは、ロールアウト プランを使用して、ゾーンとリージョン間の拡張機能のデプロイを管理します。ロールアウト プランを使用すると、拡張機能のデプロイを制御できるため、広範囲にわたる問題のリスクを最小限に抑えることができます。ロールアウト計画を使用すると、更新の順序とタイミングを定義して、段階的かつ制御されたロールアウトを確保できます。

グローバル ポリシーを作成または更新するときに、次のいずれかのロールアウト プランを指定できます。

  • ロールアウトが遅い。このロールアウトでは、一定期間にわたってさまざまなゾーンに拡張機能を段階的にデプロイします。このロールアウトのデフォルト期間は 5 日間です。このアプローチをおすすめするのは、初期のロールアウトで潜在的な問題を特定して対処することで、フリート全体に影響が及ぶのを防ぐことができるためです。
  • 高速リリース。このロールアウトでは、すべてのゾーンとリージョンにわたるすべてのターゲット VM に拡張機能が直ちにデプロイされます。この方法は、非本番環境で拡張機能やパッチを迅速にデプロイする必要がある場合に便利です。

カスタム ロールアウト プランを定義して、ゾーンまたはリージョンに基づくデプロイのウェーブと、ウェーブ間の待機時間を指定することもできます。詳細については、rolloutPlans.insert メソッドをご覧ください。

ロールアウトの競合の動作

グローバル拡張機能ポリシーを作成または更新するときに、次の状況で競合が発生することがあります。

  • グローバル ポリシーを作成する場合。同じ名前のグローバル ポリシーがゾーンにすでに存在する場合、ポリシー名の競合が発生します。
  • グローバル ポリシーを更新する場合。ポリシー コンテンツの競合は、既存のゾーンポリシーがグローバル ポリシーのロールアウトとは別に変更された場合に発生します。たとえば、ゾーン API 呼び出しを使用してゾーン ポリシーを変更し、後続のグローバル ポリシーのロールアウトで同じゾーン ポリシーを変更しようとすると、競合が発生します。

このような競合を回避するために、ロールアウトの競合動作を指定できます。これにより、ロールアウト中にグローバル ポリシーが競合するゾーンポリシーを上書きするかどうかを決定できます。次のいずれかの動作を指定できます。

  • 上書きしない(デフォルト)。競合する動作を指定しない場合、グローバル ポリシーのロールアウトでは、競合するゾーンポリシーは上書きされません。そのゾーンでは、ゾーンポリシーの構成が優先されます。
  • 上書き。競合の動作を overwrite に設定すると、グローバル ポリシーが競合するゾーン ポリシーをオーバーライドし、グローバル ポリシーの構成がそのゾーンに適用されます。

ロールアウトの競合とポリシーの優先度は、個別に機能する別個の機能です。ポリシーの優先度の詳細については、ポリシーの優先度と競合の解決をご覧ください。

ロールアウトの競合の詳細については、globalVmExtensionPolicies.insert メソッドconflictBehavior パラメータをご覧ください。

ロールアウトを再試行する

グローバル拡張機能ポリシーを更新または削除すると、VM Extension Manager は新しいロールアウトを開始し、ロールアウト計画に従って変更を適用します。ロールアウトが中断された場合や、新しいゾーンが追加された場合は、同じポリシーの新しいロールアウトを開始してオペレーションを再試行できます。

更新ポリシーのロールアウトを再試行する

以下に、更新ポリシーのロールアウトを再試行する必要があるシナリオを示します。

  • 新しいゾーンが追加されました。グローバル ポリシーのロールアウト後に新しいゾーンが使用可能になっても、VM Extension Manager は既存のポリシーを新しいゾーンの VM に自動的に適用しません。 Google Cloud 更新のロールアウトを再試行して、新しいゾーンの VM に拡張機能ポリシーを適用できます。
  • ゾーン ポリシーの変更を元に戻します。ゾーン ポリシーが個別に変更された場合(ゾーン API 呼び出しを使用してゾーン ポリシーを変更した場合など)、conflictBehavioroverwrite に設定して更新ロールアウトを再試行し、グローバル ポリシーの構成を再適用してゾーン ポリシーの変更を上書きできます。
  • 中断されたロールアウト。以前のロールアウトが完了する前に失敗した場合は、新しいロールアウトを開始してアップデートを再試行できます。
  • ロールアウトを加速する。進行中のロールアウトの進行が遅すぎる場合は、FAST_ROLLOUT プランまたはカスタム ロールアウト プランを使用して新しいロールアウトを開始し、更新プロセスを高速化できます。

詳細については、globalVmExtensionPolicies.update メソッドretryUuid パラメータをご覧ください。

ロールアウトを再試行する場合は、再試行リクエストを識別するための Universally Unique Identifier(UUID)を指定する必要があります。UUID ジェネレータを使用して作成できます。UUID は 32 文字の 16 進数形式(例: a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8)を使用する必要があります。

削除ポリシーのロールアウトを再試行する

次のリストは、ポリシーを削除するためにロールアウトを再試行する必要があるシナリオを示しています。

  • 中断されたロールアウト。ポリシーを削除する以前のロールアウトが中断された場合や、正常に完了しなかった場合は、新しいロールアウトを開始して削除オペレーションを再試行できます。
  • ロールアウトを加速する。進行中の削除ロールアウトの進行が遅すぎる場合は、FAST_ROLLOUT プランまたはカスタム ロールアウト プランを使用して新しいロールアウトを開始し、削除プロセスを高速化できます。

詳細については、globalVmExtensionPolicies.delete メソッドretryUuid パラメータをご覧ください。

次のステップ

拡張機能の管理について詳しくは、以下のリソースをご覧ください。