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

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

詳細については、VM Extension Manager についてをご覧ください。

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

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

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

グローバル拡張機能ポリシーのロールアウト プラン

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

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

  • 低速ロールアウト 。このロールアウトでは、一定期間にわたって異なるゾーンに拡張機能が段階的にデプロイされます。このロールアウトのデフォルト期間は 5 日間です。このアプローチをおすすめする理由は、フリート全体に影響を与える前に、初期のロールアウトで潜在的な問題を特定して対処できるためです。
  • 高速ロールアウト 。このロールアウトでは、すべてのゾーンとリージョンで、ターゲット VM すべてに拡張機能が即座にデプロイされます。このアプローチは、本番環境以外の環境で拡張機能やパッチを迅速にデプロイする必要がある場合に便利です。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ポリシーを削除するためにロールアウトを再試行する必要があるシナリオを以下に示します。

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

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

次のステップ

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