共有 VPC アーキテクチャでは、ホスト プロジェクトのネットワークがサービス プロジェクトと共有されます。このため、最近までこれらのプロジェクトを異なる境界に分離することができませんでした。プライベート IP アドレスベースの上り(内向き)ルールと下り(外向き)ルールの導入により、ホスト プロジェクトとサービス プロジェクトを別々の境界に配置し、これらのルールによる制御されたアクセスを維持できるようになりました。
リファレンス アーキテクチャ
サービス ポリシーでは、次の属性が使用されます。
- VPC Service Controls 境界
- Access Context Manager のプライベート IP アドレス
- 上り(内向き)と下り(外向き)のルール
このアーキテクチャでは、ネットワーキング コンポーネントで Private Service Connect エンドポイントを使用して Google API にアクセスします。

このリファレンス アーキテクチャでは、上り(内向き)と下り(外向き)のルールとプライベート IP アドレスを使用して、次のサービス境界とプロジェクトの Compute Engine インスタンスと Vertex AI API 間のアクセスを制御します。
| 境界 | 境界内のプロジェクト |
|---|---|
aiml-host-perimeter |
aiml-host-project |
high-trust-svc-perimeter |
ph-fm-svc-project-1 |
low-trust-svc-perimeter |
ph-fm-svc-project-2、ph-fm-svc-project-3 |
各サービス プロジェクトの Compute Engine インスタンスから Vertex AI API へのアクセスは、VPC Service Controls の上り(内向き)ルールと下り(外向き)ルールによって制御されます。これらのルールでは、プライベート IP アドレスで構成された Access Context Manager アクセスレベルを使用して、各サービス プロジェクトと共有されるサブネットがそれぞれの境界にアクセスできるようにします。
省略可: 組織のパブリック トラフィックのアクセスレベルを作成する
エンドユーザーがGoogle Cloud コンソールから Vertex AI にアクセスする必要がある場合は、このセクションの手順に沿って、VPC Service Controls で使用するアクセスレベルを作成します。ただし、API へのアクセスが限定公開のソース(オンプレミス用のプライベート Google アクセスまたは Cloud Workstations を使用したオンプレミスなど)からのプログラムによるアクセスのみである場合、アクセスレベルは必要ありません。
このリファレンス アーキテクチャでは、CIDR 範囲 corp-public-block を使用して、組織の従業員のトラフィックがGoogle Cloud コンソールにアクセスできるようにしています。
Access Context Manager を使用すると、 Google Cloud 組織管理者は、 Google Cloudのリソースに対してきめ細かい属性ベースのアクセス制御を定義できます。
アクセスレベルは、リクエストに対応するために要件を示します。次に例を示します。
- デバイスの種類とオペレーティング システム(Chrome Enterprise Premium ライセンスが必要)
- IP アドレス
- 位置情報
- ユーザー ID
組織で Access Context Manager を初めて使用する場合は、管理者がアクセス ポリシーを定義する必要があります。これは、アクセスレベルとサービス境界のコンテナです。方法は次のとおりです。
- Google Cloud コンソールの上部にあるプロジェクト セレクタで、[すべて] タブをクリックし、組織を選択します。
- ベーシック アクセスレベルを作成するの手順に沿って、ベーシック アクセスレベルを作成します。次のオプションを指定します。
- [条件を作成] で、[基本モード] を選択します。
- [アクセスレベルのタイトル] フィールドに、「
corp-public-block」と入力します。 - [条件] セクションの [条件を満たしている場合に返される値:] オプションで、[TRUE] を選択します。
- [IP サブネットワーク] で [パブリック IP] を選択します。
- IP アドレス範囲には、VPC Service Controls の境界へのアクセスを必要とする外部 CIDR 範囲を指定します。
VPC Service Controls のサービス境界を構築する
サービス境界を作成するときに、境界外から保護されたサービスへのアクセスを許可する方法の一つは、アクセスレベルを作成することです(この例では IP アドレスを使用)。このリファレンス アーキテクチャでは、上り(内向き)ルールと下り(外向き)ルールを使用して、Vertex AI API と Compute Engine API の通信へのアクセスを制御する複数のサービス境界が作成されます。
- サービス プロジェクト
ph-fm-svc-project-1に属するコンピューティング リソースのサブネットは、aiml-host-projectからph-fm-svc-project-1の Vertex AI API と Compute Engine API へのアクセスが許可されています。 - サービス プロジェクト
ph-fm-svc-project-2とph-fm-svc-project-3に属するコンピューティング リソースのサブネットは、aiml-host-projectからプロジェクトph-fm-svc-project-2とプロジェクトph-fm-svc-project-3の Vertex AI API と Compute Engine API へのアクセスが許可されています。
各サービス プロジェクトは、ホスト プロジェクトの Compute Engine API にアクセスできます(特定のサービス プロジェクトでコンピューティング リソースが作成されると、ホスト プロジェクトとサービス プロジェクト間で双方向フローが発生するため)。
このリファレンス アーキテクチャでは、各サブネットのアクセスレベルが作成され、上り(内向き)ルールと下り(外向き)ルールにより、ホスト プロジェクトの境界と各サービス プロジェクトの境界間で必要なフローが許可されます。
gce-subnet-1 アクセスレベルを作成する
- Google Cloud コンソールの上部にあるプロジェクト セレクタで、[すべて] タブをクリックし、組織を選択します。
- ベーシック アクセスレベルを作成するの手順に沿って、ベーシック アクセスレベルを作成します。次のオプションを指定します。
- [条件を作成] で、[基本モード] を選択します。
- [アクセスレベルのタイトル] フィールドに、「
gce-subnet-1」と入力します。 - [条件] セクションの [条件を満たしている場合に返される値:] オプションで、[TRUE] を選択します。
- [IP サブネットワーク] で [プライベート IP] を選択します。
- [VPC ネットワーク] を選択し、プロジェクトを特定して、VPC 名を選択します。
- [IP サブネットワーク] で、ホスト プロジェクトが
ph-fm-svc-project-1と共有したサブネットを表す CIDR 範囲を選択します。
gce-subnet-2 アクセスレベルを作成する
- Google Cloud コンソールの上部にあるプロジェクト セレクタで、[すべて] タブをクリックし、組織を選択します。
- ベーシック アクセスレベルを作成するの手順に沿って、ベーシック アクセスレベルを作成します。次のオプションを指定します。
- [条件を作成] で、[基本モード] を選択します。
- [アクセスレベルのタイトル] フィールドに、「
gce-subnet-2」と入力します。 - [条件] セクションの [条件を満たしている場合に返される値:] オプションで、[TRUE] を選択します。
- [IP サブネットワーク] で [プライベート IP] を選択します。
- [VPC ネットワーク] を選択し、プロジェクトを特定して、VPC 名を選択します。
- [IP サブネットワーク] で、ホスト プロジェクトが
ph-fm-svc-project-2と共有したサブネットを表す CIDR 範囲を選択します。
gce-subnet-3 アクセスレベルを作成する
- Google Cloud コンソールの上部にあるプロジェクト セレクタで、[すべて] タブをクリックし、組織を選択します。
- ベーシック アクセスレベルを作成するの手順に沿って、ベーシック アクセスレベルを作成します。次のオプションを指定します。
- [条件を作成] で、[基本モード] を選択します。
- [アクセスレベルのタイトル] フィールドに、「
gce-subnet-3」と入力します。 - [条件] セクションの [条件を満たしている場合に返される値:] オプションで、[TRUE] を選択します。
- [IP サブネットワーク] で [プライベート IP] を選択します。
- [VPC ネットワーク] を選択し、プロジェクトを特定して、VPC 名を選択します。
- [IP サブネットワーク] で、ホスト プロジェクトが
ph-fm-svc-project-3と共有したサブネットを表す CIDR 範囲を選択します。
aiml-host-perimeter の構成手順
新しい境界の構成タイプを選択する
このセクションでは、ドライラン モードで VPC Service Controls(aiml-host-perimeter)のサービス境界を作成します。ドライラン モードでは、境界が適用されているかのように違反がログに記録されますが、制限されたサービスへのアクセスは阻止されません。自動適用モードに切り替える前にドライラン モードを使用することを、ベスト プラクティスとして推奨します。
Google Cloud コンソールのナビゲーション メニューで、[セキュリティ]、[VPC Service Controls] の順にクリックします。
プロンプトが表示されたら、組織、フォルダ、またはプロジェクトを選択します。
[VPC Service Controls] ページで、[ドライラン モード] をクリックします。
[新しい境界] をクリックします。
[新しい VPC サービス境界] タブの [境界名] ボックスに、境界の名前を入力します(例:
aiml-host-perimeter)。境界名の最大長は 50 文字で、先頭は英字にする必要があります。ASCII ラテン文字(
a-z、A-Z)、数字(0-9)、アンダースコア(_)のみを使用できます。境界名では大文字と小文字が区別され、アクセス ポリシー内で一意である必要があります。境界のデフォルト設定を受け入れます。
保護するリソースを選択する
- [保護するリソース] をクリックします。
- 境界内で保護するプロジェクトまたは VPC ネットワークを追加する手順は次のとおりです。
- [リソースの追加] をクリックします。
- 境界にプロジェクトを追加するには、[リソースの追加] ペインで [プロジェクトを追加] をクリックします。
- 追加するプロジェクト(この場合は
aiml-host-project)を選択します。 - [Add selected resources] をクリックします。追加されたプロジェクトが [プロジェクト] セクションに表示されます。
- 追加するプロジェクト(この場合は
制限付きサービスを選択する
このリファレンス アーキテクチャでは、制限付き API のスコープが制限され、Vertex AI に必要な API のみが有効になります。ただし、ベスト プラクティスとして、 Google Cloud サービスからデータが引き出されるリスクを軽減するため、境界を作成するときはすべてのサービスを制限することをおすすめします。
境界内で保護するサービスを選択するには、以下のようにします。
- [制限付きサービス] をクリックします。
- [制限付きサービス] ペインで [サービスを追加] をクリックします。
- [制限するサービスの指定] ダイアログで、Compute Engine API を選択します。
- [Add Compute Engine API] をクリックします。
省略可: VPC でアクセス可能なサービスを選択する
VPC でアクセス可能なサービスの設定は、サービス境界内のネットワーク エンドポイントからアクセス可能なサービスのセットを制限します。このリファレンス アーキテクチャでは、[すべてのサービス] のデフォルト設定を維持しています。
省略可: アクセスレベルを選択する
前のセクションで企業 CIDR アクセスレベルを作成した場合は、次の操作を行って、境界の外部から保護されたリソースへのアクセスを許可します。
- [アクセスレベル] をクリックします。
[アクセスレベルを選択します] ボックスをクリックします。
境界が作成された後にアクセスレベルを追加することもできます。
アクセスレベルに対応するチェックボックスをオンにします (このリファレンス アーキテクチャでは
corp-public-blockです)。
上り(内向き)ポリシーを構成する
特定のサービス プロジェクトでコンピューティング リソースが作成されると、ホスト プロジェクトとサービス プロジェクト間で双方向通信が行われます。これは、ホスト プロジェクトがサービス プロジェクトと共有されるサブネットを含む VPC ネットワークを所有しているためです。このセクションでは、これらのフローで 3 つのサービス プロジェクトすべてがホスト プロジェクトのコンピューティング リソースにアクセスできるようにする上り(内向き)ルールを構成します。
- 左側のメニューで [上り(内向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [上り(内向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- ソース: プロジェクト(
ph-fm-svc-project-1、ph-fm-svc-project-2、ph-fm-svc-project-3)
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: すべてのプロジェクト
- サービス: 選択したサービス
- 選択したサービス: Compute Engine API
- メソッド: すべてのメソッド
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
下り(外向き)ポリシーを構成する
このセクションでは、2 つの下り(外向き)ルールを構成します。
最初の下り(外向き)ルール
ホスト プロジェクトは ph-fm-svc-project-1 と共有されるサブネットを所有しているため、ホスト プロジェクトの境界から ph-fm-svc-project-1 の境界にアクセスできるようにする下り(外向き)ルールが必要です。企業アクセスレベルでは、エンドユーザーが構成されたアクセスレベルを使用してサービス プロジェクトにコンピューティング リソースを作成するときに、コンピューティング インスタンスの作成に必要な双方向通信が有効になります。
- 左側のメニューで、[下り(外向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [下り(外向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- [アクセスレベルの下り(外向き)ソースを有効にする] を選択します。
- アクセスレベル
corp-public-blockとgce-subnet-1。
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: 選択したプロジェクト
- プロジェクトを追加:
ph-fm-svc-project-1 - サービス: すべてのサービス
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
2 つ目の下り(外向き)ルール
ホスト プロジェクトは ph-fm-svc-project-2 と ph-fm-svc-project-3 で共有されるサブネットを所有しているため、これらのサブネットがホスト プロジェクトの境界からサービス プロジェクトの境界にアクセスできるようにするには、下り(外向き)ルールが必要です。企業アクセスレベルを使用すると、エンドユーザーが構成済みのアクセスレベルを使用してサービス プロジェクトにコンピューティング リソースを作成するときに、コンピューティング インスタンスの作成に必要な双方向通信が可能になります。
- 左側のメニューで、[下り(外向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [下り(外向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- [アクセスレベルの下り(外向き)ソースを有効にする] を選択します。
- アクセスレベル
corp-public-block、gce-subnet-2、gce-subnet-3。
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: 選択したプロジェクト
- プロジェクトを追加:
ph-fm-svc-project-2、ph-fm-svc-project-3 - サービス: すべてのサービス
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
境界を作成する
上記の構成手順を完了したら、[境界を作成] をクリックして境界を作成します。
high-trust-svc-perimeter の構成手順
新しい境界の構成タイプを選択する
Google Cloud コンソールのナビゲーション メニューで、[セキュリティ]、[VPC Service Controls] の順にクリックします。
プロンプトが表示されたら、組織、フォルダ、またはプロジェクトを選択します。
[VPC Service Controls] ページで、[ドライラン モード] をクリックします。
[新しい境界] をクリックします。
[新しい VPC サービス境界] タブの [境界名] ボックスに、境界の名前を入力します(例:
high-trust-svc-perimeter)。境界名の最大長は 50 文字で、先頭は英字にする必要があります。ASCII ラテン文字(
a-z、A-Z)、数字(0-9)、アンダースコア(_)のみを使用できます。境界名では大文字と小文字が区別され、アクセス ポリシー内で一意である必要があります。境界のデフォルト設定を受け入れます。
保護するリソースを選択する
- [保護するリソース] をクリックします。
- 境界内で保護するプロジェクトまたは VPC ネットワークを追加する手順は次のとおりです。
- [リソースの追加] をクリックします。
- 境界にプロジェクトを追加するには、[リソースの追加] ペインで [プロジェクトを追加] をクリックします。
- 追加するプロジェクト(この場合は
ph-fm-svc-project-1)を選択します。 - [Add selected resources] をクリックします。追加されたプロジェクトが [プロジェクト] セクションに表示されます。
- 追加するプロジェクト(この場合は
制限付きサービスを選択する
このリファレンス アーキテクチャでは、制限付き API のスコープが制限され、Gemini に必要な API のみが有効になります。ただし、ベスト プラクティスとして、 Google Cloud サービスからデータが引き出されるリスクを軽減するため、境界を作成するときはすべてのサービスを制限することをおすすめします。
境界内で保護するサービスを選択するには、以下のようにします。
- [制限付きサービス] をクリックします。
- [制限付きサービス] ペインで [サービスを追加] をクリックします。
- [制限するサービスの指定] ダイアログで、Compute Engine API を選択します。
- [Add Compute Engine API] をクリックします。
- [制限付きサービス] ペインで [サービスを追加] をクリックします。
- [制限するサービスを指定] ダイアログで、[Vertex AI API] を選択します。
- [Vertex AI API を追加] をクリックします。
省略可: VPC でアクセス可能なサービスを選択する
VPC でアクセス可能なサービスの設定は、サービス境界内のネットワーク エンドポイントからアクセス可能なサービスのセットを制限します。このリファレンス アーキテクチャでは、[すべてのサービス] のデフォルト設定を維持しています。
省略可: アクセスレベルを選択する
前のセクションで企業 CIDR アクセスレベルを作成した場合は、次の操作を行って、境界の外部から保護されたリソースへのアクセスを許可します。
- [アクセスレベル] をクリックします。
[アクセスレベルを選択します] ボックスをクリックします。
境界が作成された後にアクセスレベルを追加することもできます。
アクセスレベルに対応するチェックボックスをオンにします (このリファレンス アーキテクチャでは
corp-public-blockです)。
上り(内向き)ポリシーを構成する
ホスト プロジェクトは ph-fm-svc-project-1 と共有されるサブネットを所有しているため、ホスト プロジェクトから ph-fm-svc-project-1 の境界へのサブネット アクセスを許可する上り(内向き)ルールが必要です。これにより、ph-fm-svc-project-1 のコンピューティング インスタンスが ph-fm-svc-project-1 内のマネージド サービスにアクセスできるようになります。
- 左側のメニューで [上り(内向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [上り(内向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- ソース: アクセスレベル
- アクセスレベル:
gce-subnet-1
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: すべてのプロジェクト
- サービス: すべてのサービス
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
下り(外向き)ポリシーを構成する
ホスト プロジェクトは ph-fm-svc-project-1 と共有されるサブネットを所有しているため、サービス プロジェクトでコンピューティング リソースが作成されたときに、サービス プロジェクトとそのホスト プロジェクト間で発生する双方向通信を許可する下り(外向き)ルールが必要です。
- 左側のメニューで、[下り(外向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [下り(外向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: 選択したプロジェクト
- プロジェクトを追加:
aiml-host-project - サービス: 選択したサービス
- 選択したサービス: Compute Engine API
- メソッド: すべてのメソッド
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
境界を作成する
上記の構成手順を完了したら、[境界を作成] をクリックして境界を作成します。
low-trust-svc-perimeter の構成手順
新しい境界の構成タイプを選択する
Google Cloud コンソールのナビゲーション メニューで、[セキュリティ]、[VPC Service Controls] の順にクリックします。
プロンプトが表示されたら、組織、フォルダ、またはプロジェクトを選択します。
[VPC Service Controls] ページで、[ドライラン モード] をクリックします。
[新しい境界] をクリックします。
[新しい VPC サービス境界] タブの [境界名] ボックスに、境界の名前を入力します(例:
low-trust-svc-perimeter)。境界名の最大長は 50 文字で、先頭は英字にする必要があります。ASCII ラテン文字(
a-z、A-Z)、数字(0-9)、アンダースコア(_)のみを使用できます。境界名では大文字と小文字が区別され、アクセス ポリシー内で一意である必要があります。境界のデフォルト設定を受け入れます。
保護するリソースを選択する
- [保護するリソース] をクリックします。
- 境界内で保護するプロジェクトまたは VPC ネットワークを追加する手順は次のとおりです。
- [リソースの追加] をクリックします。
- 境界にプロジェクトを追加するには、[リソースの追加] ペインで [プロジェクトを追加] をクリックします。
- 追加するプロジェクトを選択します。このリファレンス アーキテクチャでは、次の項目を選択します。
ph-fm-svc-project-2ph-fm-svc-project-3
- [Add selected resources] をクリックします。追加されたプロジェクトが [プロジェクト] セクションに表示されます。
- 追加するプロジェクトを選択します。このリファレンス アーキテクチャでは、次の項目を選択します。
制限付きサービスを選択する
このリファレンス アーキテクチャでは、制限付き API のスコープが制限され、Gemini に必要な API のみが有効になります。ただし、ベスト プラクティスとして、 Google Cloud サービスからデータが引き出されるリスクを軽減するため、境界を作成するときはすべてのサービスを制限することをおすすめします。
境界内で保護するサービスを選択するには、以下のようにします。
- [制限付きサービス] をクリックします。
- [制限付きサービス] ペインで [サービスを追加] をクリックします。
- [制限するサービスの指定] ダイアログで、Compute Engine API を選択します。
- [Add Compute Engine API] をクリックします。
- [制限付きサービス] ペインで [サービスを追加] をクリックします。
- [制限するサービスを指定] ダイアログで、[Vertex AI API] を選択します。
- [Vertex AI API を追加] をクリックします。
省略可: VPC でアクセス可能なサービスを選択する
VPC でアクセス可能なサービスの設定は、サービス境界内のネットワーク エンドポイントからアクセス可能なサービスのセットを制限します。このリファレンス アーキテクチャでは、[すべてのサービス] のデフォルト設定を維持しています。
省略可: アクセスレベルを選択する
前のセクションで企業 CIDR アクセスレベルを作成した場合は、次の操作を行って、境界の外部から保護されたリソースへのアクセスを許可します。
- [アクセスレベル] をクリックします。
[アクセスレベルを選択します] ボックスをクリックします。
境界が作成された後にアクセスレベルを追加することもできます。
アクセスレベルに対応するチェックボックスをオンにします (このリファレンス アーキテクチャでは
corp-public-blockです)。
上り(内向き)ポリシーを構成する
ホスト プロジェクトは ph-fm-svc-project-2 と ph-fm-svc-project-3 で共有されるサブネットを所有しているため、これらのサブネットにホスト プロジェクトからサービス プロジェクトの境界へのアクセス権を付与するには、上り(内向き)ルールが必要です。これにより、これらのサービス プロジェクトのコンピューティング インスタンスは、ph-fm-svc-project-2 と ph-fm-svc-project-3 内のマネージド サービスにアクセスできます。
- 左側のメニューで [上り(内向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [上り(内向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- ソース: アクセスレベル
- アクセスレベル:
gce-subnet-2、gce-subnet-3
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: すべてのプロジェクト
- サービス: すべてのサービス
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
下り(外向き)ポリシーを構成する
ホスト プロジェクトは ph-fm-svc-project-2 と ph-fm-svc-project-3 で共有されるサブネットを所有しているため、サービス プロジェクトでコンピューティング リソースが作成されたときに、サービス プロジェクトとそのホスト プロジェクト間で発生する双方向通信を許可する下り(外向き)ルールが必要です。
- 左側のメニューで、[下り(外向き)ポリシー] をクリックします。
- [ルールを追加] をクリックします。
- [下り(外向き)ルール] ペインで、次の操作を行います。
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
- ID: 任意の ID
- [TO attributes] で、 Google Cloudサービスとリソースの次の TO 属性を選択します。
- プロジェクト: 選択したプロジェクト
- プロジェクトを追加:
aiml-host-project - サービス: 選択したサービス
- 選択したサービス: Compute Engine API
- メソッド: すべてのメソッド
- FROM 属性で、API クライアントの次の FROM 属性を選択します。
境界を作成する
上記の構成手順を完了したら、[境界を作成] をクリックして境界を作成します。
ネットワークを構成する
Private Service Connect エンドポイントを使用して Google API にアクセスする
プライベート Google アクセスまたは Google API のパブリック ドメイン名を使用する代わりに、Private Service Connect で Google API にアクセスできます。この場合、Google がプロデューサーになります。
Private Service Connect を使用すると、次のことができます。
- さまざまなユースケースで、1 つ以上の内部 IP アドレスを作成して Google API にアクセスできます。
- Google API にアクセスするときに、オンプレミス トラフィックを特定の IP アドレスとリージョンに転送できます。
- Google API の解決に使用されるカスタム エンドポイント DNS 名を作成します。
リファレンス アーキテクチャでは、IP アドレス 192.168.10.2 を持つ restricted という名前の Private Service Connect Google API エンドポイントがターゲット VPC Service Controls にデプロイされ、VPC Service Controls 境界で構成された制限付きサービスにアクセスするための仮想 IP(VIP)として使用されます。Private Service Connect エンドポイントは、ホスト プロジェクト aiml-host-project にデプロイされます。
Compute Engine インスタンスから Gemini Pro にアクセスする
Private Service Connect エンドポイントを作成すると、Service Directory は p.googleapis.com プライベート ゾーンに DNS レコードを作成します。レコードはエンドポイント IP アドレスを指し、Vertex AI API へのアクセスに使用される完全修飾ドメイン名 LOCATION-aiplatform-restricted.p.googleapis.com に相当する SERVICE-ENDPOINT.p.googleapis.com の形式を使用します。
ネットワーク構成を検証する
サービス プロジェクトにデプロイされた Compute Engine インスタンスから、次の手順でカスタム完全修飾ドメイン名を使用するように Vertex AI API を更新し、検証を実行します。
次のように Python 環境変数を初期化します。
PROJECT_ID="ph-fm-svc-project-1" LOCATION_ID="us-central1" API_ENDPOINT="us-central1-aiplatform-restricted.p.googleapis.com" MODEL_ID="gemini-2.0-flash-exp" GENERATE_CONTENT_API="streamGenerateContent"テキスト エディタを使用して、次の JSON を含む
request.jsonファイルを作成します。{ "contents": [ { "role": "user", "parts": [ { "text": "what weight more 1kg feathers vs 1kg stones" } ] } ], "generationConfig": { "temperature": 1, "maxOutputTokens": 8192, "topP": 0.95, "seed": 0 }, "safetySettings": [ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "OFF" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "OFF" } ] }Vertex AI Gemini API に次の cURL リクエストを行います。
curl \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://${API_ENDPOINT}/v1/projects/${PROJECT_ID}/locations/${LOCATION_ID}/publishers/google/models/${MODEL_ID}:${GENERATE_CONTENT_API}" -d '@request.json'
ドライラン モードで境界を検証する
このリファレンス アーキテクチャでは、サービス境界はドライラン モードで構成されているため、アクセス ポリシーの効果を適用せずにテストできます。つまり、ポリシーが有効になった場合に環境にどのような影響を与えるかを確認できますが、正当なトラフィックが中断されるリスクはありません。
ドライラン モードで境界を検証する方法について、VPC Service Controls のドライラン ロギングの YouTube 動画をご覧ください。
ドライラン モードで境界を検証したら、自動適用モードに切り替えます。