Create multiple web server instances

Check my progress

/ 40

Configure the load balancing service

Check my progress

/ 30

Create the target pool and forwarding rule

Check my progress

/ 30

This lab may incorporate AI tools to support your learning.

GSP007

Google Cloud Yönlendirmesiz Öğrenim Laboratuvarı

Genel Bakış

Bu uygulamalı laboratuvarda, Compute Engine sanal makinelerinde çalışan bir geçişli ağ yük dengeleyicisinin (NLB) nasıl oluşturulacağını öğreneceksiniz. 4. katman (L4) NLB; IP adresleri ve bağlantı noktası numaraları gibi ağ düzeyindeki bilgilere göre trafiği işler ve trafiğin içeriğini incelemez.

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.

Hedefler

Bu laboratuvarda, aşağıdaki görevleri nasıl gerçekleştireceğinizi öğreneceksiniz:

  • Kaynaklarınız için varsayılan bölgeyi ve alt bölgeyi yapılandırma
  • Birden fazla web sunucusu örneği oluşturma
  • Yük dengeleme hizmeti yapılandırma
  • Trafiği dağıtmak için bir iletim kuralı yapılandırma

Kurulum ve şartlar

Laboratuvarı Başlat düğmesini tıklamadan önce

Buradaki talimatları okuyun. Laboratuvarlar süreli olduğundan duraklatılamaz. Start Lab'i (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 simülasyon veya demo ortamı yerine gerçek bir bulut ortamında gerçekleştirebilirsiniz. Bunu yapabilmeniz 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 kullanabilirsiniz.

Bu laboratuvarı tamamlamak için gerekenler:

  • 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 modda (önerilen) veya gizli tarama penceresinde 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: Bu laboratuvar için yalnızca öğrenci hesabını kullanın. Farklı bir Google Cloud hesabı kullanırsanız bu hesaptan ödeme alınabilir.

Laboratuvarınızı başlatma ve Google Cloud konsolunda oturum açma

  1. Start Lab (Laboratuvarı Başlat) düğmesini tıklayın. Laboratuvar için ödeme yapmanız gerekiyorsa ödeme yöntemini seçebileceğiniz bir iletişim kutusu açılır. Sağdaki Lab setup and access (Laboratuvar kurulumu ve erişimi) panelinde şunlar yer alır:

    • Open Google Cloud console (Google Cloud konsolunu aç) düğmesi
    • Bu laboratuvarda kullanmanız gereken geçici kimlik bilgileri (kullanıcı adı ve şifre)
    • Bu laboratuvarda ilerlemek için gerekebilecek diğer bilgiler

    Laboratuvar zamanlayıcısının sayfanın üst kısmına yakın bir yerde bulunduğunu ve kalan süreyi gösterdiğini unutmayın.

  2. Open Google Cloud console'u (Google Cloud konsolunu 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: Bir hesap seçin iletişim kutusunu görürseniz Başka bir hesap kullan'ı tıklayın.
  3. 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ı Lab setup and access (Laboratuvar kurulumu ve erişimi) panelinde de bulabilirsiniz.

  4. Next'i (Sonraki) tıklayın.

  5. Aşağıdaki şifreyi kopyalayıp Welcome (Hoş geldiniz) iletişim kutusuna yapıştırın.

    {{{user_0.password | "Password"}}}

    Şifreyi Lab setup and access (Laboratuvar kurulumu ve erişimi) panelinde de bulabilirsiniz.

  6. Next'i (Sonraki) 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.
  7. Sonraki sayfalarda ilgili düğmeleri tıklayarak ilerleyin:

    • Hüküm 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 konsolu bu sekmede açılır.

