1. Giriş
Gelişmiş Trafik Yönetimi (Envoy) ile Harici HTTPs LB Codelab'ine hoş geldiniz.
Gelişmiş Trafik Yönetimi özellikli HTTP(S) Harici Yük Dengeleyici'nin en yeni sürümü, mevcut klasik global harici HTTP(S) yük dengeleyicimizin tüm özelliklerini içerir ancak Gelişmiş Trafik Yönetimi özelliklerinin sayısı sürekli artmaktadır. Bu özelliklerden bazıları yük dengeleyicilerimizde yeni, bazıları ise mevcut özelliklere gelişmiş işlevler sunar. Bu özelliklerden bazıları:
- Ağırlıklı Trafiği Bölme
- Yansıtma isteğinde bulunma
- Aykırı Değer Algılama
- Yeniden Deneme İsteği
- Hata ekleme
- Ek arka uç oturum benzeşimi seçenekleri
- Ek başlık dönüştürme seçenekleri
- Merkezler Arası Kaynak Paylaşımı (CORS)
- Yeni Yük Dengeleme Algoritmaları
Neler öğreneceksiniz?
- Yönetilen örnek grubu ve ilişkili VPC ile güvenlik duvarı kurallarını ayarlama
- Yeni yük dengeleyicinin gelişmiş trafik yönetimi özelliklerini kullanma
- Gelişmiş trafik yönetimi özelliklerinin beklendiği gibi çalıştığını doğrulama
Gerekenler
- Temel ağ iletişimi ve HTTP bilgisi
- Temel düzeyde Unix/Linux komut satırı bilgisi
Codelab topolojisi ve kullanım alanı
Şekil 1: HTTP yük dengeleyici yönlendirme topolojisi
Bu kod laboratuvarı sırasında, biri Doğu, biri Batı ve biri Merkez'de olmak üzere üç yönetilen örnek grubu oluşturacaksınız. Global harici HTTPS yük dengeleyici oluşturacaksınız. Yük dengeleyici, Envoy tabanlı yük dengeleyicinin desteklediği gelişmiş özellikler listesindeki çeşitli özelliklerden yararlanır. Dağıtım tamamlandıktan sonra, bazı simüle edilmiş yükler oluşturup ayarladığınız yapılandırmaların uygun şekilde çalıştığını doğrulayacaksınız.
2. 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.
Başlamadan önce
Cloud Shell'de proje kimliğinizin ayarlandığından emin olun.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID
API'leri etkinleştirme
Gerekli tüm hizmetleri etkinleştirin
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. VPC ağını oluşturma
VPC ağı oluşturma
Cloud Shell'den
gcloud compute networks create httplbs --subnet-mode=auto
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs]. NAME: httplbs SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
VPC güvenlik duvarı kuralları oluşturma
VPC'yi oluşturduktan sonra güvenlik duvarı kuralları oluşturacaksınız. Güvenlik duvarı kuralı, tüm IP'lerin http trafiği için 80 numaralı bağlantı noktasında test uygulamasının web sitesinin harici IP'sine erişmesine izin vermek için kullanılır.
Cloud Shell'den
gcloud compute firewall-rules create httplb-allow-http-rule \ --allow tcp:80 \ --network httplbs \ --source-ranges 0.0.0.0/0 \ --priority 700
Çıkış
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule]. Creating firewall...done. NAME: httplb-allow-http-rule NETWORK: httplbs DIRECTION: INGRESS PRIORITY: 700 ALLOW: tcp:80 DENY: DISABLED: False
4. Yönetilen örnek gruplarını ayarlama
HTTP yük dengeleyici tarafından kullanılan arka uç kaynaklarının kalıplarını içeren yönetilen örnek grupları oluşturmanız gerekir. İlk olarak, her bölge için oluşturulacak sanal makinelerin yapılandırmasını tanımlayan örnek şablonları oluşturacağız. Ardından, her bölgedeki bir arka uç için bir örnek şablonuna referans veren bir yönetilen örnek grubu oluşturacağız.
Yönetilen örnek grupları, kapsam olarak alt bölgesel veya bölgesel olabilir. Bu laboratuvar alıştırmasında üç bölgesel yönetilen örnek grubu oluşturacağız: biri us-east1, biri us-west1 ve biri de us-central1'de.
Bu bölümde, örnek oluşturulurken referans alınacak önceden oluşturulmuş bir başlangıç komut dosyası görebilirsiniz. Bu başlangıç komut dosyası, web uygulaması simüle etmek için kullanacağımız web sunucusu özelliklerini yükleyip etkinleştirir. Bu komut dosyasını inceleyebilirsiniz.
Doğu, Batı ve Merkez Örnek Şablonlarını Oluşturma
İlk adım, us-east-1 örnek şablonunu oluşturmaktır.
Cloud Shell'den
gcloud compute instance-templates create us-east1-template \ --region=us-east1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template]. NAME: us-east1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00
Bir sonraki adım, us-west-1 örnek şablonunu oluşturmaktır.
Cloud Shell'den
gcloud compute instance-templates create us-west1-template \ --region=us-west1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template]. NAME: us-west1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00
Bir sonraki adım, us-central-1 örnek şablonunu oluşturmaktır.
Cloud Shell'den
gcloud compute instance-templates create us-central1-template \ --region=us-central1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://169.254.169.254/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template]. NAME: us-central1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00
Artık aşağıdaki gcloud komutuyla örnek şablonlarımızın başarıyla oluşturulduğunu doğrulayabilirsiniz:
Cloud Shell'den
gcloud compute instance-templates list
Çıkış
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP us-central1-template n1-standard-1 2021-11-09T09:25:37.263-08:00 us-east1-template n1-standard-1 2021-11-09T09:24:35.275-08:00 us-west1-template n1-standard-1 2021-11-09T09:25:08.016-08:00
Doğu, Batı ve Merkez Yönetilen Örnek Gruplarını oluşturma
Şimdi daha önce oluşturduğumuz örnek şablonlarından bir yönetilen örnek grubu oluşturmamız gerekiyor.
Cloud Shell'den
gcloud compute instance-groups managed create us-east1-mig \ --base-instance-name=us-east1-mig \ --size=1 \ --template=us-east1-template \ --zone=us-east1-b
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig]. NAME: us-east1-mig LOCATION: us-east1-b SCOPE: zone BASE_INSTANCE_NAME: us-east1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-east1-template AUTOSCALED: no
Cloud Shell'den
gcloud compute instance-groups managed create us-west1-mig \ --base-instance-name=us-west1-mig \ --size=1 \ --template=us-west1-template \ --zone=us-west1-a
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig]. NAME: us-west1-mig LOCATION: us-west1-a SCOPE: zone BASE_INSTANCE_NAME: us-west1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-west1-template AUTOSCALED: no
Cloud Shell'den
gcloud compute instance-groups managed create us-central1-mig \ --base-instance-name=us-central1-mig \ --size=1 \ --template=us-central1-template \ --zone=us-central1-a
Çıkış
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig]. NAME: us-central1-mig LOCATION: us-central1-a SCOPE: zone BASE_INSTANCE_NAME: us-central1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-central1-template AUTOSCALED: no
Aşağıdaki gcloud komutuyla örnek grubu oluşturma işleminin başarılı olduğunu doğrulayabiliriz:
Cloud Shell'den
gcloud compute instance-groups list
Çıkış
NAME LOCATION SCOPE NETWORK MANAGED INSTANCES us-central1-mig us-central1 zone httplbs Yes 1 us-west1-mig us-west1 zone httplbs Yes 1 us-east1-mig us-east1 zone httplbs Yes 1
Web Sunucusu İşlevselliğini Doğrulama
Her örnek, aşağıdakileri oluşturmak için basit bir PHP komut dosyasıyla Apache web sunucusu çalıştıracak şekilde yapılandırılır:
Web sunucularınızın doğru şekilde çalıştığından emin olmak için Compute Engine -> VM instances'a (Sanal makine örnekleri) gidin. Yeni örneklerinizin (ör. us-east1-mig-xxx) örnek grubu tanımlarına göre oluşturulduğundan emin olun.
Şimdi, web sunucusunun çalıştığından emin olmak için tarayıcınızda web sunucusuna bir web isteği gönderin (bu işlemin başlaması bir dakika sürebilir). Compute Engine'in altındaki sanal makine örnekleri sayfasında, örnek grubunuz tarafından oluşturulan bir örneği seçin ve harici (herkese açık) IP'sini tıklayın.
Alternatif olarak, tarayıcınızda http://<IP_Address> adresine gidin.
5. Yük dengeleyiciyi ayarlama
Durum denetimi oluşturma
Öncelikle hizmetlerimizin sorunsuz bir şekilde çalıştığından emin olmak için temel bir durum denetimi oluşturmamız gerekir. Temel bir durum denetimi oluşturacağız. Daha birçok gelişmiş özelleştirme seçeneği mevcuttur.
Cloud Shell'den
gcloud compute health-checks create http http-basic-check \ --port 80
Harici IP adresini ayırma
Bu adım için, daha sonra yük dengeleyiciye eklenecek olan genel olarak kullanılabilir bir statik IP adresi ayırmanız gerekir.
Cloud Shell'den
gcloud compute addresses create lb-ipv4-2 \ --ip-version=IPV4 \ --global
Ayrılmış IP adresini not etmeyi unutmayın.
gcloud compute addresses describe lb-ipv4-2 \ --format="get(address)" \ --global
Arka uç hizmetleri oluşturma
Şimdi daha önce oluşturduğumuz yönetilen örnek grupların her biri için bir arka uç hizmeti oluşturmamız gerekiyor. Doğu, Batı ve Merkez için birer tane.
Doğu yönetilen örnek grubu için arka uç hizmeti oluşturma.
Cloud Shell'den
gcloud compute backend-services create east-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Batı yönetilen örnek grubu için arka uç hizmeti oluşturma.
Cloud Shell'den
gcloud compute backend-services create west-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Merkezi yönetilen örnek grubu için arka uç hizmeti oluşturma.
Cloud Shell'den
gcloud compute backend-services create central-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Arka uç hizmetlerine MIG ekleme
Her uygulama kümesi için ilgili arka uç hizmetlerini oluşturduğumuza göre, daha önce oluşturduğumuz yönetilen örnek gruplarını her arka uç hizmetine eklememiz gerekir.
Doğu MIG'sini arka uç hizmetine ekleyin.
Cloud Shell'den
gcloud compute backend-services add-backend east-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-east1-mig \ --instance-group-zone=us-east1-b \ --global
Batı MIG'yi arka uç hizmetine ekleyin.
Cloud Shell'den
gcloud compute backend-services add-backend west-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-west1-mig \ --instance-group-zone=us-west1-a \ --global
Merkezi MIG'yi arka uç hizmetine ekleyin.
Cloud Shell'den
gcloud compute backend-services add-backend central-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-central1-mig \ --instance-group-zone=us-central1-a \ --global
URL haritası oluşturma
URL haritası, bu laboratuvarın gelişmiş trafik yönetimi özelliklerinin bulunduğu yerdir. Yapılandırmayı içerecek bir .yaml dosyası oluşturmamız gerekir. Oluşturduğumuz .yaml dosyasında /roundrobbin üzerinde bir önek eşleşmesi oluşturduk. Bu nedenle, bu yapılandırmalardan yalnızca /roundrobbin ile eşleşen trafik etkilenir. Trafiğin% 50'sinin east-backend-service'e, %50'sinin ise west-backend-service'e gitmesi gerektiğini belirttik. Ayrıca, tüm yanıtlarda yer alacak bir yanıt başlığı değeri ekledik:{test}. Son olarak, tüm trafiğin merkezi arka uç hizmetine yansıtılması gerektiğini ekledik. Trafik, yalnızca test amacıyla kopyalanır ve buraya gönderilir.
Örneği makinenize .yaml dosyası olarak kaydedin.
defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service kind: compute #urlMap name: web-map-http hostRules: - hosts: - '*' pathMatcher: matcher1 pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service name: matcher1 routeRules: - matchRules: - prefixMatch: /roundrobbin priority: 2 headerAction: responseHeadersToAdd: - headerName: test headerValue: value replace: True routeAction: weightedBackendServices: - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service weight: 50 - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service weight: 50 retryPolicy: retryConditions: ['502', '504'] numRetries: 3 perTryTimeout: seconds: 1 nanos: 50 requestMirrorPolicy: backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service
Makinenizdeki dokümanı içe aktararak URL eşlemesini oluşturun. .yaml dosyasını nereye kaydettiğinize bağlı olarak kaynak yolunun farklı olacağını unutmayın.
Cloud Shell'den
gcloud compute url-maps import web-map-http \ --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \ --global
HTTP ön ucu oluşturma
Yük dengeleyici oluşturmanın son adımı, ön ucu oluşturmaktır. Bu işlem, daha önce ayırdığınız IP adresini oluşturduğunuz yük dengeleyici URL eşlemesiyle eşler.
Cloud Shell'den
gcloud compute target-http-proxies create http-lb-proxy-adv \ --url-map=web-map-http
Ardından, daha önce ayrılan IP adresini HTTP proxy'siyle eşleyecek bir genel iletim kuralı oluşturmanız gerekir.
Cloud Shell'den
gcloud compute forwarding-rules create http-content-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --address=lb-ipv4-2 \ --global \ --target-http-proxy=http-lb-proxy-adv \ --ports=80
6. Gelişmiş trafik özelliklerinin çalıştığını doğrulama
Uygulanan trafik bölme özelliğinin çalıştığını doğrulamak için biraz yük oluşturmanız gerekir. Bunu yapmak için yükü simüle edecek yeni bir sanal makine oluşturacağız.
SSH'ye izin verme güvenlik duvarı kuralı oluşturma
Trafik oluşturacağımız sanal makineye SSH uygulamak için öncelikle SSH trafiğinin sanal makineye ulaşmasına izin veren bir güvenlik duvarı kuralı oluşturmanız gerekir.
Cloud Shell'den
gcloud compute firewall-rules create fw-allow-ssh \ --network=httplbs \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Çıkış
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED fw-allow-ssh httplbs INGRESS 1000 tcp:22 False
Siege-vm oluşturma
Şimdi yük oluşturmak için kullanacağınız siege-vm'yi oluşturacaksınız.
Cloud Shell'den
gcloud compute instances create siege-vm \ --network=httplbs \ --zone=us-east4-c \ --machine-type=e2-medium \ --tags=allow-ssh,http-server \ --metadata=startup-script='sudo apt-get -y install siege'
Çıkış
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS siege-vm us-east4-c e2-medium 10.150.0.3 34.85.218.119 RUNNING
Ardından, oluşturduğunuz sanal makineye SSH bağlantısı oluşturabilirsiniz. Oluşturulduktan sonra SSH'yi tıklayarak bir terminal açıp bağlanın.
Bağlandıktan sonra yük oluşturmak için aşağıdaki komutu çalıştırın. Harici HTTP yük dengeleyici için daha önce ayırdığınız IP adresini kullanın.
Cloud Shell'den
siege -c 250 http://[$lb-ipv4-2]/roundrobbin
Çıkış
New configuration template added to /home/cloudcurriculumdeveloper/.siege Run siege -C to view the current settings in that file [alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory ** SIEGE 4.0.2 ** Preparing 250 concurrent users for battle. The server is now under siege...
Yük Dağılımını Kontrol Etme
Siege çalışmaya başladığına göre, trafiğin doğu ve batı yönetilen örnek gruplarına eşit olarak dağıtıldığını kontrol etme zamanı geldi. Ayrıca, trafik yansıtmanın çalıştığını ve trafiğin merkezi yönetilen örnek grubuna gönderildiğini de kontrol edebilirsiniz.
Cloud Console'daki gezinme menüsünde Ağ Hizmetleri > Yük dengeleme'yi tıklayın. web-map-http yük dengeleyicisini seçin. İzleme sekmesine gidin. Aşağıdaki grafiği görebilirsiniz.
Bu MIG'ye yönelik trafik bölme işlemini gerçek zamanlı olarak görebilirsiniz. 50/50 sıralı trafik yükü yapılandırdığınız için trafik eşit olarak bölünür.
Oluşturduğunuz trafik yansıtma politikasının çalıştığını kontrol etmek için central-backend-service adlı yönetilen örnek grubunun kullanımını kontrol etmeniz gerekir. Bunu yapmak için sırasıyla Compute, Compute Engine, Instance Groups'a gidin ve us-central1-mig'i seçin. Ardından izleme sekmesine gidin.
Trafiğin bu yönetilen örnek grubuna yansıtıldığını gösteren grafikler görürsünüz.
Stop the Siege
Gelişmiş trafik bölme özelliğinin çalıştığını gösterdiğinize göre artık kuşatmayı durdurma zamanı. Bunu yapmak için siege-vm SSH terminaline dönün ve çalışan siege'i durdurmak için CTRL+C tuşlarına basın.
Gönderilen Yanıt Üstbilgisini Doğrulama
Temizleme işleminden önce, uygun yanıt başlığının HTTP yük dengeleyici tarafından gönderildiğini hızlıca doğrulayabilirsiniz. Başlık testini içerik değeriyle gönderecek şekilde yapılandırmışsınızdır. Cloud Shell'den curl komutunu çalıştırmak, beklenen yanıtı verir.
Cloud Shell'den
curl -svo /dev/null http://lb-ipv4-2/roundrobbin
Çıkış
* Trying lb-ipv4-2.. * TCP_NODELAY set * Connected to lb-ipv4-2 ( lb-ipv4-2) port 80 (#0) > GET /roundrobbin HTTP/1.1 > Host: lb-ipv4-2 > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 404 Not Found < date: Wed, 10 Nov 2021 17:05:27 GMT < server: envoy < Content-Length: 273 < content-type: text/html; charset=iso-8859-1 < via: 1.1 google < test: value < { [273 bytes data] * Connection #0 to host 34.149.2.26 left intact * Closing connection 0
7. Laboratuvar temizliği
Laboratuvar ortamıyla işimiz bittiğine göre artık bu ortamı kapatabiliriz. Test ortamını silmek için lütfen aşağıdaki komutları çalıştırın.
Cloud Shell'den
gcloud compute instances delete siege-vm --zone=us-east4-c gcloud compute forwarding-rules delete http-content-rule --global gcloud compute target-http-proxies delete http-lb-proxy-adv gcloud compute url-maps delete web-map-http gcloud compute backend-services delete east-backend-service --global gcloud compute backend-services delete west-backend-service --global gcloud compute backend-services delete central-backend-service --global gcloud compute addresses delete lb-ipv4-2 --global gcloud compute health-checks delete http-basic-check gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a gcloud compute instance-templates delete "us-east1-template" gcloud compute instance-templates delete "us-west1-template" gcloud compute instance-templates delete "us-central1-template" gcloud compute firewall-rules delete httplb-allow-http-rule gcloud compute firewall-rules delete fw-allow-ssh gcloud compute networks delete httplbs
8. Tebrikler!
Gelişmiş Trafik Yönetimi (Envoy) ile Harici HTTPS LB Codelab'ini tamamladınız.
İşlediğimiz konular
- Yönetilen örnek grubu ve ilişkili VPC ile güvenlik duvarı kurallarını ayarlama
- Yeni yük dengeleyicinin gelişmiş trafik yönetimi özelliklerini kullanma
- Gelişmiş trafik yönetimi özelliklerinin beklendiği gibi çalıştığını doğrulama
Sonraki adımlar
- URL yeniden yazma, CORS başlıkları ekleme gibi diğer gelişmiş yönlendirme özelliklerini deneyin ( bağlantı).