Private Service Connect 64

1. はじめに

Private Service Connect は、組織が Google Cloud エコシステム内でサービスを利用する方法に革命をもたらし、IPv4 とともに IPv6 アドレスを完全にサポートします。セキュリティの強化、接続の簡素化、パフォーマンスの向上、一元管理を兼ね備えており、将来のネットワークに備えた堅牢で信頼性が高く、効率的なサービス利用モデルを求めている企業に最適なソリューションです。ハイブリッド クラウドの構築、組織全体でのサービスの共有、サードパーティ サービスへのアクセスなど、PSC は IPv6 のメリットを活用しながら、Google Cloud の可能性を最大限に引き出すシームレスで安全なパスウェイを提供します。

学習内容

  • PSC 64 の主なメリット
  • Private Service Connect 64 でサポートされている変換
  • デュアルスタック ULA の概要
  • ネットワークの要件
  • Private Service Connect プロデューサー サービスを作成する
  • Private Service Connect エンドポイントを作成する
  • IPv4 VM から Private Service Connect エンドポイントへの接続を確立する
  • デュアルスタック VM から Private Service Connect エンドポイントへの接続を確立する

必要なもの

  • オーナー権限を持つ Google Cloud プロジェクト

2. 作成するアプリの概要

プロデューサー ネットワークを確立して、Private Service Connect(PSC)を介して Apache ウェブサーバーを公開サービスとしてデプロイします。公開したら、次の操作を行い、プロデューサー サービスへのアクセスを検証します。

  • コンシューマ VPC の IPv4 GCE インスタンスから、IPv4 PSC エンドポイントをターゲットに設定してプロデューサー サービスに到達します。
  • コンシューマ VPC のデュアルスタック GCE インスタンスから、IPv6 PSC エンドポイントをターゲットに設定してプロデューサー サービスに到達します。

PSC 64 の主なメリット

  • シームレスな統合: PSC は、IPv6 用に構成された VPC ネットワークとシームレスに統合されるため、サービス接続で IPv6 アドレスのメリットを活用できます。
  • デュアルスタックのサポート: PSC はデュアルスタック構成をサポートしているため、同じ VPC 内で IPv4 と IPv6 を同時に使用できます。これにより、ネットワークの柔軟性が向上し、将来に備えることができます。
  • 移行の簡素化: PSC を使用すると、既存の IPv4 インフラストラクチャとともに IPv6 を段階的に導入できるため、IPv6 への移行が簡素化されます。
  • プロデューサーのサポート: プロデューサーはデュアルスタックを採用する必要はありません。代わりに、コンシューマは IPv4 または IPv6 PSC エンドポイントをデプロイできます。

3. Private Service Connect 64 と 66 でサポートされている変換

消費者の考慮事項

エンドポイントの IP バージョンには IPv4 または IPv6 のいずれかを設定できます。両方を指定することはできません。アドレスのサブネットがシングルスタックの場合、コンシューマは IPv4 アドレスを使用できます。アドレスのサブネットがデュアルスタックの場合、コンシューマは IPv4 アドレスまたは IPv6 アドレスを使用できます。コンシューマは、IPv4 エンドポイントと IPv6 エンドポイントの両方を同じサービス アタッチメントに接続できます。これは、サービスを IPv6 に移行する場合に有効です。

プロデューサーの考慮事項

プロデューサー転送ルールの IP バージョンによって、サービス アタッチメントの IP バージョンと、サービス アタッチメントから送信されるトラフィックの IP バージョンが決定されます。サービス アタッチメントの IP バージョンには IPv4 または IPv6 のいずれかを指定できます。両方を指定することはできません。アドレスのサブネットがシングルスタックの場合、プロデューサーは IPv4 アドレスを使用できます。アドレスのサブネットがデュアルスタックの場合、プロデューサーは IPv4 アドレスまたは IPv6 アドレスを使用できます。

