Private Service Connect の変更可能性に関する Codelab

1. はじめに

Private Service Connect は Google Cloud ネットワーキング機能の一つで、コンシューマーが VPC ネットワーク内からマネージド サービスにプライベート接続でアクセスできるようにします。同様に、マネージド サービス プロデューサーがこれらのサービスを個別の VPC ネットワークにホストし、コンシューマーとのプライベート接続を提供できるようにします。

これまで、サービス アタッチメントを介して PSC サービスが公開されると、サービス アタッチメントを削除してコンシューマーの PSC エンドポイント接続を中断しない限り、サービス ロードバランサを変更できませんでした。PSC の変更可能性の導入により、プロデューサーは PSC エンドポイント接続を維持しながらロードバランサを更新できます。ロードバランサを変更しながら PSC エンドポイントとサービス アタッチメントの接続を維持すると、コンシューマー側でアクションを行う必要がないというメリットがあります。

現時点では、PSC の可変性は

  • 同じタイプのロードバランサ転送ルールへの移行(例: ネットワーク パススルーからネットワーク パススルー)
  • 別のタイプのロードバランサ転送ルールへの移行(例: ネットワーク パススルーからアプリケーション ロードバランサ)

PSC の可変性では、転送ルールのインプレース編集はサポートされていません。

このラボでは、内部ネットワーク パススルー ロードバランサを介して公開されるプロデューサー ウェブサービスを作成し、サービスが PSC エンドポイントを介して接続されていることを確認してから、サービス アタッチメントの関連付けを内部アプリケーション ロードバランサの新しい転送ルールに更新します。

学習内容

  • PSC プロデューサー サービスとして公開されるシンプルな Apache ウェブサービスを作成します。
  • PSC エンドポイントを作成します。
  • コンシューマー サービス呼び出し用の Cloud DNS プライベート ゾーンを作成します。
  • PSC の変更可能性を使用して、サービス アタッチメントに関連付けられている転送ルールを更新します。

必要なもの

  • オーナー権限を持つ Google Cloud プロジェクト
  • Google Cloud ネットワーキングの基本知識

2. テスト環境

通常、プロデューサーとコンシューマーは異なるプロジェクトで作業します。わかりやすくするために、すべての操作を同じプロジェクトで実行しますが、ユーザーが別のプロジェクトで作業する場合は、各ステップにプロデューサー プロジェクトまたはコンシューマー プロジェクトのラベルが付けられます。

このラボでは、まず 3 つのサブネットを持つ producer-vpc を作成します。1 つはプロデューサー サービスとテスト VM をホストするため、1 つはロードバランサ転送ルール用、もう 1 つは PSC NAT サブネット用です。Linux パッケージをダウンロードするには、インターネットに接続するための Cloud Router と Cloud NAT が必要になります。非マネージド インスタンス グループを介して構成された Apache サービスを、内部リージョン ネットワーク パススルー ロードバランサを介して公開し、転送ルールをサービス アタッチメントに関連付けます。

コンシューマー側では、PSC エンドポイントとテスト クライアント VM をホストする単一のサブネットを持つ consumer-vpc を作成します。ホスト名でサービスにアクセスするように Cloud DNS プライベート ゾーンを構成します。

PSC の変更可能性機能を説明するために、プロデューサー側で 2 つのサブネットを追加します。1 つは新しいサービス VM をホストするため、もう 1 つはロードバランサのプロキシ専用サブネット用です。Apache ウェブサーバーをホストする新しい VM を作成します。この VM は、非マネージド インスタンス グループを介して構成され、新しい内部リージョン アプリケーション ロードバランサを介して公開されます。新しい転送ルールを指すようにサービス アタッチメントを更新し、コンシューマー側の接続が維持されていることをテストします。

683e2b440a0cc07f.png

3. 設定と要件

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

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

295004821bab6a87.png

37d264871000675d.png

96d86d3d5655cdbe.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 アイコンをクリックします。

Cloud Shell をアクティブにする

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

環境が接続されていることを示す Google Cloud Shell ターミナルのスクリーンショット

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

4. 始める前に

API を有効にする

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

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export project=[YOUR-PROJECT-NAME]
export region=us-central1
export zone=$region-a
echo $project
echo $region
echo $zone

必要なサービスをすべて有効にする

gcloud services enable compute.googleapis.com
gcloud services enable dns.googleapis.com

5. プロデューサー ネットワークを構築する [プロデューサー プロジェクト]

VPC ネットワークの作成

