1. Giriş
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 ayrı VPC ağlarında barındırmasına ve tüketicilerine özel bir bağlantı sunmasına olanak tanır.
Şimdiye kadar, PSC hizmetleri bir hizmet eki aracılığıyla kullanıma sunulduktan sonra hizmet eki kaldırılmadan ve tüketici PSC uç nokta bağlantısı kesintiye uğratılmadan hizmet yük dengeleyicilerinde değişiklik yapılamıyordu. PSC değiştirilebilirliğinin kullanıma sunulmasıyla birlikte üreticiler, yük dengeleyicilerini PSC uç nokta bağlantısını koruyarak güncelleyebilir. Yük dengeleyiciyi değiştirirken PSC uç nokta bağlantısını hizmet ekine korumak, tüketici tarafında herhangi bir işlem yapılmasını gerektirmemesi açısından avantajlıdır.
Şu anda PSC değiştirilebilirliği aşağıdaki özellikleri desteklemektedir:
- Aynı türden bir yük dengeleyici yönlendirme kuralına geçiş (ör. Ağ Geçişi - Ağ Geçişi)
- Farklı türde bir yük dengeleyici yönlendirme kuralına taşıma (ör. Ağ Geçişi - Uygulama Yük Dengeleyicisi)
PSC değişkenliği, iletim kuralının yerinde düzenlenmesini desteklemez.
Bu laboratuvarda, dahili ağ geçişi yük dengeleyicisi aracılığıyla kullanıma sunulan bir üretici web hizmeti oluşturacak, hizmetin PSC uç noktası üzerinden bağlantısı olduğunu doğrulayacak ve ardından hizmet eki ilişkilendirmesini dahili uygulama yük dengeleyicisine yönelik yeni bir yönlendirme kuralıyla güncelleyeceksiniz.
Neler öğreneceksiniz?
- PSC üretici hizmeti olarak kullanıma sunulan basit bir Apache web hizmeti oluşturun.
- PSC uç noktası oluşturun.
- Tüketici hizmeti çağrıları için Cloud DNS özel bölgesi oluşturun.
- PSC Değişkenliği'ni kullanarak hizmet ekiyle ilişkili yönlendirme kuralını güncelleyin.
Gerekenler
- Sahip izinlerine sahip bir Google Cloud projesi
- Google Cloud Networking hakkında temel bilgiler
2. Test Ortamı
Geleneksel olarak, üreticiler ve tüketiciler farklı projelerde çalışır. Basitlik için tüm işlemleri aynı projede yapacağız ancak kullanıcı farklı projelerde çalışmayı tercih ederse her adım Üretici veya Tüketici projeleriyle etiketlenecektir.
Bu laboratuvarda, üç alt ağı bulunan producer-vpc oluşturarak başlayacağız. Bu alt ağlardan biri üretici hizmetine ve test sanal makinesine, biri yük dengeleyici yönlendirme kurallarına, biri de PSC NAT alt ağına ev sahipliği yapacak. Linux paketlerini indirmek için internete erişilebilirlik amacıyla bir Cloud Router ve Cloud NAT'ye ihtiyacımız olacak. Yönetilmeyen bir örnek grubu aracılığıyla yapılandırılan Apache hizmetimizi, dahili bölgesel bir Ağ Geçişi yük dengeleyicisi üzerinden kullanıma sunacağız ve iletim kuralını bir hizmet ekiyle ilişkilendireceğiz.
Tüketici tarafında, PSC uç noktamızı ve bir test istemcisi sanal makinesini barındırmak için tek bir alt ağa sahip consumer-vpc oluşturacağız. Hizmete ana makine adı üzerinden erişmek için Cloud DNS özel bölgesi yapılandıracağız.
PSC Değişkenlik özelliğini göstermek için üretici tarafında iki ek alt ağ ekleyeceğiz. Bunlardan biri yeni hizmet sanal makinesini, diğeri ise yük dengeleyici proxy'si için yalnızca proxy alt ağını barındıracak. Yine yönetilmeyen bir örnek grubu aracılığıyla yapılandırılmış bir Apache web sunucusunun barındırıldığı yeni bir sanal makine oluşturup yeni bir dahili bölgesel uygulama yük dengeleyicisi üzerinden kullanıma sunacağız. Hizmet ekini, yeni yönlendirme kuralını gösterecek şekilde güncelleyeceğiz ve tüketici tarafındaki bağlantının devam ettiğini test edeceğiz.