プロデューサー転送ルールの IP アドレスの IP バージョンは、サービス アタッチメントの NAT サブネットのスタックタイプと互換性があることが必要です。

  • プロデューサーの転送ルールが IPv4 の場合、NAT サブネットはシングルスタックまたはデュアルスタックにできます。
  • プロデューサーの転送ルールが IPv6 の場合、NAT サブネットはデュアルスタックであることが必要です。

サポートされている構成では、次の組み合わせが可能です。

  • IPv4 エンドポイントから IPv4 サービスへのアタッチメント
  • IPv6 エンドポイントから IPv6 サービスへのアタッチメント
  • IPv6 エンドポイントから IPv4 サービス アタッチメント この構成では、Private Service Connect が 2 つの IP バージョン間で自動的に変換を行います。

以下はサポートされていません。

Private Service Connect は、IPv4 エンドポイントと IPv6 サービス アタッチメントの接続をサポートしていません。この場合は、エンドポイントの作成が失敗し、次のエラー メッセージが表示されます。

IPv4 アドレスを使用する Private Service Connect 転送ルールは、IPv6 サービス アタッチメントをターゲットに設定できません。

4. デュアルスタック ULA の概要

Google Cloud では、ULA プライベート IPv6 サブネットと VM の作成がサポートされています。RFC 4193 では、ローカル通信用の IPv6 アドレス スキームが定義されています。これは VPC 内の通信に最適です。ULA アドレスはグローバルにルーティングできないため、VM はインターネットから完全に分離され、IPv6 を使用して RFC-1918 のような動作が提供されます。Google Cloud では、/48 VPC ネットワーク ULA プレフィックスを作成できるため、すべての /64 IPv6 ULA サブネットがその VPC ネットワーク範囲から割り当てられます。

Google Cloud でサポートされているグローバルに一意の外部 IPv6 アドレスと同様に、各 ULA IPv6 対応サブネットには /48 VPC ネットワーク ULA 範囲から /64 サブネットが割り当てられ、各 VM にはそのサブネットから /96 アドレスが割り当てられます。

RFC4193 では、fc00::/7 の範囲の IPv6 アドレス空間が定義されています。ULA アドレスは、プライベート ネットワークまたはサイト内で自由に割り当て、使用できます。Google Cloud では、fd20::/20 の範囲からすべての ULA アドレスを割り当てます。これらのアドレスは VPC のスコープ内でのみルーティングでき、グローバル IPv6 インターネットではルーティングできません。

Google Cloud によって割り振られる ULA アドレスは、すべての VPC ネットワークで一意であることが保証されます。Google Cloud では、2 つの VPC ネットワークに同じ ULA プレフィックスが割り当てられないようにします。これにより、VPC ネットワーク内の範囲が重複する問題が解消されます。

Google Cloud に /48 をネットワークに自動的に割り当ててもらうか、特定の /48 IPv6 プレフィックスを選択できます。指定した IPv6 プレフィックスが別の VPC またはオンプレミス ネットワークにすでに割り当てられている場合は、別の範囲を選択できます。

5. ネットワークの要件

コンシューマ ネットワークとプロデューサー ネットワークのネットワーク要件の内訳は次のとおりです。

コンシューマ ネットワーク(すべてのコンポーネントが us-central1 にデプロイされている)

コンポーネント

説明

VPC

デュアルスタック ネットワーキングには、ULA が有効になっているカスタムモードの VPC が必要です。

PSC エンドポイント

  • プロデューサー サービスへのアクセスに使用される IPv4 PSC エンドポイント
  • プロデューサー サービスへのアクセスに使用される IPV6 PSC エンドポイント

サブネット

IPv4 とデュアルスタック

GCE

IPv4 とデュアルスタック

プロデューサー ネットワーク(すべてのコンポーネントが us-central1 にデプロイされている)

コンポーネント

説明

VPC

カスタムモードの VPC、ULA が有効になっていない

PSC NAT サブネット