Not: Google Cloud ürün ve hizmetlerine erişmek için gezinme menüsünü tıklayın veya Search (Arama) alanına hizmetin veya ürünün adını yazın. Gezinme menüsü simgesi ve arama alanı

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 konsolunun üst kısmından Activate Cloud Shell (Cloud Shell'i etkinleştir) Cloud Shell'i etkinleştir simgesi simgesini tıklayın.

  2. Aşağıdaki pencereleri tıklayın:

    • Cloud Shell bilgi penceresinde devam edin.
    • Google Cloud API çağrıları yapmak için Cloud Shell'e kimlik bilgilerinizi kullanma yetkisi verin.

Bağlandığınızda kimliğiniz zaten doğrulanmıştır. 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 {{{project_0.project_id | "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. Authorize'ı (Yetkilendir) tıklayın.

Çıkış:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} 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_0.project_id | "PROJECT_ID"}}} Not: gcloud ile ilgili tüm belgeleri, Google Cloud'daki gcloud CLI'a 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. gcloud config set compute/region {{{project_0.default_region | Region}}}

    gcloud config set compute/zone {{{project_0.default_zone | Zone}}}

    Cloud Shell'de varsayılan alt bölgeyi ayarlayın:

  3. Bölge ve alt bölge seçme hakkında daha fazla bilgiye Compute Engine'in Bölgeler ve alt bölgeler belgesinden ulaşabilirsiniz.

    https://cloud.google.com/compute/docs/zones

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ükleyeceksiniz. Ardından, HTTP trafiğinin örneklere ulaşmasına izin veren bir güvenlik duvarı kuralı ekleyeceksiniz.
  • Burada sunulan kod, alt bölgeyi olarak ayarlar. tags alanını ayarlamak, bu örneklerin tümüne aynı anda başvurmanıza (ör. bir güvenlik duvarı kuralıyla) olanak tanır. Bu komutlar ayrıca tüm örneklere Apache'yi yükler ve her örnek için benzersiz bir ana sayfa sağlar.

    gcloud compute instances create www1 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family={{{project_0.startup_script.debian_image_id_short | Debian image ID}}} \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    " | tee /var/www/html/index.html'
  • 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={{{project_0.startup_script.debian_image_id_short | Debian image ID}}} \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    gcloud compute instances create www2 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family={{{project_0.startup_script.debian_image_id_short | Debian image ID}}} \ --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'
  • " | tee /var/www/html/index.html'

    gcloud compute instances create www3 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family={{{project_0.startup_script.debian_image_id_short | Debian image ID}}} \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    Aşağıdaki kodu kullanarak varsayılan alt bölgenizde bir sanal makine (www2) oluşturun:

    " | tee /var/www/html/index.html'
  • gcloud compute instances create www2 \ --zone={{{project_0.default_zone | Zone}}} \ --tags=network-lb-tag \ --machine-type=e2-small \ --image-family={{{project_0.startup_script.debian_image_id_short | Debian image ID}}} \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    Web Server: www2

    gcloud compute firewall-rules create www-firewall-network-lb \ --target-tags network-lb-tag --allow tcp:80
  • " | 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={{{project_0.startup_script.debian_image_id_short | Debian image ID}}} \ --image-project=debian-cloud \ --metadata=startup-script='#!/bin/bash apt-get update apt-get install apache2 -y service apache2 restart echo "

    Web Server: www3

    gcloud compute instances list
  • " | tee /var/www/html/index.html'

    curl http://[IP_ADDRESS]

    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

    gcloud compute addresses create network-lb-ip-1 \ --region {{{project_0.default_region | Region}}}

    Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-xxxxxxxxxxx/regions/{{{project_0.startup_script.project_region}}}/addresses/network-lb-ip-1].
  • curl komutunu kullanarak örneklerin çalıştığını birer birer doğrulayın. [IP_ADDRESS] yerine her sanal makinenizin harici IP adresini yazın:

    curl http://[IP_ADDRESS]

    gcloud compute http-health-checks create basic-check

    Bir grup web sunucusu oluşturduğunuzu doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) 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 ayarlama hakkında daha fazla bilgiye Arka uç hizmeti tabanlı harici geçiş ağ yük dengeleyicisine genel bakış rehberinden ulaşabilirsiniz.
    1. https://cloud.google.com/compute/docs/load-balancing/network/

      gcloud compute target-pools create www-pool \ --region {{{project_0.default_region | Region}}} --http-health-check basic-check
    2. 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}}}

      gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3
    3. Çı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:
    4. gcloud compute http-health-checks create basic-check

      Web sunucularını hedefleyen bir L4 ağ yük dengeleyicisi oluşturduğunuzu doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Yük dengeleme hizmetini yapılandırma

      gcloud compute forwarding-rules create www-rule \ --region {{{project_0.default_region | Region}}} \ --ports 80 \ --address network-lb-ip-1 \ --target-pool www-pool

    5. 4. görev: Hedef havuzu ve iletim kuralını oluşturma

      Hedef havuz, harici geçişli NLB'lerden gelen trafiği alan bir arka uç örnekleri grubudur. Bir hedef havuzun tüm arka uç örnekleri aynı Google Cloud bölgesinde bulunmalıdır.

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

      gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}}
    7. Daha önce oluşturduğunuz örnekleri havuza ekleyin:

      IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress)
    8. gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3

    echo $IPADDRESS
  • Ardından iletim kuralını oluşturursunuz. İletim kuralı, ağ trafiğinin yük dengeleyicinin arka uç hizmetlerine nasıl yönlendirileceğini belirtir.

    https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts

    while true; do curl -m1 $IPADDRESS; done

  • İ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

    Hedef havuzu ve iletimi kuralını oluşturduğunuzu doğrulamak için Check my progress'i (İlerleme durumumu kontrol et) tıklayın. Hedef havuzu ve iletim kuralını oluşturma

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

    • 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)

    Before you begin

    1. Labs create a Google Cloud project and resources for a fixed time
    2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
    3. On the top left of your screen, click Start lab to begin

    Use private browsing

    1. Copy the provided Username and Password for the lab
    2. Click Open console in private mode

    Sign in to the Console

    1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
    2. Accept the terms, and skip the recovery resource page
    3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

    This content is not currently available

    We will notify you via email when it becomes available

    Great!

    We will contact you via email if it becomes available

    One lab at a time

    Confirm to end all existing labs and start this one

    Use private browsing to run the lab

    Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.