Cloud Shell から

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

サブネットを作成する

まず、producer-vpc に 3 つのサブネットをデプロイします。1 つはプロデューサー サービスのデプロイ用、1 つはロードバランサ転送ルール用、もう 1 つは PSC NAT サブネットの PSC サービス アタッチメントに関連付けられます。

Cloud Shell から

gcloud compute networks subnets create producer-service-subnet \
    --network=producer-vpc \
    --range=10.0.0.0/28 \
    --region=$region

gcloud compute networks subnets create producer-fr-subnet \
        --network=producer-vpc \
        --range=192.168.0.0/28 \
        --region=$region

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

Cloud NAT を作成する

プロデューサー サービス用の適切なパッケージをインストールするには、Cloud NAT が必要です。

Cloud Shell から

gcloud compute routers create $region-cr \
    --network=producer-vpc \
    --region=$region

Cloud Shell から

gcloud compute routers nats create $region-nat \
    --router=$region-cr \
    --region=$region \
    --nat-all-subnet-ip-ranges \
    --auto-allocate-nat-external-ips

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

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 network-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

まず、3 つのファイアウォール ルールから始めます。1 つはロードバランサのヘルスチェック(2000)で VM へのアクセスを許可し、1 つは PSC NAT 範囲(3000)から VM へのアクセスを許可し、1 つはテスト目的でサービス サブネット内の VM 間の接続を許可します(4000)。サービスにこのポートを使用するため、ポート 80 のすべてのルールを作成します。

Cloud Shell から

gcloud compute network-firewall-policies rules create 2000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "LB healthchecks" \
    --direction INGRESS \
    --src-ip-ranges 130.211.0.0/22,35.191.0.0/16 \
    --layer4-configs tcp:80  \
    --global-firewall-policy

gcloud compute network-firewall-policies rules create 3000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "allow access from PSC NAT subnet" \
    --direction INGRESS \
    --src-ip-ranges 10.100.0.0/28 \
    --layer4-configs tcp:80  \
    --global-firewall-policy

 gcloud compute network-firewall-policies rules create 4000 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "allow access between producer service VMs and testing client for testing purposes" \
    --direction INGRESS \
    --src-ip-ranges 10.0.0.0/28 \
    --layer4-configs tcp:80 \
    --global-firewall-policy

6. プロデューサー サービスを作成する [プロデューサー プロジェクト]

「I am a Producer Service.」と表示する非マネージド インスタンス グループを使用して、シンプルな Apache ウェブサービスを作成します。

インスタンスを作成

Cloud Shell から

gcloud compute instances create producer-service-vm \
    --network producer-vpc \
    --subnet producer-service-subnet \
    --zone $zone \
    --no-address \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    a2enmod ssl
    sudo a2ensite default-ssl
    echo "I am a Producer Service." | \
    tee /var/www/html/index.html
    systemctl restart apache2'

非マネージド インスタンス グループを作成する

Cloud Shell から

gcloud compute instance-groups unmanaged create producer-uig \
  --zone=$zone

作成した非マネージド インスタンス グループに producer-service-vm を追加します。

Cloud Shell から

gcloud compute instance-groups unmanaged add-instances producer-uig \
  --zone=$zone \
  --instances=producer-service-vm

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

プロデューサー サービスのバージョン 1 では、ポート 80 でネットワーク パススルー ロードバランサを使用してサービスを公開します。

ポート 80 のヘルスチェックをデプロイします。

Cloud Shell から

gcloud compute health-checks create http producer-hc \
        --region=$region

バックエンド サービスをデプロイし、バックエンド サービスにバックエンドを追加します。

Cloud Shell から

gcloud compute backend-services create producer-bes \
  --load-balancing-scheme=internal \
  --protocol=tcp \
  --region=$region \
  --health-checks=producer-hc \
  --health-checks-region=$region

gcloud compute backend-services add-backend producer-bes \
  --region=$region \
  --instance-group=producer-uig \
  --instance-group-zone=$zone

ロードバランサの転送ルールに使用する静的 IP アドレスを作成します。

Cloud Shell から

gcloud compute addresses create producer-fr-ip\
  --region $region \
  --subnet producer-fr-subnet \
  --addresses 192.168.0.2

以前に作成したバックエンド サービスと IP アドレスを使用して、ポート 80 を公開するロードバランサ転送ルールを作成します。

Cloud Shell から