IPv4 に設定されます。コンシューマ VPC ネットワークからのパケットは送信元 NAT(SNAT)を使用して変換され、元の送信元 IP アドレスが、プロデューサーの VPC ネットワーク内にある NAT サブネットからの送信元 IP アドレスに変換されます。

PSC 転送ルール

IPv4 に設定されます。 内部パススルー ネットワーク ロードバランサ

ヘルスチェック

ロードバランスされているインスタンスに適用される上り(内向き)ルール。Google Cloud ヘルスチェック システム(130.211.0.0/22 と 35.191.0.0/16)からのトラフィックを許可します。

バックエンド サービス

バックエンド サービスは、ロードバランサとバックエンド リソース間のブリッジとして機能します。このチュートリアルでは、バックエンド サービスが非マネージド インスタンス グループに関連付けられています。

非マネージド インスタンス グループ

個々の構成やチューニングが必要な VM をサポートします。自動スケーリングはサポートされていません。

6. Codelab トポロジ

b52931afd997d61.png

7. 設定と要件

セルフペース型の環境設定

  1. Google Cloud Console にログインして、プロジェクトを新規作成するか、既存のプロジェクトを再利用します。Gmail アカウントも Google Workspace アカウントもまだお持ちでない場合は、アカウントを作成してください。

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • プロジェクト名は、このプロジェクトの参加者に表示される名称です。Google API では使用されない文字列です。いつでも更新できます。
  • プロジェクト ID は、すべての Google Cloud プロジェクトにおいて一意でなければならず、不変です(設定後は変更できません)。Cloud コンソールでは一意の文字列が自動生成されます。通常は、この内容を意識する必要はありません。ほとんどの Codelab では、プロジェクト ID(通常は PROJECT_ID と識別されます)を参照する必要があります。生成された ID が好みではない場合は、ランダムに別の ID を生成できます。または、ご自身で試して、利用可能かどうかを確認することもできます。このステップ以降は変更できず、プロジェクトを通して同じ ID になります。
  • なお、3 つ目の値として、一部の API が使用するプロジェクト番号があります。これら 3 つの値について詳しくは、こちらのドキュメントをご覧ください。
  1. 次に、Cloud のリソースや API を使用するために、Cloud コンソールで課金を有効にする必要があります。この Codelab の操作をすべて行って、費用が生じたとしても、少額です。このチュートリアルの終了後に請求が発生しないようにリソースをシャットダウンするには、作成したリソースを削除するか、プロジェクトを削除します。Google Cloud の新規ユーザーは、300 米ドル分の無料トライアル プログラムをご利用いただけます。

Cloud Shell を起動する

Google Cloud はノートパソコンからリモートで操作できますが、この Codelab では、Google Cloud Shell(Cloud 上で動作するコマンドライン環境)を使用します。

Google Cloud Console で、右上のツールバーにある Cloud Shell アイコンをクリックします。

55efc1aaa7a4d3ad.png

プロビジョニングと環境への接続にはそれほど時間はかかりません。完了すると、次のように表示されます。

7ffe5cbb04455448.png

この仮想マシンには、必要な開発ツールがすべて用意されています。永続的なホーム ディレクトリが 5 GB 用意されており、Google Cloud で稼働します。そのため、ネットワークのパフォーマンスと認証機能が大幅に向上しています。この Codelab での作業はすべて、ブラウザ内から実行できます。インストールは不要です。

8. 始める前に

API を有効にする

Cloud Shell で、プロジェクト ID が設定されていることを確認します。

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=us-central1
echo $project
echo $region

必要なサービスをすべて有効にします。

gcloud services enable compute.googleapis.com

9. プロデューサー VPC ネットワークを作成する

VPC ネットワーク

Cloud Shell で次の操作を行います。

gcloud compute networks create producer-vpc --subnet-mode custom

サブネットを作成する

PSC サブネットは、ネットワーク アドレス変換のために PSC サービス アタッチメントに関連付けられます。本番環境のユースケースでは、このサブネットのサイズを、接続されているすべての PSC エンドポイントからの受信トラフィックの量をサポートするように適切にする必要があります。詳細については、PSC NAT サブネットのサイズ設定に関するドキュメントをご覧ください。

