VPC Service Controls の境界外から保護されたリソースへのパブリック エンドポイント アクセスを許可する

このページでは、上り(内向き)ルールと下り(外向き)ルールを使用して、VPC ネットワークの内部 IP アドレスからサービス境界へのトラフィックを許可する方法について説明します。

リファレンス アーキテクチャ

次のリファレンス アーキテクチャでは、サービス プロジェクト ph-fm-svc-project(基盤モデル サービス プロジェクト)に Gemini モデルを含む共有 VPC がデプロイされ、次のサービス ポリシー属性により、Vertex AI の生成 AI 用の Vertex AI API への既知のパブリック アクセスが許可されています。

  • 単一の VPC Service Controls 境界
  • アクセスレベル - 既知の外部パブリック エンドポイント CIDR の範囲
  • プロジェクト定義のユーザー ID

VPC Service Controls を使用してサービス境界を作成するアーキテクチャ図。

アクセスレベルを作成します。

Access Context Manager を使用すると、 Google Cloud 組織管理者は、Google Cloudのプロジェクトとリソースに対してきめ細かい属性ベースのアクセス制御を定義できます。管理者はまずアクセス ポリシーを定義します。これは、アクセスレベルとサービス境界用の組織全体のコンテナです。

アクセスレベルは、リクエストに対応するために要件を示します。次に例を示します。

  • デバイスの種類とオペレーティング システム(Chrome Enterprise Premium ライセンスが必要)
  • IP アドレス
  • ユーザー ID

このリファレンス アーキテクチャでは、パブリック IP サブネットワーク アクセスレベルを使用して VPC Service Controls アクセス ポリシーを構築します。

  1. Google Cloud コンソールの上部にあるプロジェクト セレクタで、[すべて] タブをクリックし、組織を選択します。

  2. ベーシック アクセスレベルを作成するの手順に沿って、ベーシック アクセスレベルを作成します。次のオプションを指定します。

    1. [条件を作成] で、[基本モード] を選択します。
    2. [アクセスレベルのタイトル] フィールドに、「corp-public-block」と入力します。
    3. [条件] セクションの [条件を満たしている場合に返される値:] オプションで、[TRUE] を選択します。
    4. [IP サブネットワーク] で [パブリック IP] を選択します。
    5. IP アドレス範囲には、VPC Service Controls の境界へのアクセスを必要とする外部 CIDR 範囲を指定します。

VPC Service Controls のサービス境界を構築する

サービス境界を作成するときに、保護されたプロジェクトに加えて VPC Service Controls の境界を作成するときにアクセスレベル(IP アドレス)を指定することで、境界外から保護されたサービスへのアクセスを許可します。共有 VPC で VPC Service Controls を使用する場合、ホスト プロジェクトとサービス プロジェクトの両方を含む大きな境界を 1 つ作成することがベスト プラクティスです。境界内でサービス プロジェクトのみを選択すると、サブネットはホスト プロジェクトに関連付けられているため、サービス プロジェクトに属するネットワーク エンドポイントは境界外にあるように見えます。

新しい境界の構成タイプを選択する

このセクションでは、ドライラン モードで VPC Service Controls のサービス境界を作成します。ドライラン モードでは、境界が適用されているかのように違反がログに記録されますが、制限されたサービスへのアクセスは阻止されません。自動適用モードに切り替える前にドライラン モードを使用することを、ベスト プラクティスとして推奨します。

  1. Google Cloud コンソールのナビゲーション メニューで [セキュリティ]、[VPC Service Controls] の順にクリックします。

    [VPC Service Controls] ページに移動

  2. プロンプトが表示されたら、組織、フォルダ、またはプロジェクトを選択します。

  3. [VPC Service Controls] ページで、[ドライラン モード] をクリックします。

  4. [新しい境界] をクリックします。

  5. [新しい VPC サービス境界] タブの [境界名] ボックスに、境界の名前を入力します。それ以外の場合は、デフォルト値を受け入れます。

    境界名の最大長は 50 文字で、先頭は英字にする必要があります。ASCII ラテン文字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを使用できます。境界名では大文字と小文字が区別され、アクセス ポリシー内で一意である必要があります。

保護するリソースを選択する

  1. [保護するリソース] をクリックします。

  2. 境界内で保護するプロジェクトまたは VPC ネットワークを追加する手順は次のとおりです。

    1. [リソースの追加] をクリックします。

    2. 境界にプロジェクトを追加するには、[リソースの追加] ペインで [プロジェクトを追加] をクリックします。

      1. プロジェクトを選択するには、[プロジェクトを追加] ダイアログでプロジェクトのチェックボックスをオンにします。次のプロジェクトのチェックボックスをオンにします。

        • aiml-host-project
        • ph-fm-svc-project
      2. [Add selected resources] をクリックします。追加されたプロジェクトが [プロジェクト] セクションに表示されます。

制限付きサービスを選択する

このリファレンス アーキテクチャでは、制限付き API のスコープが制限され、Gemini に必要な API のみが有効になります。ただし、ベスト プラクティスとして、Google Cloud サービスからデータが引き出されるリスクを軽減するため、境界を作成するときはすべてのサービスを制限することをおすすめします。

境界内で保護するサービスを選択するには、以下のようにします。

  1. [制限付きサービス] をクリックします。

  2. [制限付きサービス] ペインで [サービスを追加] をクリックします。

  3. [制限するサービスを指定] ダイアログで、[Vertex AI API] を選択します。

  4. [Vertex AI API を追加] をクリックします。

省略可: VPC でアクセス可能なサービスを選択する

VPC でアクセス可能なサービスの設定は、サービス境界内のネットワーク エンドポイントからアクセス可能なサービスのセットを制限します。このリファレンス アーキテクチャでは、[すべてのサービス] のデフォルト設定を維持しています。

  1. [VPC のアクセス可能なサービス] をクリックします。

  2. [VPC のアクセス可能なサービス] ペインで [選択したサービス] を選択します。

アクセスレベルを選択する

境界の外部から保護されたリソースへのアクセスを許可するには、以下のようにします。

  1. [アクセスレベル] をクリックします。

  2. [アクセスレベルを選択します] ボックスをクリックします。

    境界が作成された後にアクセスレベルを追加することもできます。

  3. corp-public-block アクセスレベルに対応するチェックボックスをオンにします。

上り(内向き)ポリシーと下り(外向き)ポリシー

このリファレンス アーキテクチャでは、[上り(内向き)ポリシー] ペインまたは [下り(外向き)ポリシー] ペインで設定を指定する必要はありません。

境界を作成する

上記の構成手順を完了したら、[境界を作成] をクリックして境界を作成します。

ドライラン モードで境界を検証する

このリファレンス アーキテクチャでは、サービス境界はドライラン モードで構成されているため、アクセス ポリシーの効果を適用せずにテストできます。つまり、ポリシーが有効になった場合に環境にどのような影響を与えるかを確認できますが、正当なトラフィックが中断されるリスクはありません。

ドライラン モードで境界を検証したら、自動適用モードに切り替えます

ドライラン モードで境界を検証する方法については、VPC Service Controls のドライラン ロギングをご覧ください。