gcloud compute forwarding-rules create producer-fr \
  --region=$region \
  --load-balancing-scheme=internal \
  --network=producer-vpc \
  --subnet=producer-fr-subnet \
  --address=producer-fr-ip \
  --ip-protocol=TCP \
  --ports=80 \
  --backend-service=producer-bes \
  --backend-service-region=$region

7. プロデューサー サービス [プロデューサー プロジェクト] をテストします。

producer-service-subnet にテスト VM を作成し、VM にログインして Apache サービスへの呼び出しをテストします。

Cloud Shell から

 gcloud compute instances create producer-test-vm \
    --zone=$zone \
    --subnet=producer-service-subnet \
    --no-address

Cloud Shell から

gcloud compute ssh producer-test-vm \
    --zone=$zone \
    --command="curl -s 192.168.0.2/index.html"

想定される出力

I am a Producer Service.

8. サービス アタッチメントを介してプロデューサー サービスを公開する [プロデューサー プロジェクト]

サービス アタッチメントを作成します。psc-nat-subnet を使用して作成した転送ルールに関連付けます。

Cloud Shell から

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

サービス アタッチメント URI(selfLink)は、今後のステップで PSC エンドポイントの構成に必要になるため、メモしておきます。Cloud Shell で次のコマンドを実行すると、取得できます。

Cloud Shell から

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

出力例

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2026-02-10T07:50:04.250-08:00'
description: ''
enableProxyProtocol: false
fingerprint: xxx
id: 'xxx'
kind: compute#serviceAttachment
name: producer-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/psc-nat-subnet
pscServiceAttachmentId:
  high: 'xxx'
  low: 'xxx'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/producer-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr

projects から始まる URI をコピーします。

例: projects/$project/regions/$region/serviceAttachments/producer-attachment

9. コンシューマー ネットワークを構築する [コンシューマー プロジェクト]

VPC ネットワークを作成する

Cloud Shell から

gcloud compute networks create consumer-vpc \
    --subnet-mode=custom

サブネットの作成

PSC エンドポイントとテスト クライアント VM をデプロイする単一のサブネットがデプロイされます。

Cloud Shell から

gcloud compute networks subnets create consumer-subnet \
    --network=consumer-vpc \
    --range=10.0.0.0/28 \
    --region=$region

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

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 network-consumer-vpc \
    --global-firewall-policy

また、SSH に IAP を使用するように consumer-vpc を構成します。

Cloud Shell から

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

10. Private Service Connect エンドポイントを作成する [コンシューマー プロジェクト]

PSC エンドポイントに使用する静的 IP アドレスを予約します。

Cloud Shell から

gcloud compute addresses create psc-endpoint-ip \
    --region=$region \
    --subnet=consumer-subnet \
    --addresses 10.0.0.2

予約済みの静的 IP アドレスと、先ほどメモしたサービス アタッチメント URI を使用して、PSC エンドポイントを作成します。

Cloud Shell から

gcloud compute forwarding-rules create psc-endpoint \
  --region=$region \
  --network=consumer-vpc \
  --address=psc-endpoint-ip \
  --target-service-attachment=projects/$project/regions/$region/serviceAttachments/producer-attachment

11. PSC エンドポイントの限定公開 DNS ゾーンを構成する [コンシューマー プロジェクト]

Cloud DNS を使用して、PSC エンドポイントで使用する DNS 名 myservice.com を含む限定公開 DNS ゾーンを構成します。

Cloud Shell から

gcloud dns managed-zones create "consumer-service" \
    --dns-name=myservice.com \
    --description="consumer service dns" \
    --visibility=private \
    --networks=consumer-vpc

gcloud dns record-sets transaction start \
   --zone="consumer-service"

myservice.com の A レコードを作成し、PSC エンドポイントの IP アドレスを指すようにします。

Cloud Shell から

gcloud dns record-sets transaction add 10.0.0.2 \
   --name=myservice.com \
   --ttl=300 \
   --type=A \
   --zone="consumer-service"

gcloud dns record-sets transaction execute \
   --zone="consumer-service"

12. PSC エンドポイントをテストする [コンシューマー プロジェクト]

クライアント VM を作成する

Cloud Shell から

gcloud compute instances create consumer-client-vm \
    --zone=$zone \
    --subnet=consumer-subnet \
    --no-address

PSC エンドポイントの接続をテストする

Cloud Shell から

gcloud compute ssh consumer-client-vm \
    --zone=$zone \
    --command="curl -s myservice.com/index.html"

想定される出力

I am a Producer Service.