Cloud Shell で、PSC NAT サブネットを作成します。

gcloud compute networks subnets create producer-psc-nat-subnet --network producer-vpc --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

Cloud Shell で、プロデューサー転送ルールのサブネットを作成します。

gcloud compute networks subnets create producer-psc-fr-subnet --network producer-vpc --range 172.16.20.0/28 --region $region --enable-private-ip-google-access

Cloud Shell で、プロデューサー VM サブネットを作成します。

gcloud compute networks subnets create producer-psc-vm-subnet --network producer-vpc --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

Public NAT ゲートウェイを作成する

producer-vm は Apache をダウンロードするためにインターネット アクセスを必要としますが、GCE インスタンスには外部 IP がありません。そのため、Cloud NAT がパッケージのダウンロードにインターネット下り(外向き)を提供します。

Cloud Shell で、Cloud Router を作成します。

gcloud compute routers create producer-cloud-router --network producer-vpc --region us-central1

Cloud Shell で、インターネット下り(外向き)を有効にする Cloud NAT ゲートウェイを作成します。

gcloud compute routers nats create producer-nat-gw --router=producer-cloud-router --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

ネットワーク ファイアウォール ポリシーとファイアウォール ルールを作成する

Cloud Shell で次の操作を行います。

gcloud compute network-firewall-policies create producer-vpc-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy producer-vpc-policy --network producer-vpc --name producer-vpc --global-firewall-policy

IAP に VM インスタンスへの接続を許可するには、次のファイアウォール ルールを作成します。

  • IAP を使用してアクセス可能にするすべての VM インスタンスに適用します。
  • IP 範囲 35.235.240.0/20 からの上り(内向き)トラフィックを許可します。この範囲には、IAP が TCP 転送に使用するすべての IP アドレスが含まれています。

Cloud Shell で次の操作を行います。

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy producer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

次のファイアウォール ルールは、ヘルスチェック プローブ範囲からネットワーク内のすべてのインスタンスへのトラフィックを許可します。本番環境では、このファイアウォール ルールは、特定のプロデューサー サービスに関連付けられたインスタンスにのみ制限する必要があります。

Cloud Shell で次の操作を行います。

gcloud compute network-firewall-policies rules create 2000 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from health check probe range" --direction INGRESS --src-ip-ranges 130.211.0.0/22,35.191.0.0/16 --layer4-configs tcp:80 --global-firewall-policy

次のファイアウォール ルールは、PSC NAT サブネット範囲からネットワーク内のすべてのインスタンスへのトラフィックを許可します。本番環境では、このファイアウォール ルールは、特定のプロデューサー サービスに関連付けられたインスタンスにのみ制限する必要があります。

Cloud Shell で次の操作を行います。

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy producer-vpc-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

プロデューサー VM を作成する

Cloud Shell で、producer-vm apache ウェブサーバーを作成します。

gcloud compute instances create producer-vm \
    --project=$project \
    --machine-type=e2-micro \
    --image-family debian-12 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=producer-psc-vm-subnet \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo 'Welcome to Producer-VM !!' | tee /var/www/html/index.html
      EOF"

Cloud Shell で、producer-vm インスタンスとヘルスチェックで構成される非マネージド インスタンス グループを作成します。

gcloud compute instance-groups unmanaged create producer-instance-group --zone=us-central1-a

gcloud compute instance-groups unmanaged add-instances producer-instance-group  --zone=us-central1-a --instances=producer-vm

gcloud compute health-checks create http hc-http-80 --port=80

10. プロデューサー サービスを作成する

ロードバランサのコンポーネントを作成する

Cloud Shell で次の操作を行います。

gcloud compute backend-services create producer-backend-svc --load-balancing-scheme=internal --protocol=tcp --region=us-central1 --health-checks=hc-http-80

gcloud compute backend-services add-backend producer-backend-svc --region=us-central1 --instance-group=producer-instance-group --instance-group-zone=us-central1-a