3. Kurulum ve Gereksinimler
Yönlendirmesiz ortam kurulumu
- Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap 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_IDolarak 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 temel hazırlığı ve bağlanması yalnızca birkaç dakikanızı alır. İş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 güçlenir. Bu codelab'deki tüm çalışmalarınızı tarayıcıda yapabilirsiniz. Herhangi bir şey yüklemeniz gerekmez.
4. 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-NAME] export project=[YOUR-PROJECT-NAME] export region=us-central1 export zone=$region-a echo $project echo $region echo $zone
Gerekli tüm hizmetleri etkinleştirin
gcloud services enable compute.googleapis.com gcloud services enable dns.googleapis.com
5. Yapımcı Ağı Oluşturma [Yapımcı Projesi]
VPC ağı oluşturma
Cloud Shell'den
gcloud compute networks create producer-vpc \
--subnet-mode=custom
Alt ağ oluşturma
Öncelikle producer-vpc'ye 3 alt ağ dağıtacağız. Biri üretici hizmetini dağıtmak, biri yük dengeleyici iletim kuralları için, biri de PSC NAT alt ağımız için PSC hizmet ekiyle ilişkilendirilecek şekilde üç alt ağ oluşturacağız.
Cloud Shell'den
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 oluşturma
Üretici hizmetlerimiz için uygun paketlerin yüklenmesi amacıyla Cloud NAT gereklidir.
Cloud Shell'den
gcloud compute routers create $region-cr \
--network=producer-vpc \
--region=$region
Cloud Shell'den
gcloud compute routers nats create $region-nat \
--router=$region-cr \
--region=$region \
--nat-all-subnet-ip-ranges \
--auto-allocate-nat-external-ips
Ağ Güvenlik Duvarı Politikası ve Kuralları Oluşturma
Cloud Shell'den
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'nin sanal makine örneklerinize bağlanmasına izin vermek için aşağıdaki özellikleri içeren bir güvenlik duvarı kuralı oluşturun:
- IAP kullanarak erişmek istediğiniz tüm sanal makine örnekleri için geçerlidir.
- 35.235.240.0/20 IP aralığından gelen giriş trafiğine izin verir. Bu aralık, IAP'nin TCP yönlendirme için kullandığı tüm IP adreslerini içerir.
Cloud Shell'den
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
Üç güvenlik duvarı kuralıyla başlayacağız. Biri yük dengeleyici durum denetimleri için sanal makinelere erişime (2000), biri PSC NAT aralığından sanal makinelere erişime (3000), diğeri ise test amacıyla hizmet alt ağındaki sanal makineler arasında bağlantıya (4000) izin verir. Hizmetimiz için bu bağlantı noktasını kullanacağımızdan 80 numaralı bağlantı noktasıyla ilgili tüm kuralları oluşturacağız.
Cloud Shell'den
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. Üretici hizmeti oluşturma [Üretici projesi]
"I am a Producer Service" (Ben bir Üretici Hizmetiyim) mesajını gösteren, yönetilmeyen bir örnek grubu kullanarak basit bir Apache web hizmeti oluşturacağız.
Örnek Oluştur
Cloud Shell'den
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'
Yönetilmeyen Örnek Grubu Oluşturma
Cloud Shell'den
gcloud compute instance-groups unmanaged create producer-uig \ --zone=$zone
producer-service-vm'yi yeni oluşturduğumuz yönetilmeyen örnek grubuna ekleyin.
Cloud Shell'den
gcloud compute instance-groups unmanaged add-instances producer-uig \ --zone=$zone \ --instances=producer-service-vm
Yük Dengeleyici Bileşenleri Oluşturma
Üretici hizmetinin 1. sürümünde, hizmeti 80 numaralı bağlantı noktasında bir Ağ Geçişi Yük Dengeleyicisi kullanarak kullanıma sunacağız.
80 numaralı bağlantı noktası için durum denetimini dağıtın.
Cloud Shell'den
gcloud compute health-checks create http producer-hc \
--region=$region
Arka uç hizmetini dağıtın ve arka ucu arka uç hizmetine ekleyin.
Cloud Shell'den
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
Yük dengeleyici iletim kuralı için kullanılacak statik IP adresini oluşturun.
Cloud Shell'den
gcloud compute addresses create producer-fr-ip\ --region $region \ --subnet producer-fr-subnet \ --addresses 192.168.0.2
Daha önce oluşturduğumuz arka uç hizmetini ve IP adresini kullanarak 80 numaralı bağlantı noktasını kullanıma sunan yük dengeleyici iletim kuralını oluşturun.
Cloud Shell'den
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. Üretici Hizmetini Test Etme [Üretici Projesi]
producer-service-subnet'te bir test sanal makinesi oluşturun, sanal makineye giriş yapın ve Apache hizmetine yapılan bir çağrıyı test edin.
Cloud Shell'den
gcloud compute instances create producer-test-vm \
--zone=$zone \
--subnet=producer-service-subnet \
--no-address
Cloud Shell'den
gcloud compute ssh producer-test-vm \
--zone=$zone \
--command="curl -s 192.168.0.2/index.html"
Beklenen çıktı
I am a Producer Service.
8. Üretici Hizmetini Hizmet Eki Aracılığıyla Kullanıma Sunma [Üretici Projesi]
Hizmet ekini oluşturun. Bu kuralı, psc-nat-subnet kullanarak oluşturduğumuz iletme kuralıyla ilişkilendirin.
Cloud Shell'den
gcloud compute service-attachments create producer-attachment \
--region=$region \
--producer-forwarding-rule=producer-fr \
--connection-preference=ACCEPT_AUTOMATIC \
--nat-subnets=psc-nat-subnet
Servis eki URI'sini (selfLink) not almanız gerekir. Bu URI, PSC uç noktası yapılandırması için sonraki adımlarda gereklidir. Bu kimliği Cloud Shell'de aşağıdaki komutu çalıştırarak edinebilirsiniz.
Cloud Shell'den
gcloud compute service-attachments describe producer-attachment --region=$region
Örnek çıktı
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 ile başlayan URI'yi kopyalayın.
Örnek: projects/$project/regions/$region/serviceAttachments/producer-attachment
9. Tüketici Ağı Oluşturma [Tüketici Projesi]
VPC ağı oluşturma
Cloud Shell'den
gcloud compute networks create consumer-vpc \
--subnet-mode=custom
Alt Ağ Oluştur
PSC uç noktasını ve bir test istemcisi sanal makinesini dağıtacağımız tek bir alt ağ dağıtılır.
Cloud Shell'den
gcloud compute networks subnets create consumer-subnet \
--network=consumer-vpc \
--range=10.0.0.0/28 \
--region=$region
Ağ Güvenlik Duvarı Politikası ve Kuralları Oluşturma
Cloud Shell'den
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
Ayrıca, tüketici VPC'sini SSH için IAP kullanacak şekilde yapılandıracağız.
Cloud Shell'den
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 uç noktasını oluşturun [Tüketici Projesi]
PSC uç noktası için kullanılacak statik IP adresini ayırın.
Cloud Shell'den
gcloud compute addresses create psc-endpoint-ip \
--region=$region \
--subnet=consumer-subnet \
--addresses 10.0.0.2
Daha önce belirttiğimiz ayrılmış statik IP adresini ve hizmet eki URI'sini kullanarak PSC uç noktasını oluşturun.
Cloud Shell'den
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 uç noktası için özel DNS bölgesi yapılandırma [Tüketici Projesi]
Cloud DNS'yi kullanarak PSC uç noktamızla kullanılacak myservice.com DNS adıyla gizli bir DNS bölgesi yapılandıracağız.
Cloud Shell'den
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 için bir A kaydı oluşturun ve bunu PSC uç noktası IP adresine yönlendirin.
Cloud Shell'den
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 uç noktasını test etme [Tüketici Projesi]
İstemci sanal makinesi oluşturma
Cloud Shell'den
gcloud compute instances create consumer-client-vm \
--zone=$zone \
--subnet=consumer-subnet \
--no-address
PSC uç nokta bağlantısını test etme
Cloud Shell'den
gcloud compute ssh consumer-client-vm \
--zone=$zone \
--command="curl -s myservice.com/index.html"
Beklenen çıktı
I am a Producer Service.
Bu kod laboratuvarının bir sonraki bölümünde, tüketici tarafı yapılandırmasında herhangi bir güncelleme gerektirmeden bu sorunsuz güncellemeyi sağlayan PSC Değişkenlik özelliğini göstererek yeni üretici hizmetini oluşturup bu hizmete geçiş yapacağız.
13. Güncellenmiş Üretici Hizmeti Oluşturma [Üretici Projesi]
Üretici hizmetimizi güncellemek için "I am a NEW Producer service" (Ben YENİ bir üretici hizmetiyim) mesajını içeren benzer bir Apache web sunucusunu çalıştıran yeni bir sanal makine dağıtacağız. Bu sanal makineyi yeni bir yönetilmeyen örnek grubuna ekleyip bu yönetilmeyen örnek grubunu yeni yük dengeleyicimizin arka ucu olarak kullanacağız. Ağ Geçişi yük dengeleyicisi kullanmak yerine yük dengeleyicimizi bölgesel bir dahili uygulama yük dengeleyicisi olarak güncelleyeceğiz.
Ağı güncelleme
Uygulama yük dengeleyicisi için yalnızca proxy alt ağı olarak kullanılacak yeni bir alt ağ oluşturun.
Cloud Shell'den
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
Yeni hizmetimizin barındırılacağı yeni bir alt ağ oluşturun.
Cloud Shell'den
gcloud compute networks subnets create producer-service-new-subnet \
--network=producer-vpc \
--range=10.0.1.0/28 \
--region=$region
Yalnızca proxy kullanılan alt ağdan yeni üretici hizmetimize bağlantıya izin verecek yeni bir güvenlik duvarı kuralı oluşturun.
Cloud Shell'den
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
Örnek Oluştur
Cloud Shell'den
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'
Yönetilmeyen Örnek Grubu Oluşturma
Cloud Shell'den
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
Yeni Yük Dengeleyici Bileşenleri Oluşturma
Arka uç hizmetini oluşturun. Dahili uygulama yük dengeleyicisine güncelleme yaptığımız için INTERNAL_MANAGED yük dengeleme şemasını kullandığımızı unutmayın.
Cloud Shell'den
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
Yönetilmeyen örnek grubunu arka uç hizmetine arka uç olarak ekleyin.
Cloud Shell'den
gcloud compute backend-services add-backend producer-new-bes \ --region=$region \ --instance-group=producer-new-uig \ --instance-group-zone=$zone
URL eşlemesini ve hedef HTTP proxy'lerini oluşturun.
Cloud Shell'den
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
İletim kuralımız için kullanacağımız statik IP adresini oluşturun. Bu, orijinal yönlendirme kuralı için kullandığımız alt ağdan gelir.
Cloud Shell'den
gcloud compute addresses create producer-fr-new-ip\ --region $region \ --subnet producer-fr-subnet \ --addresses 192.168.0.3
İletim kuralını oluşturun.
Cloud Shell'den
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. Güncellenmiş Üretici Hizmetini Test Etme [Üretici Projesi]
İlk dağıtılan hizmeti test etmek için oluşturduğumuz test sanal makinesini kullanacağız.
Cloud Shell'den
gcloud compute ssh producer-test-vm \
--zone=$zone \
--command="curl -s 192.168.0.3/index.html"
Güncellenmiş bir IP adresini aradığımızı unutmayın. 192.168.0.3, bölgesel dahili uygulama yük dengeleyicimizin IP adresidir.
Beklenen çıktı
I am a NEW Producer Service.
15. Hizmet ekini güncelleme [Üretici Projesi]
Hizmet eki yönlendirme kuralındaki güncellemeyi daha iyi görselleştirmek için değişiklikten önce ve sonra hizmet ekinde bir açıklama çalıştırabiliriz.
Cloud Shell'den
gcloud compute service-attachments describe producer-attachment \
--region=$region \
--format="value(targetService)"
Beklenen çıktı
https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-fr
Hizmet ekini güncelleyin.
Cloud Shell'den
gcloud compute service-attachments update producer-attachment \ --region=$region \ --target-service=projects/$project/regions/$region/forwardingRules/new-producer-fr
Yeni yönlendirme kuralını görmek için şimdi tekrar açıklama komutunu çalıştırın.
Cloud Shell'den
gcloud compute service-attachments describe producer-attachment \
--region=$region \
--format="value(targetService)"
Beklenen çıktı
https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/new-producer-fr
16. Tüketici PSC bağlantısını yeniden test etme [Tüketici Projesi]
Aynı tüketici istemcisine giriş yapın.
Cloud Shell'den
gcloud compute ssh consumer-client-vm \
--zone=$zone \
--command="curl -s myservice.com/index.html"
Beklenen çıktı
I am a NEW Producer Service.
Tebrikler! Bir PSC üretici hizmeti yük dengeleyicisini başarıyla güncellediniz ve tüketici tarafında herhangi bir yapılandırma değişikliği yapmanız gerekmedi.
17. Temizleme adımları [Tüketici Projesi]
Tek bir Cloud Shell terminalinden laboratuvar bileşenlerini silme
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. Temizleme adımları [Producer Project]
Tek bir Cloud Shell terminalinden laboratuvar bileşenlerini silme
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. Tebrikler!
Codelab'i tamamladığınız için tebrik ederiz.
İşlediğimiz konular
- PSC üretici hizmeti olarak kullanıma sunulan basit bir Apache web hizmeti oluşturun.
- PSC uç noktası oluşturun.
- Tüketici hizmeti çağrıları için Cloud DNS özel bölgesi oluşturun.
- PSC Değişkenliği'ni kullanarak hizmet ekiyle ilişkili yönlendirme kuralını güncelleyin.