マネージド Anthos Service Mesh の VPC Service Controls(一般提供)

マネージド Anthos Service Mesh では、リリースが 1.22.1-gke.100 以降の GKE クラスタで、Rapid チャンネルの一般提供(GA)機能として VPC Service Controls(VPC-SC)がサポートされています。Regular チャンネルと Stable チャンネルのプレビュー版の VPC-SC については、マネージド Anthos Service Mesh の VPC Service Controls をご覧ください。

現時点では、新しくプロビジョニングされたコントロール プレーンのみが VPC-SC の一般提供版をサポートしています。Google では、既存のコントロール プレーンを段階的に移行しており、コントロール プレーンが移行されたかどうかを特定する手順を提供する予定です。既存のコントロール プレーンがすでに移行されているかどうかを確認するには、サポートにお問い合わせください。

始める前に

VPC-SC の組織ポリシーとサービス境界は、組織レベルで構成されます。作業を行うユーザーに VPC-SC の管理に必要なロールが付与されていることを確認してください。

組織ポリシーを構成する

新しいマネージド Anthos Service Mesh コントロール プレーンを Rapid チャンネルにプロビジョニングする場合は、以下の一般提供の手順に沿って操作してください。それ以外の場合は、こちらのプレビュー版用の手順に沿って操作してください。

次の手順では、すべての新しいコントロール プレーンが VPC-SC(プレビュー版または一般提供版)をサポートしていることを確認します。ポリシーを設定すると、少なくとも 1.22.1-gke.100(VPC-SC の一般提供版をサポート)を実行しているクラスタに Rapid チャンネルをプロビジョニングできるようになります。ただし、そのようなクラスタで Regular チャンネルをプロビジョニングするには、VPC-SC プレビュー版を明示的にリクエストする必要があります。これがないと、Regular チャンネルで VPC-SC(一般提供)がまだ有効になっていず、ポリシーで禁止されているため、通常のコントロール プレーンが作成されます。

  1. 組織管理者は、このセクションの説明に従って組織のポリシーを構成する必要があります。そうしないと、VPC-SC を適用しないコントロール プレーンを誤ってプロビジョニングするおそれがあります。組織または個々のプロジェクトの組織のポリシーを編集し、コンソールまたは以下の gcloud コマンドを使用して「ASM マネージド コントロール プレーンで許可される VPC-SC モード」の制約を「COMPATIBLE」に設定します。

    gcloud resource-manager org-policies allow \
      meshconfig.allowedVpcscModes COMPATIBLE \
      --project=PROJECT_ID

    ここで

    • PROJECT_ID は、更新するプロジェクトの ID です。

    または

    gcloud resource-manager org-policies allow \
      meshconfig.allowedVpcscModes COMPATIBLE \
      --organization=ORGANIZATION_ID

    ここで

    • ORGANIZATION_ID は、更新する組織の ID です。

VPC-SC サービス境界を設定する

以下の手順でサービス境界を作成または更新します。

  1. サービス境界にクラスタ プロジェクトとフリート プロジェクトを追加します。サービス メッシュを複数の VPC-SC 境界に分散させることはできません。

  2. 制限付きサービスをサービス境界に追加します。

    サービス境界の許可されたサービスのリストと制限付きサービスのリストに特定のサービスを追加する必要があります。そうすることで、Anthos Service Mesh クラスタがそれらのサービスにアクセスできます。これらのサービスへのアクセスは、クラスタの Virtual Private Cloud(VPC)ネットワーク内でも制限されます。

    これらのサービスを追加しないと、Anthos Service Mesh でエラーが発生するか、Anthos Service Mesh が適切に機能しない場合があります。たとえば、Mesh Configuration API をサービス境界に追加しておかないと、Anthos Service Mesh でエラーが発生し、ワークロードは Envoy の構成をマネージド コントロール プレーンから受信できません。

    コンソール

    1. サービス境界の更新の手順に沿って境界を編集します。
    2. [VPC サービス境界の編集] ページをクリックします。
    3. [制限付きサービス] の [保護するサービス] で、[サービスを追加] をクリックします。
    4. [制限するサービスの指定] ダイアログで [サービスをフィルタ] をクリックし、「Mesh Configuration API」と入力します。
    5. サービスのチェックボックスをオンにします。
    6. [Mesh Configuration API を追加] をクリックします。
    7. 手順 c~f を繰り返して、以下を追加します。
      • Cloud Service Mesh Certificate Authority API
      • GKE Hub API
      • Cloud IAM API
      • Cloud Monitoring API
      • Cloud Trace API
      • Cloud Monitoring API
      • Google Cloud Resource Manager API
      • Cloud Run API
      • Google Compute Engine API
      • Google Container Registry API
      • Artifact Registry API
      • Google Cloud Storage API
    8. [保存] をクリックします。

    gcloud

    制限付きサービスのリストを更新するには、update コマンドを使用して、追加するサービスをカンマ区切りリストとして指定します。

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,run.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com \
      --policy=POLICY_NAME

    ここで

    • PERIMETER_NAME は、更新するサービス境界の名前です。

    • POLICY_NAME は組織のアクセス ポリシーの名前です。例: 330193482019

  3. [VPC のアクセス可能なサービス] をクリックして「すべての制限付きサービス」に設定し、上記の手順で制限したサービスに VPC-SC 境界内から引き続きアクセスできるようにします。

  4. Anthos Service Mesh を境界ネットワークからインストールしない限り、asmcli コマンドを実行する ID にサービス境界へのアクセスを許可する上り(内向き)ルールを追加します。

    詳細については、サービス境界の更新をご覧ください。

VPC-SC プレビュー版との違い

VPC-SC の一般提供版とプレビュー版の違いは、コントロール プレーンのプロビジョニングの容易さです。VPC-SC の一般提供版が有効になっているコントロール プレーンは、VPC-SC 境界の構成(またはその欠落)を常に適用するため、プロビジョニング時に VPC-SC の情報は必要ありません(明示的な有効化は不要です)。一方、VPC-SC のプレビュー版はプロビジョニング時に明示的に有効にする必要があります。VPC-SC の境界が構成されていない場合、想定どおりに機能しません。

VPC-SC のプレビュー版の手順で VPC-SC 一般提供版の対象となるコントロール プレーンをプロビジョニングすると、VPC-SC 一般提供版が有効になります。

VPC-SC 境界にマネージド Anthos Service Mesh をインストールする

このセクションでは組織の管理者権限は必要ありません。マネージド Anthos Service Mesh を構成するの手順に沿って操作します。続いて、コントロール プレーンが正常にプロビジョニングされていることを確認し、VPC-SC 関連のエラーがないことを確かめます。

トラブルシューティング

コンテナがコンテナ イメージをダウンロードできない

これは、イメージがサービス境界の外側にある場合に発生することがあります。ダウンロードするイメージを境界内にあるバケットに移動するか、境界を更新して下り(外向き)ルールを追加します。通常、下り(外向き)ルールでは、選択した ID に Container Registry APIArtifact Registry APICloud Storage API へのアクセスを許可できます。

ControlPlaneRevision CRD のステータス フィールドに VPC-SC エラーが表示される

次のコマンドを実行してエラーの詳細情報を取得します。

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

ここで

  • PROJECT_ID は、エラーが発生したプロジェクトのプロジェクト ID です。