次の構文で、バックエンド サービス producer-backend-svc に関連付けられた事前定義された IP アドレス 172.16.2.3 を使用して転送ルール(内部ネットワーク ロードバランサ)を作成します。

Cloud Shell で次の操作を行います。

gcloud compute forwarding-rules create producer-fr --region=us-central1 --load-balancing-scheme=internal --network=producer-vpc --subnet=producer-psc-fr-subnet --address=172.16.20.3 --ip-protocol=TCP --ports=all --backend-service=producer-backend-svc --backend-service-region=us-central1

サービス アタッチメントを作成する

Cloud Shell で、Service Attachment を作成します。

gcloud compute service-attachments create ipv4-producer-svc-attachment --region=$region --producer-forwarding-rule=producer-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

次に、コンシューマ環境で PSC エンドポイントを構成するプロジェクトから始まる selfLink URI にリストされている Service Attachment を取得してメモします。

selfLink: projects/<your-project-id>/regions/us-central1/serviceAttachments/ipv4-producer-svc-attachment

Cloud Shell で次の操作を行います。

gcloud compute service-attachments describe ipv4-producer-svc-attachment --region=$region

想定される出力の例

user@cloudshell:~ (projectid)$ gcloud compute service-attachments describe ipv4-producer-svc-attachment --region=$region
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-26T07:08:01.625-07:00'
description: ''
enableProxyProtocol: false
fingerprint: USOMy1eQKyM=
id: '1401660514263708334'
kind: compute#serviceAttachment
name: ipv4-producer-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '85245007652455400'
  low: '1401660514263708334'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/serviceAttachments/ipv4-producer-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/projectid/regions/us-central1/forwardingRules/producer-fr

Cloud コンソールで、次の場所に移動します。

[ネットワーク サービス] → [Private Service Connect] → [公開サービス]

9166d64204ec31c3.png

1b5feeca51b6533e.png

11. コンシューマ VPC ネットワークを作成する

VPC ネットワーク

Cloud Shell で、IPv6 ULA を有効にしてコンシューマ VPC を作成します。

gcloud compute networks create consumer-vpc \
    --subnet-mode=custom \
    --enable-ula-internal-ipv6

Google は、グローバルに一意の /48 サブネットをコンシューマ VPC に割り当てます。割り当てを表示するには、次の操作を行います。

Cloud コンソールで、次の場所に移動します。

VPC ネットワーク

c847bd7c20e3677d.png

サブネットの作成

Cloud Shell で、IPv4 GCE サブネットを作成します。

gcloud compute networks subnets create consumer-v4-subnet --network consumer-vpc --range=192.168.10.0/28 --region $region --enable-private-ip-google-access

Cloud Shell で、IPv4 PSC エンドポイント サブネットを作成します。

gcloud compute networks subnets create psc-ipv4-endpoint-subnet --network consumer-vpc --range=192.168.11.0/28 --region $region --enable-private-ip-google-access

Cloud Shell で、デュアルスタック GCE サブネットを作成します。

gcloud compute networks subnets create consumer-dual-stack-subnet --network consumer-vpc --range=192.168.20.0/28 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --region $region --enable-private-ip-google-access

Cloud Shell で、デュアルスタック PSC エンドポイント サブネットを作成します。

gcloud compute networks subnets create psc-dual-stack-endpoint-subnet --network consumer-vpc --range=192.168.21.0/28 --stack-type=IPV4_IPV6 --ipv6-access-type=INTERNAL --region $region --enable-private-ip-google-access

ネットワーク ファイアウォール ポリシーとファイアウォール ルールを作成する

Cloud Shell で次の操作を行います。

gcloud compute network-firewall-policies create consumer-vpc-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy consumer-vpc-policy --network consumer-vpc --name consumer-vpc --global-firewall-policy

