Checkpoints
Create multiple web server instances
/ 30
Configure the load balancing service
/ 20
Create an HTTP load balancer
/ 50
Ağ ve HTTP Yük Dengeleyicileri Oluşturma
- GSP007
- Genel bakış
- Neler öğreneceksiniz?
- Kurulum ve gereksinimler
- 1. görev: Tüm kaynaklar için varsayılan bölge ve alt bölgeyi ayarlama
- 2. görev: Birden fazla web sunucusu örneği oluşturma
- 3. görev: Yük dengeleme hizmetini yapılandırma
- 4. görev: Örneklerinize trafik gönderme
- 5. görev: HTTP yük dengeleyici oluşturma
- 6. görev: Örneklerinize gönderilen trafiği test etme
- Tebrikler!
GSP007
Genel bakış
Bu uygulamalı laboratuvarda ağ yük dengeleyici ile HTTP yük dengeleyici arasındaki farkları ve söz konusu yük dengeleyicileri Compute Engine sanal makinelerinde çalışan uygulamalarınız için nasıl oluşturacağınızı öğreneceksiniz.
Google Cloud'da yük dengelemenin birkaç yöntemi vardır. Bu laboratuvar aşağıdaki yük dengeleyicileri oluşturma konusunda size yol gösterir:
Temel kavramları öğrenmenize yardımcı olacağından komutları kendi başınıza yazmanız önerilir. Birçok laboratuvarda gerekli komutları içeren bir kod bloğu bulunur. Kod bloğundaki komutları laboratuvar çalışmaları sırasında kolayca kopyalayıp uygun yerlere yapıştırabilirsiniz.
Neler öğreneceksiniz?
- Ağ yük dengeleyici oluşturma
- HTTP yük dengeleyici oluşturma
- Ağ yük dengeleyicileri ile HTTP yük dengeleyicileri arasındaki farkları öğrenip uygulamalı olarak deneyim kazanma
Kurulum ve gereksinimler
Laboratuvarı Başlat düğmesini tıklamadan önce
Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Laboratuvarı Başlat'ı tıkladığınızda başlayan zamanlayıcı, Google Cloud kaynaklarının ne süreyle kullanımınıza açık durumda kalacağını gösterir.
Bu uygulamalı laboratuvarı kullanarak, laboratuvar etkinliklerini gerçek bir bulut ortamında (Simülasyon veya demo ortamında değil.) gerçekleştirebilirsiniz. Bu olanağın sunulabilmesi için size yeni, geçici kimlik bilgileri verilir. Bu kimlik bilgilerini laboratuvar süresince Google Cloud'da oturum açmak ve Google Cloud'a erişmek için kullanırsınız.
Bu laboratuvarı tamamlamak için şunlar gerekir:
- Standart bir internet tarayıcısına erişim (Chrome Tarayıcı önerilir).
- Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Laboratuvarınızı başlatma ve Google Cloud Console'da oturum açma
-
Laboratuvarı Başlat düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir pop-up açılır. Soldaki Laboratuvar Ayrıntıları panelinde şunlar yer alır:
- Google Cloud Console'u aç düğmesi
- Kalan süre
- Bu laboratuvarda kullanmanız gereken geçici kimlik bilgileri
- Bu laboratuvarda ilerlemek için gerekebilecek diğer bilgiler
-
Google Cloud Console'u aç'ı tıklayın (veya Chrome Tarayıcı'yı kullanıyorsanız sağ tıklayıp Bağlantıyı gizli pencerede aç'ı seçin).
Laboratuvar, kaynakları çalıştırır ve sonra Oturum açın sayfasını gösteren başka bir sekme açar.
İpucu: Sekmeleri ayrı pencerelerde, yan yana açın.
Not: Hesap seçin iletişim kutusunu görürseniz Başka bir hesap kullan'ı tıklayın. -
Gerekirse aşağıdaki kullanıcı adını kopyalayıp Oturum açın iletişim kutusuna yapıştırın.
{{{user_0.username | "Username"}}} Kullanıcı adını Laboratuvar ayrıntıları panelinde de bulabilirsiniz.
-
İleri'yi tıklayın.
-
Aşağıdaki şifreyi kopyalayıp Hoş geldiniz iletişim kutusuna yapıştırın.
{{{user_0.password | "Password"}}} Şifreyi Laboratuvar ayrıntıları panelinde de bulabilirsiniz.
-
İleri'yi tıklayın.
Önemli: Laboratuvarın sizinle paylaştığı giriş bilgilerini kullanmanız gerekir. Google Cloud hesabınızın kimlik bilgilerini kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir. -
Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:
- Şartları ve koşulları kabul edin.
- Geçici bir hesap kullandığınızdan kurtarma seçenekleri veya iki faktörlü kimlik doğrulama eklemeyin.
- Ücretsiz denemelere kaydolmayın.
Birkaç saniye sonra Google Cloud Console bu sekmede açılır.
Cloud Shell'i etkinleştirme
Cloud Shell, çok sayıda geliştirme aracı içeren bir sanal makinedir. 5 GB boyutunda kalıcı bir ana dizin sunar ve Google Cloud üzerinde çalışır. Cloud Shell, Google Cloud kaynaklarınıza komut satırı erişimi sağlar.
- Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir simgesini tıklayın.
Bağlandığınızda, kimliğiniz doğrulanmış olur. Proje ise PROJECT_ID'nize göre ayarlanmıştır. Çıkış, bu oturum için PROJECT_ID'yi tanımlayan bir satır içerir:
gcloud
, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekmeyle tamamlamayı destekler.
- (İsteğe bağlı) Etkin hesap adını şu komutla listeleyebilirsiniz:
-
Yetkilendir'i tıklayın.
-
Çıkışınız aşağıdaki gibi görünecektir:
Çıkış:
- (İsteğe bağlı) Proje kimliğini şu komutla listeleyebilirsiniz:
Çıkış:
Örnek çıkış:
gcloud
ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'ya genel bakış rehberinde bulabilirsiniz.
1. görev: Tüm kaynaklar için varsayılan bölge ve alt bölgeyi ayarlama
-
Varsayılan bölgeyi ayarlayın:
gcloud config set compute/region {{{project_0.default_region | Region}}} -
Cloud Shell'de varsayılan alt bölgeyi ayarlayın:
gcloud config set compute/zone {{{project_0.default_zone | Zone}}} Bölge ve alt bölge seçme hakkında daha fazla bilgiye Compute Engine belgeleri arasında bulunan Bölgeler ve Alt Bölgeler Kılavuzu'ndan ulaşabilirsiniz.
2. görev: Birden fazla web sunucusu örneği oluşturma
Bu yük dengeleme senaryosu için üç Compute Engine sanal makine örneği oluşturup bu örneklere Apache'yi yükleyin. Ardından, HTTP trafiğinin örneklere ulaşmasına izin veren bir güvenlik duvarı kuralı ekleyin.
Burada sunulan kod, alt bölgeyi
-
Aşağıdaki kodu kullanarak varsayılan alt bölgenizde bir sanal makine (www1) oluşturun:
gcloud compute instances create www1 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo " Web Server: www1
" | tee /var/www/html/index.html' -
Aşağıdaki kodu kullanarak varsayılan alt bölgenizde bir sanal makine (www2) oluşturun:
gcloud compute instances create www2 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo " Web Server: www2
" | tee /var/www/html/index.html' -
Varsayılan alt bölgenizde bir sanal makine (www3) oluşturun.
gcloud compute instances create www3 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family=debian-11 \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo " Web Server: www3
" | tee /var/www/html/index.html' -
Harici trafiğin sanal makine örneklerine ulaşmasına izin vermek için bir güvenlik duvarı kuralı oluşturun:
gcloud compute firewall-rules create www-firewall-network-lb \ --target-tags network-lb-tag --allow tcp:80
Şimdi örneklerinizin harici IP adreslerini almanız ve bu örneklerin çalıştıklarını doğrulamanız gerekiyor.
-
Örneklerinizi listelemek için aşağıdaki komutu çalıştırın. Örneklerin IP adreslerini
EXTERNAL_IP
sütununda görebilirsiniz:gcloud compute instances list -
curl
komutunu kullanarak örneklerin çalıştığını birer birer doğrulayın. [IP_ADDRESS] yerine her bir sanal makinenizin IP adresini yazın:curl http://[IP_ADDRESS] Bir grup web sunucusu oluşturduğunuzu doğrulamak için alt kısımdaki İlerlememi kontrol et'i tıklayın.
Birden fazla web sunucusu örneği oluşturma
3. görev: Yük dengeleme hizmetini yapılandırma
Yük dengeleme hizmetini yapılandırdığınızda sanal makine örnekleriniz, yapılandırdığınız statik harici IP adresine gelen paketleri alır. Compute Engine görüntüsüyle oluşturulan örnekler bu IP adresini işleyecek şekilde otomatik olarak yapılandırılır.
-
Yük dengeleyiciniz için statik bir harici IP adresi oluşturun:
gcloud compute addresses create network-lb-ip-1 \ --region {{{project_0.default_region | Region}}} Çıkış:
Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-xxxxxxxxxxx/regions/{{{project_0.startup_script.project_region}}}/addresses/network-lb-ip-1]. -
Eski bir HTTP durum denetimi kaynağı ekleyin:
gcloud compute http-health-checks create basic-check -
Örneklerinizle aynı bölgede bulunan bir hedef havuz ekleyin. Hedef havuzu oluşturmak ve hizmetin çalışması için gerekli olan durum denetimini kullanmak amacıyla aşağıdaki komutu çalıştırın:
gcloud compute target-pools create www-pool \ --region {{{project_0.default_region | Region}}} --http-health-check basic-check -
Örnekleri havuza ekleyin:
gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3 -
İletim kuralı ekleyin:
gcloud compute forwarding-rules create www-rule \ --region {{{project_0.default_region | Region}}} \ --ports 80 \ --address network-lb-ip-1 \ --target-pool www-pool Web sunucularını hedefleyen bir L4 ağ yük dengeleyici oluşturduğunuzu doğrulamak için alt kısımdaki İlerleme durumumu kontrol et'i tıklayın.
Yük dengeleme hizmetini yapılandırma
4. görev: Örneklerinize trafik gönderme
Yük dengeleme hizmetini yapılandırdığınıza göre, iletim kuralına trafik göndermeye başlayabilir ve trafiğin farklı örneklere nasıl dağıtıldığını izleyebilirsiniz.
-
Yük dengeleyici tarafından kullanılan www-rule iletim kuralının harici IP adresini görmek için aşağıdaki komutu girin:
gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} -
Harici IP adresine erişme
IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress) -
Harici IP adresini gösterme
echo $IPADDRESS -
Harici IP adresine erişmek için
curl
komutunu kullanın.IP_ADDRESS
yerine, önceki komuttan elde ettiğiniz harici IP adreslerinden birini kullanın:while true; do curl -m1 $IPADDRESS; done curl
komutu çalıştırıldığında alınan yanıt, üç örnek arasında rastgele olarak değişir. İlk seferde yanıt alamazsanız yapılandırmanın tamamen yüklenmesi ve örneklerinizin iyi durumda olarak işaretlenmesi için yaklaşık 30 saniye bekleyip tekrar deneyin. -
Komutun çalıştırılmasını durdurmak için Ctrl + C tuşlarına basın.
5. görev: HTTP yük dengeleyici oluşturma
HTTP(S) Yük Dengeleme, Google Front End (GFE) üzerinde uygulanır. GFE'ler tüm dünyaya dağıtılmıştır ve Google'ın küresel ağı ile kontrol düzlemini kullanarak birlikte çalıştırılır. Bazı URL'leri bir örnek kümesine, diğer URL'leri ise diğer örneklere yönlendiren URL kuralları yapılandırabilirsiniz.
Kullanıcıya en yakın olan örnek grubu yeterli kapasiteye sahipse ve istek için uygunsa istekler her zaman bu gruba yönlendirilir. Kullanıcıya en yakın grup yeterli kapasiteye sahip değilse istek, kapasitesi yeterli olan en yakın gruba gönderilir.
Compute Engine arka ucuyla yük dengeleyici oluşturmak için sanal makinelerinizin bir örnek grubunda olması gerekir. Yönetilen örnek grubu, harici HTTP yük dengeleyicinin arka uç sunucularını çalıştıran sanal makineler sunar. Bu laboratuvarda arka uçlar kendi ana makine adlarını sunmaktadır.
-
İlk olarak yük dengeleyici şablonunu oluşturun:
gcloud compute instance-templates create lb-backend-template \ --region={{{project_0.default_region | Region}}} \ --network=default \ --subnet=default \ --tags=allow-health-check \ --machine-type=e2-medium \ --image-family=debian-11 \ --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' Yönetilen örnek grupları (MIG'ler), uygulamaları birden fazla özdeş sanal makinede çalıştırmanızı sağlar. Otomatik ölçeklendirme, otomatik iyileştirme, bölgesel (birden fazla alt bölgeye) dağıtım ve otomatik güncelleme gibi otomatik MIG hizmetlerinden yararlanarak iş yüklerinizi ölçeklenebilir ve yüksek düzeyde kullanılabilir hale getirebilirsiniz.
-
Şablonu temel alan bir yönetilen örnek grubu oluşturun:
gcloud compute instance-groups managed create lb-backend-group \ --template=lb-backend-template --size=2 --zone={{{project_0.default_zone | Zone}}} -
fw-allow-health-check
güvenlik duvarı kuralını oluşturun.gcloud compute firewall-rules create fw-allow-health-check \ --network=default \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=allow-health-check \ --rules=tcp:80 Not: Giriş kuralı, Google Cloud durum denetimi sistemlerinden ( 130.211.0.0/22
ve35.191.0.0/16
) gelen trafiğe izin verir. Bu laboratuvarda, sanal makineleri tanımlamak içinallow-health-check
hedef etiketi kullanılmaktadır. -
Örnekler çalışır durumda olduğuna göre, müşterilerinizin yük dengeleyicinize erişmek için kullanacağı genel statik harici IP adresini oluşturun:
gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --global Ayrılmış IPv4 adresini not alın:
gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global -
Yük dengeleyici için bir durum denetimi oluşturun:
gcloud compute health-checks create http http-basic-check \ --port 80 Not: Google Cloud, arka uç örneklerinin trafiğe doğru yanıt verip vermediğini belirleyen durum denetimi mekanizmaları sağlar. Daha fazla bilgi için lütfen Durum denetimleri oluşturma belgesine bakın. -
Bir arka uç hizmeti oluşturun:
gcloud compute backend-services create web-backend-service \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global -
Örnek grubunuzu arka uç hizmetine arka uç olarak ekleyin:
gcloud compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-group \ --instance-group-zone={{{project_0.default_zone | Zone}}} \ --global -
Gelen istekleri varsayılan arka uç hizmetine yönlendirmek için bir URL eşlemesi oluşturun:
gcloud compute url-maps create web-map-http \ --default-service web-backend-service Not: URL eşlemesi, istekleri arka uç hizmetlerine veya arka uç paketlerine yönlendirmek için kullanılan bir Google Cloud yapılandırma kaynağıdır. Örneğin, harici HTTP(S) yük dengeleyici ile tek bir URL eşlemesi kullandığınızda istekleri URL eşlemesinde yapılandırılmış kurallara göre farklı hedeflere yönlendirebilirsiniz: - https://example.com/video istekleri arka uç hizmetine gider.
- https://example.com/audio istekleri başka bir arka uç hizmetine gider.
- https://example.com/images istekleri bir Cloud Storage arka uç paketine gider.
- Diğer ana makine ve yol kombinasyonlarının istekleri varsayılan arka uç hizmetine gider.
-
İstekleri URL eşlemenize yönlendirmek için bir hedef HTTP proxy'si oluşturun:
gcloud compute target-http-proxies create http-lb-proxy \ --url-map web-map-http -
Gelen istekleri proxy'ye yönlendirmek için bir genel iletim kuralı oluşturun:
gcloud compute forwarding-rules create http-content-rule \ --address=lb-ipv4-1\ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
L7 HTTP(S) yük dengeleyici oluşturduğunuzu doğrulamak için alt kısımdaki İlerlememi kontrol et'i tıklayın.
6. görev: Örneklerinize gönderilen trafiği test etme
-
Google Cloud konsolunun gezinme menüsünde Ağ hizmetleri > Yük dengeleme'ye gidin.
-
Biraz önce oluşturduğunuz yük dengeleyiciyi (
web-map-http
) tıklayın. -
Arka Uç bölümünde arka ucun adını tıklayın ve sanal makinelerin İyi durumda olduğunu doğrulayın. Sanal makineler iyi durumda değilse kısa bir süre bekleyip sayfayı yeniden yükleyin.
-
Sanal makineler iyi durumda olduğunda bir web tarayıcısında
http://IP_ADDRESS/
adresine (IP_ADDRESS
yerine yük dengeleyicinin IP adresini yazın) giderek yük dengeleyiciyi test edin.
Bu işlem üç ila beş dakika sürebilir. Bağlantı kuramazsanız bir dakika bekleyip tarayıcıyı yeniden yükleyin.
Tarayıcınızda, sayfayı sunan örneğin adını ve alt bölgesini gösteren (örneğin, Page served from: lb-backend-group-xxxx
) bir sayfa oluşturulacaktır.
Tebrikler!
Ağ yük dengeleyici ile HTTP(s) yük dengeleyici oluşturdunuz ve örnek şablonları ile yönetilen örnek gruplarını kullanma alıştırması yaptınız.
Görevinizi Tamamlama
Bu yönlendirmesiz öğrenim laboratuvarı, Google Cloud'un Temel Özellikleri görevinin bir parçasıdır.
Görevler, bir öğrenme rotasını oluşturan birbiriyle bağlantılı laboratuvar dizilerini ifade eder.
Bir görevi tamamladığınızda başarınızın ödülü olarak rozet kazanırsınız.
Rozetlerinizi herkese açık hale getirebilir ve rozetin bağlantısını online özgeçmişinizde veya sosyal medya hesabınızda paylaşabilirsiniz.
Bu göreve kaydolun ve tamamlama kredisini anında kazanın.
Mevcut tüm görevleri incelemek için kataloğa göz atın.
Sonraki laboratuvarınıza katılın
Görevinize Kubernetes Merhaba Düğümü laboratuvarıyla devam edin veya aşağıdaki önerilen laboratuvarlara göz atın:
Sonraki adımlar / Daha fazla bilgi
- Ağ yük dengeleyici ve arka uç hizmeti oluşturma
- Basit bir harici HTTPS yük dengeleyici oluşturma
- Harici HTTP(S) Yük Dengelemeye Genel Bakış
Google Cloud eğitimi ve sertifikası
...Google Cloud teknolojilerinden en iyi şekilde yararlanmanıza yardımcı olur. Derslerimizde teknik becerilere odaklanırken en iyi uygulamalara da yer veriyoruz. Gerekli yetkinlik seviyesine hızlıca ulaşmanız ve öğrenim maceranızı sürdürebilmeniz için sizlere yardımcı olmayı amaçlıyoruz. Temel kavramlardan ileri seviyeye kadar farklı eğitim programlarımız mevcut. Ayrıca, yoğun gündeminize uyması için talep üzerine sağlanan, canlı ve sanal eğitim alternatiflerimiz de var. Sertifikasyonlar ise Google Cloud teknolojilerindeki becerilerinizi ve uzmanlığınızı doğrulamanıza ve kanıtlamanıza yardımcı oluyor.
Kılavuzun Son Güncellenme Tarihi: 19 Eylül 2023
Laboratuvarın Son Test Edilme Tarihi: 19 Eylül 2023
Telif Hakkı 2024 Google LLC Tüm hakları saklıdır. Google ve Google logosu, Google LLC şirketinin ticari markalarıdır. Diğer tüm şirket ve ürün adları ilişkili oldukları şirketlerin ticari markaları olabilir.