Agentspace'ten alt bölgesel NEG'ye kendini barındıran veritabanı

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

9a8a948b0a4ad91e.png

6. Kurulum ve Gereksinimler

Kendi hızınızda ortam kurulumu

  1. 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.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • 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.
  1. 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:

55efc1aaa7a4d3ad.png

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:

7ffe5cbb04455448.png

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

dbbc97dcef9db785.png

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

898fe7673474be14.png

4d0b77966af14c7a.png

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.

cb16ba8d7cfb86dd.png

Ö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.

2f6b7830ce3db3b7.png

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.

c911c127bffdee57.jpeg

Yapabilecekleriniz

Aşağıdaki codelab'lere göz atın:

Daha fazla bilgi ve videolar

Referans belgeleri