gcloud compute network-firewall-policies rules create 1000 --action ALLOW --firewall-policy consumer-vpc-policy --description "SSH with IAP" --direction INGRESS --src-ip-ranges 35.235.240.0/20 --layer4-configs tcp:22  --global-firewall-policy

コンシューマ ネットワークには、IAP からの SSH アクセスのみが必要です。

12. VM と PSC エンドポイントを作成し、IPv4 接続をテストする

テスト用 VM を作成する

Cloud Shell で、IPv4 サブネットに IPv4 GCE インスタンスを作成します。

gcloud compute instances create consumer-vm-ipv4 --zone=us-central1-a --subnet=consumer-v4-subnet --no-address

PSC エンドポイントの静的 IP を作成する

Cloud Shell で、PSC エンドポイントの静的 IP アドレスを作成します。

gcloud compute addresses create psc-ipv4-endpoint-ip --region=$region --subnet=psc-ipv4-endpoint-subnet --addresses 192.168.11.13

IPv4 PSC エンドポイントを作成する

Cloud Shell で、サービス アタッチメントの作成時にキャプチャした URI で SERVICE ATTACHMENT URI を更新して、PSC エンドポイントを作成します。

gcloud compute forwarding-rules create psc-ipv4-endpoint --region=$region --network=consumer-vpc --address=psc-ipv4-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]

PSC エンドポイントを検証する

プロデューサーが PSC エンドポイントを受け入れたことを確認しましょう。Cloud コンソールで、次の場所に移動します。

[ネットワーク サービス] → [Private Service Connect] → [接続済みエンドポイント]

ac858b2db226e58a.png

接続をテストする

Cloud Shell で、GCE インスタンス consumer-vm-ipv4 に ssh で接続します。

gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4" --tunnel-through-iap --project $project

GCE インスタンスにログインしたら、psc エンドポイント psc-ipv4-endpoint 192.168.11.13 に対して curl を実行します。

consumer-vm-ipv4 GCE インスタンス内で curl を実行します。

curl 192.168.11.13

予想される出力:

user@consumer-vm-ipv4:~$ curl 192.168.11.13
Welcome to Producer-VM !!

consumer-vm-ipv4 GCE インスタンス内で、exit を実行してインスタンスからログアウトし、Cloud Shell に戻ります。

exit

予想される出力:

user@consumer-vm-ipv4:~$ exit
logout
Connection to compute.6833450446005281720 closed.

13. VM と PSC エンドポイントを作成し、デュアルスタック接続をテストする

テスト用デュアルスタック VM を作成する

Cloud Shell で、デュアルスタック サブネットにデュアルスタック GCE インスタンスを作成します。

gcloud compute instances create consumer-vm-ipv4-ipv6 --zone=us-central1-a --subnet=consumer-dual-stack-subnet --no-address --stack-type=IPV4_IPV6

PSC エンドポイントの静的 IPv6 アドレスを作成する

Cloud Shell で、PSC エンドポイントの静的 IPv6 アドレスを作成します。

gcloud compute addresses create psc-ipv6-endpoint-ip --region=$region --subnet=psc-dual-stack-endpoint-subnet --ip-version=IPV6

PSC エンドポイントの静的 IPv6 アドレスを取得する

Cloud Shell で、プロデューサー サービスにアクセスするために使用する PSC IPv6 アドレスを取得します。

gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address:

出力例:

user@cloudshell$ gcloud compute addresses describe psc-ipv6-endpoint-ip --region=us-central1 | grep -i address:
address: 'fd20:2eb:7252:2::'

IPv6 PSC エンドポイントを作成する

Cloud Shell で、サービス アタッチメントの作成時にキャプチャした URI で SERVICE ATTACHMENT URI を更新して、PSC エンドポイントを作成します。

gcloud compute forwarding-rules create psc-ipv6-endpoint --region=$region --network=consumer-vpc --address=psc-ipv6-endpoint-ip --target-service-attachment=[SERVICE ATTACHMENT URI]

PSC エンドポイントを検証する

プロデューサーが PSC エンドポイントを受け入れたことを確認しましょう。Cloud コンソールで、次の場所に移動します。

