1. Giriş
Bu codelab'de, PSC üretici hizmeti olarak yayınlanan bir dahili TCP proxy yük dengeleyicisi ve alt bölgesel ağ uç noktası grubu (NEG) dağıtacaksınız. NEG, GCP'de veritabanı (ör.JIRA, Confluence, Sharepoint) barındıran bir veya daha fazla bilgi işlem örneğinden oluşur.
Private Service Connect, tüketicilerin yönetilen hizmetlere VPC ağlarının içinden özel olarak erişmesine olanak tanıyan bir Google Cloud ağ iletişimi özelliğidir. Aynı şekilde, yönetilen hizmet üreticilerinin bu hizmetleri kendi VPC'lerinde veya bulutlar arası ağlarında barındırmasına olanak tanıyarak tüketicilerine özel bir bağlantı sunar. Örneğin, bir bölgesel NEG'ye erişmek için Private Service Connect'i kullandığınızda hizmet üreticisi siz, hizmet tüketicisi ise Google (Agentspace) olur.
Neler öğreneceksiniz?
- Agentspace için ağ gereksinimleri
- Agentspace ağ iletişimiyle ilgili en iyi uygulamalar
- Private Service Connect üretici hizmeti oluşturma
Gerekenler
- Sahip izinlerine sahip Google Cloud projesi
2. Ne oluşturacaksınız?
Private Service Connect (PSC) aracılığıyla hizmet olarak yayınlanan bölgesel NEG ve dahili TCP proxy yük dengeleyiciyi dağıtmak için bir üretici ağı (agentspace-psc-demo) oluşturacaksınız.
3. Ağ gereksinimleri
Üretici ağı için ağ gereksinimlerinin dökümünü aşağıda bulabilirsiniz. Bu codelab'deki tüketici Agentspace'tir.
Bileşenler | Açıklama |
VPC (agentspace-psc-demo) | Özel mod VPC |
PSC NAT alt ağı | Tüketici VPC ağından gelen paketler, kaynak NAT (SNAT) kullanılarak çevrilir. Böylece, orijinal kaynak IP adresleri, üreticinin VPC ağındaki NAT alt ağından kaynak IP adreslerine dönüştürülür. PSC NAT, hizmet eki başına /29 alt ağını destekler. |
PSC iletim kuralı alt ağı | Bölgesel dahili TCP proxy yük dengeleyicisi için bir IP adresi ayırmak üzere kullanılır.İletim kuralı alt ağı normal alt ağ olarak kabul edilir. |
NEG alt ağı | Ağ uç noktası grubu için normal bir alt ağdan IP adresi ayırmak üzere kullanılır. |
Yalnızca Proxy Alt Ağı | Yük dengeleyicinin her bir proxy'sine dahili bir IP adresi atanır. Bir proxy'den arka uç sanal makinesine veya ağ uç noktası grubuna gönderilen paketlerin kaynak IP adresi, yalnızca proxy'ye ait alt ağdan alınır.Minimum /26 desteklenmesine rağmen /23 alt ağ önerilir . Her bölge için bir bölgesel proxy alt ağı gerekir. |
Arka Uç Hizmeti | Arka uç hizmeti, yük dengeleyiciniz ile arka uç kaynaklarınız arasında köprü görevi görür. Eğitimde, arka uç hizmeti bölgesel NEG ile ilişkilendirilir. |
4. En İyi Uygulamalar
- Bölgesel NEG'ler, GCE_VM_IP_PORT'a dayalı olarak bir veya daha fazla bölgesel GCE örneğini destekler.
- Hizmet ekini oluşturmadan önce üretici iletme kuralında genel erişimi etkinleştirin.
- Agentspace uç noktasını oluştururken genel erişimi etkinleştirin.
- Dahili TCP proxy yük dengeleyici, yönetilen ve yönetilmeyen örnek gruplarını da destekler.
- Mevcut bir Google Cloud TCP Proxy veya Geçiş yük dengeleyicileri, üretici hizmeti olarak kullanıma sunulabilir.
5. Codelab topolojisi
6. Kurulum ve Gereksinimler
Kendi hızınızda ortam kurulumu
- Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Henüz bir Gmail veya Google Workspace hesabınız yoksa oluşturmanız gerekir.
- Proje adı, bu projenin katılımcıları için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Bu bilgiyi istediğiniz zaman güncelleyebilirsiniz.
- Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğinize (genellikle
PROJECT_ID
olarak tanımlanır) başvurmanız gerekir. Oluşturulan kimliği beğenmezseniz başka bir rastgele kimlik oluşturabilirsiniz. Dilerseniz kendi adınızı deneyerek kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu adım tamamlandıktan sonra değiştirilemez ve proje süresince geçerli kalır. - Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
- Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırılmayı önlemek için kaynakları kapatmak üzere oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.
Cloud Shell'i başlatma
Google Cloud, dizüstü bilgisayarınızdan uzaktan çalıştırılabilir. Ancak bu codelab'de, Cloud'da çalışan bir komut satırı ortamı olan Google Cloud Shell'i kullanacaksınız.
Google Cloud Console'da sağ üstteki araç çubuğunda Cloud Shell simgesini tıklayın:
Ortamın sağlanması ve bağlantının kurulması yalnızca birkaç saniye sürer. İşlem tamamlandığında aşağıdakine benzer bir sonuç görürsünüz:
Bu sanal makine, ihtiyaç duyacağınız tüm geliştirme araçlarını içerir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Bu sayede ağ performansı ve kimlik doğrulama önemli ölçüde iyileştirilir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi bir şey yüklemeniz gerekmez.
7. Başlamadan önce
API'leri etkinleştir
Cloud Shell'de proje kimliğinizin ayarlandığından emin olun:
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
Gerekli tüm hizmetleri etkinleştirin:
gcloud services enable compute.googleapis.com
8. Üretici VPC ağı oluşturma
VPC Ağı
Cloud Shell'de aşağıdakileri yapın:
gcloud compute networks create agentspace-psc-demo --subnet-mode custom
Alt Ağ Oluşturma
PSC alt ağı, Ağ Adresi Çevrimi amacıyla PSC hizmet ekiyle ilişkilendirilir.
Cloud Shell'de PSC NAT alt ağını oluşturun:
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
Cloud Shell'de üretici iletim kuralı alt ağını oluşturun:
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
Cloud Shell'de ağ uç noktası grubu alt ağını oluşturun:
gcloud compute networks subnets create neg-subnet --network agentspace-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
Cloud Shell'de, üretici bölgesel proxy'si için yalnızca proxy alt ağı oluşturun.
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
Yük dengeleyicinin IP adresini ayırın
Cloud Shell'de yük dengeleyici için bir dahili IP adresi ayırın:
gcloud compute addresses create zonal-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
Cloud Shell'de ayrılmış IP adresini görüntüleyin.
gcloud compute addresses describe zonal-neg-lb-ip \
--region=$region | grep -i address:
Örnek çıkış:
gcloud compute addresses describe zonal-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
Alt bölgesel NEG'yi ayarlama
Aşağıdaki bölümde, bir veya daha fazla IP adresi ya da IP adresi ve hedef bağlantı noktası kombinasyonu içeren bir bölgesel ağ uç noktası grubu oluşturacaksınız:
- Bir sanal makine ağ arayüzünün birincil dahili IPv4 adresi
- Bir sanal makine ağ arayüzünün birincil dahili IPv4 adresi ve hedef bağlantı noktası numarası
- Bir sanal makine ağ arayüzüne atanmış takma ad IP adresi aralığındaki bir dahili IPv4 adresi
- Bir sanal makine ağ arayüzüne atanmış takma ad IP adresi aralığından bir dahili IPv4 adresi ve hedef bağlantı noktası numarası
GCE_VM_IP_PORT uç noktasını içeren ağ arayüzü, NEG'nin alt ağında olmalıdır. Bir GCE_VM_IP_PORT bitiş noktasından bağlantı noktası numarasını çıkardığınızda Google Cloud, bitiş noktası için NEG'nin varsayılan bağlantı noktası numarasını kullanır.
Referans mimaride, bölgesel NEG ile ilişkili GCE örnekleri şunlardan oluşur:
- database-us-central1-a | us-central1-a | IP: 100.100.10.2 | Bağlantı noktası: 443
- database-us-central1-a | us-central1-b | IP: 100.100.10.3 | Bağlantı noktası: 443
- Alt ağ adı: database-subnet-1
zone1a için alt bölgesel NEG'yi oluşturun
Aşağıdaki bölümde, bölge başına ağ uç noktası grubu oluşturacak (ör.us-central1-a) ve GCE örneğini oluşturmak için kullanılan alt ağ adını belirteceksiniz. Referans mimarisinde alt ağ adı database-subnet-1'dir.
Cloud Shell'de bölgesel bir NEG oluşturun:
gcloud compute network-endpoint-groups create us-central-zonal-neg-1a \
--zone=$zone1a \
--network=agentspace-psc-demo \
--subnet=database-subnet-1 \
--default-port=443
Cloud Shell'de, Zonal NEG'yi zone1a'da dağıtılan GCE örneğinin IP:Bağlantı Noktası ile güncelleyin. Referans mimaride GCE örneği, us-central1-a bölgesinde dağıtılan 100.100.10.2 bağlantı noktası 443'tür.
gcloud compute network-endpoint-groups update us-central-zonal-neg-1a --zone=$zone1a --add-endpoint instance=database-us-central1-a,port=443
zone1b için bölgesel NEG'yi oluşturun
Aşağıdaki bölümde, bölge başına ağ uç noktası grubu (ör.us-central1-b) oluşturacak ve GCE örneğini oluşturmak için kullanılan alt ağ adını belirteceksiniz. Referans mimarisinde alt ağ adı database-subnet-1'dir.
Cloud Shell'de bölgesel bir NEG oluşturun:
gcloud compute network-endpoint-groups create us-central-zonal-neg-1b \
--zone=$zone1b \
--network=agentspace-psc-demo \
--subnet=database-subnet-1 \
--default-port=443
Cloud Shell'de, bölgeye özgü NEG'yi zone1b'de dağıtılan GCE örneğinin IP:Bağlantı Noktası ile güncelleyin. Referans mimaride GCE örneği, us-central1-b bölgesinde dağıtılan 100.100.10.3 bağlantı noktası 443'tür.
gcloud compute network-endpoint-groups update us-central-zonal-neg-1b --zone=$zone1b --add-endpoint instance=database-us-central1-b,port=443
Bölgesel durum denetimi oluşturma
Cloud Shell'de, şirket içi veritabanı bağlantı noktasını (443) yoklayan bir durum denetimi oluşturun:
gcloud compute health-checks create tcp zonal-443-healthcheck \
--region=$region \
--port=443
Ağ güvenlik duvarı politikası ve güvenlik duvarı kuralları oluşturma
Cloud Shell'de aşağıdakileri yapın:
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
Aşağıdaki güvenlik duvarı kuralı, PSC NAT alt ağı aralığından gelen trafiğin ağdaki tüm örneklere ulaşmasına izin verir.
Cloud Shell'de aşağıdakileri yapın:
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
Aşağıdaki güvenlik duvarı kuralı, durum denetimi kontrol aralığından gelen trafiğin ağdaki tüm örneklere ulaşmasına izin verir. Durum denetimi ve uygulama bağlantı noktasının eşleşmesi gerektiğini unutmayın.
Cloud Shell'de aşağıdakileri yapın:
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
Aşağıdaki güvenlik duvarı kuralı, yalnızca proxy kullanılan alt ağ aralığından gelen trafiğin ağdaki tüm örneklere ulaşmasına izin verir. Proxy alt ağı ve uygulama bağlantı noktasının eşleşmesi gerektiğini unutmayın.
Cloud Shell'de aşağıdakileri yapın:
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. Üretici hizmeti oluşturma
Yük Dengeleyici Bileşenleri Oluşturma
Cloud Shell'de bir arka uç hizmeti oluşturun:
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
Cloud Shell'de, bölgesel NEG'yi (us-central-zonal-neg-1a) arka uç hizmetiyle ilişkilendirin:
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
Cloud Shell'de, bölgesel NEG'yi (us-central-zonal-neg-1b) arka uç hizmetiyle ilişkilendirin:
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
Cloud Shell'de, istekleri arka uç hizmetinize yönlendirmek için bir hedef TCP proxy'si oluşturun:
gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
--backend-service=producer-backend-svc \
--region=$region
Aşağıdaki söz diziminde, genel erişimin etkin olduğu bir yönlendirme kuralı (dahili TCP proxy yük dengeleyici) oluşturun.
Cloud Shell'de aşağıdakileri yapın:
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
Arka Uç Durumunu Doğrulama
Aşağıdaki bölümde yer alan Cloud Console'u kullanarak arka uç hizmetinin ve ilişkili işlem örneklerinin durumunu (yeşil durum) doğrulayın. Aşağıdakilere gidin:
Network Services → Load Balancing → Producer-backend-svc
Hizmet eki oluşturma
Bir hizmeti yayınlamak için Private Service Connect hizmet eki oluşturmanız gerekir. Hizmeti otomatik onay veya açık onay ile yayınlayabilirsiniz.
- Hizmeti yayınlamak ve herhangi bir Tüketicinin otomatik olarak bağlanmasına izin vermek için Bir hizmeti otomatik onay ile yayınlama başlıklı makaledeki talimatları uygulayın.
- Hizmeti açık tüketici onayıyla yayınlamak için hizmet eki bağlantı ayarlarında Seçili projeler için bağlantıları kabul et'i seçin ve Kabul edilen projeler alanını boş bırakın.
- Hizmet ekini oluşturduktan sonra, üretici hizmetine erişim isteğinde bulunan tüketici uç noktaları başlangıçta beklemede durumuna girer. Bağlantıyı yetkilendirmek için Üretici, Tüketici uç nokta isteğinin geldiği projeyi kabul etmelidir.
Cloud Shell'de, otomatik onay ile cc-database1-svc-attachment adlı hizmet ekini oluşturun:
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
Ardından, Agentspace'te PSC uç noktasını yapılandırmak için projelerle başlayan selfLink URI'sinde listelenen Hizmet Eki'ni alın ve not edin.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/zonal-database1-svc-attachment
Cloud Shell'de aşağıdakileri yapın:
gcloud compute service-attachments describe zonal-database1-svc-attachment --region=$region
Beklenen örnek çıkış:
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
Cloud Console'da şuraya gidin:
Ağ Hizmetleri → Private Service Connect → Yayınlanan Hizmetler
10. Agentspace'te PSC uç nokta bağlantısı oluşturma
Üretici hizmeti eki URI'sini Agentspace ile ilişkilendirin ve küresel erişimin seçildiğinden emin olun. Aşağıda, referans mimarisi hizmet eki ile genel erişimin etkinleştirilmesine dair bir örnek verilmiştir.
Özel ağ oluşturma işlemini tamamlamak için Agentspace üçüncü taraf veri kaynaklarına danışarak daha fazla bilgi edinin.
Cloud Console'da PSC uç noktasını doğrulama
Agentspace (Tüketici) ile Üretici arasında başarılı bir PSC bağlantısı olduğunu onaylamak için Üretici Hizmeti'ne bağlı Agentspace kiracı projesini doğrulayın. Bu bilgiyi "Bağlı Projeler" bölümünde bulabilirsiniz. Kiracı proje kimliği rastgele atanır ancak her zaman "tp" ile biter.
Cloud Console'dan PSC bağlantısını doğrulayabilirsiniz. Cloud Console'da şuraya gidin:
Ağ Hizmetleri → Private Service Connect → Yayınlanan Hizmet'i seçin, ardından Hizmet'i (zonal-database1-svc-attachment) seçin.
11. Temizleme
Tek bir Cloud Shell terminalinden laboratuvar bileşenlerini silme
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. Tebrikler
Tebrikler! Private Service Connect ile bir üretici hizmetini başarıyla yapılandırdınız ve yayınladınız.
Üretici altyapısını oluşturdunuz, bölgesel NEG ve üretici hizmeti oluşturmayı ve hizmet ekini Agentspace ile ilişkilendirmeyi öğrendiniz.
Cosmopup, codelab'lerin harika olduğunu düşünüyor.
Yapabilecekleriniz
Aşağıdaki codelab'lere göz atın:
- Hizmetleri yayınlamak ve kullanmak için Private Service Connect'i kullanma
- Yayınlanan tüm Private Service Connect codelab'lerine erişim