Codelab の次のパートでは、新しいプロデューサー サービスを作成して移行します。この移行では、コンシューマー側の構成を更新しなくてもシームレスな更新を可能にする PSC Mutability 機能を紹介します。

13. 更新されたプロデューサー サービスを作成する [プロデューサー プロジェクト]

プロデューサー サービスを更新するには、同様の Apache ウェブサーバーを実行する新しい VM をデプロイし、「I am a NEW Producer service.」というメッセージを表示します。この VM を新しい非マネージド インスタンス グループに追加し、その非マネージド インスタンス グループを新しいロードバランサのバックエンドとして使用します。ネットワーク パススルー ロードバランサを使用する代わりに、ロードバランサをリージョン内部アプリケーション ロードバランサに更新します。

ネットワークを更新する

アプリケーション ロードバランサのプロキシ専用サブネットに使用する新しいサブネットを作成します。

Cloud Shell から

gcloud compute networks subnets create lb-proxy-subnet \
    --network=producer-vpc \
    --range=10.200.0.0/24 \
    --region=$region \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE

新しいサービスがホストされる新しいサブネットを作成します。

Cloud Shell から

gcloud compute networks subnets create producer-service-new-subnet \
    --network=producer-vpc \
    --range=10.0.1.0/28 \
    --region=$region

プロキシ専用サブネットから新しいプロデューサー サービスへの接続を許可する新しいファイアウォール ルールを作成します。

Cloud Shell から

 gcloud compute network-firewall-policies rules create 3001 \
    --action ALLOW \
    --firewall-policy producer-vpc-policy \
    --description "allow access from proxy only subnet" \
    --direction INGRESS \
    --src-ip-ranges 10.200.0.0/24 \
    --layer4-configs tcp:80  \
    --global-firewall-policy

インスタンスを作成

Cloud Shell から

gcloud compute instances create new-producer-service-vm \
    --network producer-vpc \
    --subnet producer-service-new-subnet \
    --zone $zone \
    --no-address \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    sudo apt-get install apache2 -y
    a2enmod ssl
    sudo a2ensite default-ssl
    echo "I am a NEW Producer Service." | \
    tee /var/www/html/index.html
    systemctl restart apache2'

非マネージド インスタンス グループを作成する

Cloud Shell から

gcloud compute instance-groups unmanaged create producer-new-uig \
  --zone=$zone

gcloud compute instance-groups unmanaged add-instances producer-new-uig \
  --zone=$zone \
  --instances=new-producer-service-vm

gcloud compute instance-groups unmanaged set-named-ports producer-new-uig \
    --named-ports=http:80 \
    --zone=$zone

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

バックエンド サービスを作成します。内部アプリケーション ロードバランサに更新するため、ロード バランシング スキームとして INTERNAL_MANAGED を使用しています。

Cloud Shell から

gcloud compute backend-services create producer-new-bes \
  --load-balancing-scheme=INTERNAL_MANAGED \
  --protocol=http \
  --region=$region \
  --health-checks=producer-hc \
  --health-checks-region=$region

非マネージド インスタンス グループをバックエンドとしてバックエンド サービスに追加します。

Cloud Shell から

gcloud compute backend-services add-backend producer-new-bes \
  --region=$region \
  --instance-group=producer-new-uig \
  --instance-group-zone=$zone

URL マップとターゲット HTTP プロキシを作成します。

Cloud Shell から

gcloud compute url-maps create producer-url-map \
  --default-service=producer-new-bes \
  --region=$region

gcloud compute target-http-proxies create http-proxy \
  --url-map=producer-url-map \
  --region=$region

転送ルールに使用する静的 IP アドレスを作成します。これは、元の転送ルールで使用したサブネットと同じサブネットから取得されます。

Cloud Shell から

gcloud compute addresses create producer-fr-new-ip\
  --region $region \
  --subnet producer-fr-subnet \
  --addresses 192.168.0.3

転送ルールを作成します。

Cloud Shell から

gcloud compute forwarding-rules create new-producer-fr \
  --load-balancing-scheme=INTERNAL_MANAGED \
  --network=producer-vpc \
  --subnet=producer-fr-subnet \
  --address=producer-fr-new-ip \
  --ports=80 \
  --region=$region \
  --target-http-proxy=http-proxy \
  --target-http-proxy-region=$region

14. 更新されたプロデューサー サービスをテストする [プロデューサー プロジェクト]

最初にデプロイしたサービスのテストに使用したのと同じテスト VM を使用します。

Cloud Shell から

