Agentspace Hybrid NEG'den bulutlar arası kendi kendine barındırılan veritabanına

1. Giriş

Bu codelab'de, PSC üreticisi hizmeti olarak yayınlanan bir dahili TCP proxy yük dengeleyicisi ve karma ağ uç noktası grubu (NEG) dağıtacaksınız. NEG, bulutlar arası kendi kendine barındırılan veritabanının (ör.JIRA, Confluence, SharePoint) IP adresi ve bağlantı noktasından 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, bulutlar arası bir veritabanına 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 dahili TCP proxy yük dengeleyici ve karma NEG'yi 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.

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.

Karma NEG

Şirket içi ve diğer bulut hizmetleri, diğer Cloud Load Balancing arka uçları gibi ele alınır. Temel fark, bu arka uçların uç noktalarını yapılandırmak için karma bağlantı NEG kullanmanızdır. Uç noktalar, yük dengeleyicinizin Cloud VPN veya Cloud Interconnect gibi karma bağlantı ürünlerini kullanarak ulaşabileceği geçerli IP:bağlantı noktası kombinasyonları olmalıdır.

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ğiticide, arka uç hizmeti karma NEG ile ilişkilendirilir.

4. En İyi Uygulamalar

  • AgentSpace, şirket içinde veya işlemde (ör. Hizmet üreticisi olarak yayınlandığında AWS EC2 ve Azure VM'leri)
  • Bulutlar arası veritabanına yönelik trafik, bölgesel proxy alt ağından kaynaklanır. Bu nedenle, güvenlik duvarı kurallarının bu trafiğe izin verecek şekilde güncellenmesi gerekir.
  • Yalnızca proxy alt ağı, Cloud Router tarafından varsayılan olarak duyurulsa da bulutlar arası ağın bu alt ağı öğrendiğini doğrulayın.
  • Agentspace VPC ağının, bulutlar arası veritabanının alt ağını veya ana makine IP adresini öğrendiğini doğrulayın.
  • 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.

5. Codelab topolojisi

f5cb7b235f6fa306.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]
zone=[YOUR-ZONE]
echo $project
echo $region

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, bulutlar arası veritabanı tarafından kaynak IP olarak gözlemlenen, yalnızca üretici bölgesel proxy alt ağını 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 hybrid-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 hybrid-neg-lb-ip \
  --region=$region | grep -i address:

Örnek çıkış:

gcloud compute addresses describe hybrid-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

Karma NEG'yi ayarlama

Karma NEG oluşturun ve –network-endpoint-type değerini NON_GCP_PRIVATE_IP_PORT olarak ayarlayın.

Cloud Shell'de, şirket içi veritabanına erişmek için kullanılan bir karma NEG oluşturun:

gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
    --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
    --network=agentspace-psc-demo \
    --zone=$zone

Cloud Shell'de, referans mimariye göre karma NEG'yi bulutlar arası veritabanının IP:Bağlantı Noktası ile güncelleyin (192.168.10.10 ve bağlantı noktası 443):

gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
    --add-endpoint=ip=192.168.10.10,port=443 \
    --zone=$zone

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 on-prem-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" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

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=on-prem-443-healthcheck --health-checks-region=$region

Cloud Shell'de, karma NEG arka ucunu arka uç hizmetine ekleyin:

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=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-hybrid-neg-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=agentspace-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=hybrid-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --allow-global-access \
     --ports=443

Hizmet eki oluşturma

Bir hizmeti yayınlamak için 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 cc-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-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/cc-database1-svc-attachment

Cloud Shell'de aşağıdakileri yapın:

gcloud compute service-attachments describe cc-database1-svc-attachment --region=$region

Beklenen örnek çıkış:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-06T16:05:14.706-07:00'
description: ''
enableProxyProtocol: false
fingerprint: rXjeAOjb41k=
id: '1726139744351862725'
kind: compute#serviceAttachment
name: cc-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '54619734758392808'
  low: '1726139744351862725'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/serviceAttachments/cc-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/forwardingRules/producer-hybrid-neg-fr

Cloud Console'da şuraya gidin:

Ağ Hizmetleri → Private Service Connect → Yayınlanan Hizmetler

62a981141ca52077.png

e36e988fc46c07a8.png

10. Agentspace'te PSC uç nokta bağlantısı oluşturma

Üretici hizmeti ekini Agentspace ile ilişkilendirmeden önce aşağıdaki doğrulama işlemlerinin tamamlandığından emin olun:

  • Bulutlar arası ağ güvenlik duvarı, bölgesel proxy alt ağını izin verilenler listesine ekler.
  • Bulutlar arası ağ, bölgesel proxy alt ağını öğrenmiştir.
  • Agentspace VPC, bulutlar arası veritabanı alt ağını veya ana makine IP'sini öğrenmiş olmalıdır.

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

c80e0e3845880771.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 cc-database1-svc-attachment hizmetini seçin.

4ae5916ea5402c1e.png

11. Temizleme

Tek bir Cloud Shell terminalinden laboratuvar bileşenlerini silme

gcloud compute service-attachments delete cc-database1-svc-attachment --region=$region -q

gcloud compute forwarding-rules delete producer-hybrid-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 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 on-prem-hybrid-neg --zone=$zone -q

gcloud compute addresses delete hybrid-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 health-checks delete on-prem-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, karma 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