[ネットワーク サービス] → [Private Service Connect] → [接続済みエンドポイント]

957b74e89f3ad837.png

接続をテストする

Cloud Shell で、デュアルスタック GCE インスタンス consumer-vm-ipv4-ipv6 に SSH 接続し、PSC IPv6 コンシューマ エンドポイント psc-ipv6-endpoint に対して curl を実行して、プロデューサー サービスへのアクセスを検証します。

gcloud compute ssh --zone us-central1-a "consumer-vm-ipv4-ipv6" --tunnel-through-iap --project $project

デュアルスタック GCE インスタンスにログインしたら、前の手順で特定した IPv6 アドレスを使用して、psc エンドポイント psc-dual-stack-endpoint への curl を実行します。

consumer-vm-ipv4-ipv6 GCE インスタンス内で、PSC エンドポイントの静的 IPv6 を取得する手順で特定した IPv6 PSC エンドポイントに対して curl を実行します。

curl -6 http://[insert-your-ipv6-psc-endpoint]

予想される出力:

user@consumer-vm-ipv4-ipv6$ curl -6 http://[fd20:2eb:7252:2::]
Welcome to Producer-VM !!

consumer-vm-ipv4-ipv6 GCE インスタンス内で、終了してインスタンスからログアウトし、Cloud Shell に戻ります。

exit

予想される出力:

user@consumer-vm-ipv4-ipv6:~$ exit
logout
Connection to compute.6162185519072639197 closed.

14. クリーンアップ手順

1 つの Cloud Shell ターミナルからラボ コンポーネントを削除する

gcloud compute service-attachments delete ipv4-producer-svc-attachment --region=us-central1 -q

gcloud compute forwarding-rules delete psc-ipv6-endpoint psc-ipv4-endpoint --region=us-central1 -q

gcloud compute instances delete consumer-vm-ipv4 consumer-vm-ipv4-ipv6 --zone=us-central1-a -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy=consumer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=consumer-vpc-policy  --name=consumer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete consumer-vpc-policy --global -q

gcloud compute addresses delete psc-ipv4-endpoint-ip psc-ipv6-endpoint-ip --region=us-central1 -q

gcloud compute networks subnets delete consumer-v4-subnet psc-ipv4-endpoint-subnet consumer-dual-stack-subnet psc-dual-stack-endpoint-subnet --region=us-central1 -q

gcloud compute networks delete consumer-vpc -q

gcloud compute forwarding-rules delete producer-fr --region=us-central1 -q

gcloud compute backend-services delete producer-backend-svc --region=us-central1 -q

gcloud compute health-checks delete hc-http-80 -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 2000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies rules delete 1000 --firewall-policy producer-vpc-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=producer-vpc-policy  --name=producer-vpc --global-firewall-policy -q

gcloud compute network-firewall-policies delete producer-vpc-policy --global -q

gcloud compute instance-groups unmanaged delete producer-instance-group --zone=us-central1-a -q

gcloud compute instances delete producer-vm --zone=us-central1-a -q

gcloud compute routers nats delete producer-nat-gw --router=producer-cloud-router --router-region=us-central1 -q

gcloud compute routers delete producer-cloud-router --region=us-central1 -q

gcloud compute networks subnets delete producer-psc-fr-subnet  producer-psc-vm-subnet producer-psc-nat-subnet --region=us-central1 -q

gcloud compute networks delete producer-vpc -q

15. 完了

これで、Private Service Connect 64 の構成と検証が完了しました。

プロデューサー インフラストラクチャを作成し、プロデューサー サービスへの接続を許可するコンシューマ VPC ネットワークに IPv4 コンシューマ エンドポイントと IPv6 コンシューマ エンドポイントを作成する方法を学習しました。

Cosmopup はコードラボが大好きです。

c911c127bffdee57.jpeg

次のステップ

以下の Codelab をご覧ください。

参考資料と動画

リファレンス ドキュメント