gcloud compute ssh producer-test-vm \
    --zone=$zone \
    --command="curl -s 192.168.0.3/index.html"

更新された IP アドレスを呼び出していることに注意してください。192.168.0.3 は、リージョン内部アプリケーション ロードバランサの IP アドレスです。

想定される出力

I am a NEW Producer Service.

15. サービス アタッチメントを更新する [プロデューサー プロジェクト]

サービス アタッチメントの転送ルールの更新をよりわかりやすく視覚化するために、変更の前後にサービス アタッチメントで説明を実行できます。

Cloud Shell から

gcloud compute service-attachments describe producer-attachment \
    --region=$region \
    --format="value(targetService)"

想定される出力

https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr

サービス アタッチメントを更新します。

Cloud Shell から

gcloud compute service-attachments update producer-attachment \
  --region=$region \
  --target-service=projects/$project/regions/$region/forwardingRules/new-producer-fr

もう一度説明を実行して、新しい転送ルールを確認します。

Cloud Shell から

gcloud compute service-attachments describe producer-attachment \
    --region=$region \
    --format="value(targetService)"

想定される出力

https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/new-producer-fr

16. コンシューマー PSC 接続を再テストする [コンシューマー プロジェクト]

同じコンシューマー クライアントにログインします。

Cloud Shell から

gcloud compute ssh consumer-client-vm \
    --zone=$zone \
    --command="curl -s myservice.com/index.html"

想定される出力

 I am a NEW Producer Service.

おめでとうございます!PSC プロデューサー サービス ロードバランサが正常に更新されました。コンシューマー側で構成を変更する必要はありません。

17. クリーンアップ手順 [コンシューマー プロジェクト]

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

gcloud dns record-sets delete myservice.com --zone="consumer-service" --type=A -q

gcloud dns managed-zones delete "consumer-service" -q

gcloud compute forwarding-rules delete psc-endpoint --region=$region -q

gcloud compute addresses delete psc-endpoint-ip --region=$region -q

gcloud compute instances delete consumer-client-vm --zone=$zone --project $project -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=network-consumer-vpc --global-firewall-policy -q

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

gcloud compute networks subnets delete consumer-subnet --region $region -q

gcloud compute networks delete consumer-vpc -q

18. クリーンアップ手順 [プロデューサー プロジェクト]

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

gcloud compute service-attachments delete producer-attachment --region=$region -q

gcloud compute instances delete producer-test-vm --zone=$zone --project $project -q

gcloud compute forwarding-rules delete new-producer-fr --region=$region -q

gcloud compute addresses delete producer-fr-new-ip --region $region -q

gcloud compute target-http-proxies delete http-proxy --region $region -q

gcloud compute url-maps delete producer-url-map --region $region -q

gcloud compute backend-services delete producer-new-bes --region $region -q

gcloud compute instance-groups unmanaged delete producer-new-uig --zone $zone -q

gcloud compute instances delete new-producer-service-vm --zone $zone --project $project -q

gcloud compute networks subnets delete producer-service-new-subnet --region $region -q

gcloud compute networks subnets delete lb-proxy-subnet --region $region -q

gcloud compute forwarding-rules delete producer-fr --region=$region -q

gcloud compute addresses delete producer-fr-ip --region $region -q

gcloud compute backend-services delete producer-bes --region $region -q

gcloud compute health-checks delete producer-hc --region $region -q

gcloud compute instance-groups unmanaged delete producer-uig --zone $zone -q

gcloud compute instances delete producer-service-vm --zone $zone --project $project -q

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

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

gcloud compute network-firewall-policies rules delete 3000 --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=network-producer-vpc --global-firewall-policy -q

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

gcloud compute routers nats delete $region-nat --router=$region-cr --region=$region -q

gcloud compute routers delete $region-cr --region=$region -q

gcloud compute networks subnets delete psc-nat-subnet --region=$region -q

gcloud compute networks subnets delete producer-fr-subnet --region=$region -q

gcloud compute networks subnets delete producer-service-subnet --region=$region -q

gcloud compute networks delete producer-vpc -q

19. 完了

以上で、この Codelab は完了です。

学習した内容

  • PSC プロデューサー サービスとして公開されるシンプルな Apache ウェブサービスを作成します。
  • PSC エンドポイントを作成します。
  • コンシューマー サービス呼び出し用の Cloud DNS プライベート ゾーンを作成します。
  • PSC の変更可能性を使用して、サービス アタッチメントに関連付けられている転送ルールを更新します。