1. Pengantar
Dalam codelab ini, Anda akan men-deploy load balancer proxy tcp internal dan Zonal Network Endpoint Group (NEG), yang Dipublikasikan sebagai Layanan Produsen PSC. NEG akan terdiri dari satu atau beberapa instance komputasi di GCP yang menghosting sendiri database, misalnya JIRA, Confluence, Sharepoint.
Private Service Connect adalah kemampuan jaringan Google Cloud yang memungkinkan Konsumen mengakses layanan terkelola secara pribadi dari dalam jaringan VPC mereka. Demikian pula, hal ini memungkinkan Produsen layanan terkelola menghosting layanan ini di jaringan VPC atau Cross Cloud mereka sendiri, yang menawarkan koneksi pribadi kepada Konsumen mereka. Misalnya, saat Anda menggunakan Private Service Connect untuk mengakses NEG Zonal, Anda adalah Produsen layanan, dan Google (Agentspace) adalah Konsumen layanan.
Yang akan Anda pelajari
- Persyaratan jaringan untuk Agentspace
- Praktik terbaik jaringan Agentspace
- Membuat layanan Produsen Private Service Connect
Yang Anda butuhkan
- Project Google Cloud dengan izin Pemilik
2. Yang akan Anda build
Anda akan membuat jaringan Produsen, agentspace-psc-demo, untuk men-deploy load balancer proxy tcp internal dan NEG Zonal yang dipublikasikan sebagai layanan melalui Private Service Connect (PSC).
3. Persyaratan jaringan
Berikut adalah perincian persyaratan jaringan untuk jaringan Produsen, Konsumen dalam codelab ini adalah Agentspace.
Komponen | Deskripsi |
VPC (agentspace-psc-demo) | VPC mode kustom |
Subnet NAT PSC | Paket dari jaringan VPC Konsumen diterjemahkan menggunakan NAT sumber (SNAT) sehingga alamat IP sumber aslinya dikonversi menjadi alamat IP sumber dari subnet NAT di jaringan VPC Produsen. PSC NAT mendukung subnet /29 per Lampiran Layanan. |
Subnet aturan penerusan PSC | Digunakan untuk mengalokasikan alamat IP untuk Load Balancer Proxy TCP Internal Regional.Subnet aturan penerusan dianggap sebagai subnet reguler. |
Subnet NEG | Digunakan untuk mengalokasikan alamat IP untuk Grup Endpoint Jaringan dari subnet reguler. |
Subnet Khusus Proxy | Setiap proxy load balancer diberi alamat IP internal. Paket yang dikirim dari proxy ke VM backend atau grup endpoint jaringan memiliki alamat IP sumber dari subnet khusus proxy.Subnet /23 direkomendasikan , meskipun minimum /26 didukung. Satu subnet proxy regional diperlukan per region. |
Layanan Backend | Layanan backend bertindak sebagai jembatan antara load balancer dan resource backend Anda. Dalam tutorial ini, layanan backend dikaitkan dengan NEG Zonal. |
4. Praktik Terbaik
- NEG Zonal mendukung satu atau beberapa instance GCE Zonal berdasarkan GCE_VM_IP_PORT
- Aktifkan Akses Global pada aturan penerusan Produsen sebelum membuat Lampiran Layanan.
- Aktifkan Akses global saat membuat endpoint Agentspace.
- Load balancer Proxy TCP Internal juga mendukung grup instance terkelola dan tidak terkelola
- Load balancer TCP Proxy atau Passthrough Google Cloud yang ada dapat diekspos sebagai Layanan Produsen
5. Topologi codelab
6. Penyiapan dan Persyaratan
Penyiapan lingkungan mandiri
- Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.
- Project name adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai
PROJECT_ID
). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project. - Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
Mulai Cloud Shell
Meskipun Google Cloud dapat dioperasikan dari jarak jauh menggunakan laptop Anda, dalam codelab ini, Anda akan menggunakan Google Cloud Shell, lingkungan command line yang berjalan di Cloud.
Dari Google Cloud Console, klik ikon Cloud Shell di toolbar kanan atas:
Hanya perlu waktu beberapa saat untuk penyediaan dan terhubung ke lingkungan. Jika sudah selesai, Anda akan melihat tampilan seperti ini:
Mesin virtual ini berisi semua alat pengembangan yang Anda perlukan. Layanan ini menawarkan direktori beranda tetap sebesar 5 GB dan beroperasi di Google Cloud, sehingga sangat meningkatkan performa dan autentikasi jaringan. Semua pekerjaan Anda dalam codelab ini dapat dilakukan di browser. Anda tidak perlu menginstal apa pun.
7. Sebelum memulai
Mengaktifkan API
Di dalam Cloud Shell, pastikan project ID Anda sudah disiapkan:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone1a=[YOUR-ZONE1a]
zone1b=[YOUR-ZONE1b]
echo $project
echo $region
echo $zone1a
echo $zone1b
Aktifkan semua layanan yang diperlukan:
gcloud services enable compute.googleapis.com
8. Buat Jaringan VPC Produsen
Jaringan VPC
Di dalam Cloud Shell, lakukan hal berikut:
gcloud compute networks create agentspace-psc-demo --subnet-mode custom
Buat Subnet
Subnet PSC akan dikaitkan dengan Lampiran Layanan PSC untuk tujuan Network Address Translation.
Di dalam Cloud Shell, buat Subnet NAT PSC:
gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
Di dalam Cloud Shell, buat subnet aturan penerusan Produsen:
gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access
Di dalam Cloud Shell, buat subnet Network Endpoint Group:
gcloud compute networks subnets create neg-subnet --network agentspace-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
Di dalam Cloud Shell, buat subnet khusus proxy regional Producer
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=agentspace-psc-demo \
--range=10.10.10.0/24
Mencadangkan alamat IP load balancer
Di dalam Cloud Shell, cadangkan alamat IP internal untuk load balancer:
gcloud compute addresses create zonal-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
Di dalam Cloud Shell, lihat Alamat IP yang dicadangkan.
gcloud compute addresses describe zonal-neg-lb-ip \
--region=$region | grep -i address:
Contoh output:
gcloud compute addresses describe zonal-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
Menyiapkan NEG Zona
Di bagian berikut, Anda akan membuat Zonal Network Endpoint Group yang berisi satu atau beberapa kombinasi alamat IP atau alamat IP dan port tujuan:
- Alamat IPv4 internal utama antarmuka jaringan VM
- Alamat IPv4 internal utama antarmuka jaringan VM ditambah nomor port tujuan
- Alamat IPv4 internal dari rentang alamat IP alias yang ditetapkan ke antarmuka jaringan VM
- Alamat IPv4 internal dari rentang alamat IP alias yang ditetapkan ke antarmuka jaringan VM ditambah nomor port tujuan
Antarmuka jaringan yang berisi endpoint GCE_VM_IP_PORT harus berada di subnet NEG. Jika Anda menghapus nomor port dari endpoint GCE_VM_IP_PORT, Google Cloud akan menggunakan nomor port default NEG untuk endpoint tersebut.
Dalam arsitektur referensi, instance GCE yang terkait dengan NEG Zonal terdiri dari:
- database-us-central1-a | us-central1-a | IP: 100.100.10.2 | Port: 443
- database-us-central1-a | us-central1-b | IP: 100.100.10.3 | Port: 443
- Subnet name: database-subnet-1
Buat NEG Zonal untuk zone1a
Di bagian berikut, Anda akan membuat grup endpoint jaringan per zona, misalnya us-central1-a, dan menentukan nama subnet yang digunakan untuk membuat instance GCE. Dalam arsitektur referensi, nama subnet adalah database-subnet-1.
Di dalam Cloud Shell, buat NEG Zonal:
gcloud compute network-endpoint-groups create us-central-zonal-neg-1a \
--zone=$zone1a \
--network=agentspace-psc-demo \
--subnet=database-subnet-1 \
--default-port=443
Di dalam Cloud Shell, perbarui NEG Zonal dengan IP:Port instance GCE yang di-deploy di zone1a. Dalam arsitektur referensi, instance GCE adalah 100.100.10.2 Port 443 yang di-deploy di zona us-central1-a.
gcloud compute network-endpoint-groups update us-central-zonal-neg-1a --zone=$zone1a --add-endpoint instance=database-us-central1-a,port=443
Buat NEG Zonal untuk zone1b
Di bagian berikut, Anda akan membuat grup endpoint jaringan per zona, misalnya us-central1-b, dan menentukan nama subnet yang digunakan untuk membuat instance GCE. Dalam arsitektur referensi, nama subnet adalah database-subnet-1.
Di dalam Cloud Shell, buat NEG Zonal:
gcloud compute network-endpoint-groups create us-central-zonal-neg-1b \
--zone=$zone1b \
--network=agentspace-psc-demo \
--subnet=database-subnet-1 \
--default-port=443
Di dalam Cloud Shell, perbarui NEG Zonal dengan IP:Port instance GCE yang di-deploy di zone1b. Dalam arsitektur referensi, instance GCE adalah 100.100.10.3 Port 443 yang di-deploy di zona us-central1-b.
gcloud compute network-endpoint-groups update us-central-zonal-neg-1b --zone=$zone1b --add-endpoint instance=database-us-central1-b,port=443
Membuat health check regional
Di dalam Cloud Shell, buat health check yang memeriksa port database lokal, 443:
gcloud compute health-checks create tcp zonal-443-healthcheck \
--region=$region \
--port=443
Membuat Kebijakan Firewall Jaringan dan Aturan Firewall
Di dalam Cloud Shell, lakukan hal berikut:
gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy
Aturan firewall berikut mengizinkan traffic dari rentang Subnet NAT PSC ke semua instance dalam jaringan.
Di dalam Cloud Shell, lakukan hal berikut:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow traffic from PSC NAT subnet to GCE" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp
Aturan firewall berikut mengizinkan traffic dari rentang probe health check ke semua instance dalam jaringan. Perhatikan bahwa health check dan port aplikasi harus cocok.
Di dalam Cloud Shell, lakukan hal berikut:
gcloud compute network-firewall-policies rules create 2002 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal probe health check range to GCE" --direction INGRESS --src-ip-ranges 35.191.0.0/16,130.211.0.0/22 --global-firewall-policy --layer4-configs=tcp:443
Aturan firewall berikut mengizinkan traffic dari rentang subnet khusus proxy ke semua instance dalam jaringan. Perhatikan bahwa subnet proxy dan port aplikasi harus cocok.
Di dalam Cloud Shell, lakukan hal berikut:
gcloud compute network-firewall-policies rules create 2003 --action ALLOW --firewall-policy agentspace-psc-demo-policy --description "allow internal tcp proxy health check range to GCE" --direction INGRESS --src-ip-ranges 10.10.10.0/24 --global-firewall-policy --layer4-configs=tcp:443
9. Membuat Layanan Produsen
Membuat Komponen Load Balancer
Di dalam Cloud Shell, buat layanan backend:
gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=zonal-443-healthcheck --health-checks-region=$region
Di dalam Cloud Shell, kaitkan NEG Zonal, us-central-zonal-neg-1a, ke layanan backend:
gcloud compute backend-services add-backend producer-backend-svc \
--network-endpoint-group=us-central-zonal-neg-1a \
--network-endpoint-group-zone=$zone1a \
--balancing-mode=CONNECTION \
--max-connections-per-endpoint=100 \
--region=$region
Di dalam Cloud Shell, kaitkan NEG Zonal, us-central-zonal-neg-1b,ke layanan backend:
gcloud compute backend-services add-backend producer-backend-svc \
--network-endpoint-group=us-central-zonal-neg-1b \
--network-endpoint-group-zone=$zone1b \
--balancing-mode=CONNECTION \
--max-connections-per-endpoint=100 \
--region=$region
Di Cloud Shell, Buat proxy TCP target untuk mengarahkan permintaan ke layanan backend Anda:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
Dalam sintaksis berikut, buat aturan penerusan (load balancer proxy tcp internal) dengan akses global diaktifkan.
Di Cloud Shell, lakukan hal berikut:
gcloud compute forwarding-rules create producer-zonal-neg-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=agentspace-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=zonal-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--allow-global-access \
--ports=443
Memvalidasi Kesehatan Backend
Validasi kondisi (status hijau) layanan backend dan instance komputasi terkait menggunakan konsol cloud di bagian berikut. Buka bagian berikut:
Network Services → Load Balancing → Producer-backend-svc
Buat Lampiran Layanan
Untuk memublikasikan layanan, Anda harus membuat lampiran layanan Private Service Connect. Anda dapat memublikasikan layanan dengan persetujuan otomatis atau persetujuan eksplisit.
- Untuk memublikasikan layanan dan otomatis mengizinkan Konsumen terhubung ke layanan tersebut, ikuti petunjuk di Memublikasikan layanan dengan persetujuan otomatis.
- Untuk memublikasikan layanan dengan persetujuan Konsumen eksplisit, di setelan koneksi lampiran layanan, pilih Terima koneksi untuk project yang dipilih dan biarkan kolom Project yang diterima kosong.
- Setelah Anda membuat lampiran layanan, endpoint Konsumen yang meminta akses ke layanan Produsen akan memasuki status tertunda pada awalnya. Untuk mengizinkan koneksi, Produsen kemudian harus menerima project tempat permintaan endpoint Konsumen berasal.
Di dalam Cloud Shell, buat Lampiran Layanan, cc-database1-svc-attachment dengan persetujuan otomatis:
gcloud compute service-attachments create zonal-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-zonal-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
Selanjutnya, dapatkan dan catat Lampiran Layanan yang tercantum dalam URI selfLink yang dimulai dengan project untuk mengonfigurasi endpoint PSC di Agentspace.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/zonal-database1-svc-attachment
Di dalam Cloud Shell, lakukan hal berikut:
gcloud compute service-attachments describe zonal-database1-svc-attachment --region=$region
Contoh Output yang Diharapkan:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-12T16:00:22.429-07:00'
description: ''
enableProxyProtocol: false
fingerprint: zOpeRQnPWSc=
id: '1784245893044590569'
kind: compute#serviceAttachment
name: zonal-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '119824781489996776'
low: '1784245893044590569'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/serviceAttachments/zonal-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project-svc4/regions/us-central1/forwardingRules/producer-zonal-neg-fr
Di Konsol Cloud, buka:
Network Services → Private Service Connect → Published Services
10. Membuat Koneksi Endpoint PSC di Agentspace
Tautkan URI Lampiran Layanan Produsen dengan Agentspace, pastikan akses global dipilih. Berikut adalah contoh pengaktifan akses global dengan Lampiran Layanan arsitektur referensi.
Untuk menyelesaikan jaringan pribadi, lihat sumber data pihak ketiga Agentspace untuk mengetahui petunjuk lebih lanjut.
Validasi endpoint PSC di Konsol Cloud
Untuk mengonfirmasi koneksi PSC yang berhasil antara Agentspace (Konsumen) dan Produsen, verifikasi project tenant Agentspace yang ditautkan ke Layanan Produsen. Project ini dapat ditemukan di bagian 'Connected Projects'. ID project tenant ditetapkan secara acak, tetapi akan selalu diakhiri dengan 'tp'.
Dari Konsol Cloud, Anda dapat memvalidasi Koneksi PSC. Di Konsol Cloud, buka:
Network Services → Private Service Connect → Published Service, lalu pilih Service, zonal-database1-svc-attachment.
11. Pembersihan
Menghapus komponen lab dari satu terminal Cloud Shell
gcloud compute service-attachments delete zonal-database1-svc-attachment --region=$region -q
gcloud compute forwarding-rules delete producer-zonal-neg-fr --region=$region -q
gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q
gcloud compute backend-services delete producer-backend-svc --region=$region -q
gcloud compute network-firewall-policies rules delete 2001 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies rules delete 2002 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies rules delete 2003 --firewall-policy agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy --name=agentspace-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q
gcloud compute network-endpoint-groups delete us-central-zonal-neg-1a --zone=$zone1a -q
gcloud compute network-endpoint-groups delete us-central-zonal-neg-1b --zone=$zone1b -q
gcloud compute addresses delete zonal-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q
gcloud compute networks subnets delete neg-subnet --region=$region -q
gcloud compute health-checks delete zonal-443-healthcheck --region=us-central1 -q
gcloud compute networks delete agentspace-psc-demo -q
12. Selamat
Selamat, Anda telah berhasil mengonfigurasi dan memublikasikan layanan Produsen dengan Private Service Connect.
Anda telah membuat infrastruktur Produsen, mempelajari cara membuat NEG Zonal, Layanan Produsen, dan mengaitkan lampiran layanan ke Agentspace.
Cosmopup menganggap codelab itu luar biasa!!
Apa selanjutnya?
Lihat beberapa codelab ini...
- Menggunakan Private Service Connect untuk memublikasikan dan menggunakan layanan
- Akses ke semua codelab Private Service Connect yang dipublikasikan