arrow_back

Ağ ve HTTP Yük Dengeleyicileri Oluşturma

Join Sign in
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Ağ ve HTTP Yük Dengeleyicileri Oluşturma

Lab 1 hour universal_currency_alt 1 Credit show_chart Introductory
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP007

Google Cloud Rehbersiz Laboratuvarları

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).
Not: Bu laboratuvarı çalıştırmak için tarayıcıyı gizli pencerede açın. Aksi takdirde, kişisel hesabınızla öğrenci hesabınız arasında oluşabilecek çakışmalar nedeniyle kişisel hesabınızdan ek ücret alınabilir.
  • Laboratuvarı tamamlamak için yeterli süre. (Laboratuvarlar, başlatıldıktan sonra duraklatılamaz)
Not: Kişisel bir Google Cloud hesabınız veya projeniz varsa bu laboratuvarda kullanmayın. Aksi takdirde hesabınızdan ek ücret alınabilir.

Laboratuvarınızı başlatma ve Google Cloud Console'da oturum açma

  1. 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 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
  2. Google Console'u Aç'ı tıklayın. Laboratuvar, kaynakları çalıştırır ve sonra Oturum aç 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.
  3. Gerekirse Laboratuvar Ayrıntıları panelinden Kullanıcı adı'nı kopyalayın ve Oturum aç iletişim kutusuna yapıştırın. Sonraki'ni tıklayın.

  4. Laboratuvar Ayrıntıları panelinden Şifre'yi kopyalayın ve Hoş geldiniz iletişim penceresine yapıştırın. Sonraki'ni tıklayın.

    Önemli: Sol paneldeki kimlik bilgilerini kullanmanız gerekir. Google Cloud Öğrenim Merkezi kimlik bilgilerinizi kullanmayın. Not: Bu laboratuvarda kendi Google Cloud hesabınızı kullanabilmek için ek ücret ödemeniz gerekebilir.
  5. 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 Cloud Console bu sekmede açılır.

Not: Soldaki Gezinme menüsü'nü tıklayarak Google Cloud ürün ve hizmetlerinin listelendiği menüyü görüntüleyebilirsiniz. Gezinme menüsü simgesi

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.

  1. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir Cloud Shell'i etkinleştir simgesi 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:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud, Google Cloud'un komut satırı aracıdır. Cloud Shell'e önceden yüklenmiştir ve sekmeyle tamamlamayı destekler.

  1. (İsteğe bağlı) Etkin hesap adını şu komutla listeleyebilirsiniz:
gcloud auth list
  1. Yetkilendir'i tıklayın.

  2. Çıkışınız aşağıdaki gibi görünecektir:

Çıkış:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (İsteğe bağlı) Proje kimliğini şu komutla listeleyebilirsiniz:
gcloud config list project

Çıkış:

[core] project = <project_ID>

Örnek çıkış:

[core] project = qwiklabs-gcp-44776a13dea667a6 Not: 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

  1. Varsayılan bölgeyi ayarlayın:

    gcloud config set compute/region {{{project_0.default_region | Region}}}
  2. 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 olarak ayarlar. Etiketler alanını ayarlamak, bu örneklerin tümüne aynı anda başvurmanıza (örneğin bir güvenlik duvarı kuralıyla) olanak sağlar. Bu komutlar ayrıca tüm örneklere Apache'yi yükler ve her örnek için benzersiz bir ana sayfa sağlar.

  1. 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'
  2. 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'
  3. 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'
  4. 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.

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

Not: Ağ yük dengeleme hizmetini kurma hakkında daha fazla bilgiye Harici TCP/UDP Ağ Yük Dengeleme Hizmetine Genel Bakış Kılavuzu'ndan ulaşabilirsiniz.
  1. 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].
  2. Eski bir HTTP durum denetimi kaynağı ekleyin:

    gcloud compute http-health-checks create basic-check
  3. Ö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
  4. Örnekleri havuza ekleyin:

    gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3
  5. İ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.

  1. 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}}}
  2. Harici IP adresine erişme

    IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress)
  3. Harici IP adresini gösterme

    echo $IPADDRESS
  4. 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.

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

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

  2. Ş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}}}
  3. 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 ve 35.191.0.0/16) gelen trafiğe izin verir. Bu laboratuvarda, sanal makineleri tanımlamak için allow-health-check hedef etiketi kullanılmaktadır.
  4. Ö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
  5. 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.
  6. 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
  7. Ö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
  8. 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.
  9. İ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
  10. 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
Not: İletim kuralı ve ilgili IP adresi, Google Cloud yük dengeleyicinin ön uç yapılandırmasını temsil eder. İletim kuralları hakkında daha fazla bilgiye İletim Kuralı Genel Bakış Kılavuzu'ndan ulaşabilirsiniz.

L7 HTTP(S) yük dengeleyici oluşturduğunuzu doğrulamak için alt kısımdaki İlerlememi kontrol et'i tıklayın.

HTTP yük dengeleyici oluşturma

6. görev: Örneklerinize gönderilen trafiği test etme

  1. Google Cloud konsolunun gezinme menüsünde Ağ hizmetleri > Yük dengeleme'ye gidin.

  2. Biraz önce oluşturduğunuz yük dengeleyiciyi (web-map-http) tıklayın.

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

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

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.