arrow_back

Konfigurowanie systemów równoważenia obciążenia sieci i HTTP

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

Konfigurowanie systemów równoważenia obciążenia sieci i HTTP

Lab 1 godz. universal_currency_alt 1 punkt show_chart Wprowadzające
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP007

Moduły Google Cloud do samodzielnego ukończenia

Opis

W tym praktycznym module poznasz różnice między systemem równoważenia obciążenia sieci a systemem równoważenia obciążenia HTTP. Nauczysz się także, jak konfigurować te systemy do obsługi aplikacji działających w maszynach wirtualnych Compute Engine.

Istnieje kilka metod równoważenia obciążenia w Google Cloud. W tym module nauczysz się konfigurować te systemy równoważenia obciążenia:

Zachęcamy do wpisywania poleceń samodzielnie, ponieważ pomaga to poznać najważniejsze zagadnienia. Wiele modułów zawiera blok kodu, w którym znajdują się wymagane polecenia. W trakcie realizacji tego modułu możesz po prostu kopiować polecenia z bloku kodu i wklejać je w odpowiednie miejsca.

Czego się nauczysz

  • Skonfigurujesz system równoważenia obciążenia sieci.
  • Skonfigurujesz system równoważenia obciążenia HTTP.
  • Nauczysz się także rozróżniać systemy równoważenia obciążenia sieci i systemy równoważenia obciążenia HTTP.

Konfiguracja i wymagania

Zanim klikniesz przycisk Rozpocznij moduł

Zapoznaj się z tymi instrukcjami. Moduły mają limit czasowy i nie można ich zatrzymać. Gdy klikniesz Rozpocznij moduł, na liczniku wyświetli się informacja o tym, na jak długo udostępniamy Ci zasoby Google Cloud.

W tym praktycznym module możesz spróbować swoich sił w wykonywaniu opisywanych działań w prawdziwym środowisku chmury, a nie w jego symulacji lub wersji demonstracyjnej. Otrzymasz nowe, tymczasowe dane logowania, dzięki którym zalogujesz się i uzyskasz dostęp do Google Cloud na czas trwania modułu.

Do ukończenia modułu potrzebne będą:

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome).
Uwaga: uruchom ten moduł w oknie incognito lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie oddatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module, aby uniknąć naliczania opłat na koncie.

Rozpoczynanie modułu i logowanie się w konsoli Google Cloud

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się wyskakujące okienko, w którym możesz wybrać formę płatności. Po lewej stronie znajduje się panel Szczegóły modułu z następującymi elementami:

    • przyciskiem Otwórz konsolę Google;
    • czasem, który Ci pozostał;
    • tymczasowymi danymi logowania, których musisz użyć w tym module;
    • innymi informacjami potrzebnymi do ukończenia modułu.
  2. Kliknij Otwórz konsolę Google. Moduł uruchomi zasoby, po czym otworzy nową kartę ze stroną logowania.

    Wskazówka: otwórz karty obok siebie w osobnych oknach.

    Uwaga: jeśli pojawi się okno Wybierz konto, kliknij Użyj innego konta.
  3. W razie potrzeby skopiuj nazwę użytkownika z panelu Szczegóły modułu i wklej ją w oknie logowania. Kliknij Dalej.

  4. Skopiuj hasło z panelu Szczegóły modułu i wklej je w oknie powitania. Kliknij Dalej.

    Ważne: musisz użyć danych logowania z panelu po lewej stronie, a nie danych logowania Google Cloud Skills Boost. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  5. Na kolejnych stronach wykonaj następujące czynności:

    • Zaakceptuj Warunki korzystania z usługi.
    • Nie dodawaj opcji odzyskiwania ani uwierzytelniania dwuskładnikowego (ponieważ konto ma charakter tymczasowy).
    • Nie rejestruj się w bezpłatnych wersjach próbnych.

Poczekaj, aż na karcie otworzy się konsola Google Cloud.

Uwaga: aby wyświetlić menu z listą produktów i usług Google Cloud Console, w lewym górnym rogu kliknij menu nawigacyjne. Ikona menu nawigacyjnego

Aktywowanie Cloud Shell

Cloud Shell to maszyna wirtualna oferująca wiele narzędzi dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud. Dzięki wierszowi poleceń Cloud Shell zyskujesz dostęp do swoich zasobów Google Cloud.

  1. Kliknij Aktywuj Cloud Shell Ikona aktywowania Cloud Shell na górze konsoli Google Cloud.

Po połączeniu użytkownik od razu jest uwierzytelniony. Uruchomi się Twój projekt o identyfikatorze PROJECT_ID. Dane wyjściowe zawierają wiersz z zadeklarowanym identyfikatorem PROJECT_ID dla tej sesji:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud to narzędzie wiersza poleceń Google Cloud. Jest ono już zainstalowane w Cloud Shell i obsługuje funkcję autouzupełniania po naciśnięciu tabulatora.

  1. (Opcjonalnie) Aby wyświetlić listę aktywnych kont, użyj tego polecenia:
gcloud auth list
  1. Kliknij Autoryzuj.

  2. Dane wyjściowe powinny wyglądać tak:

Dane wyjściowe:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcjonalnie) Aby wyświetlić identyfikator projektu, użyj tego polecenia:
gcloud config list project

Dane wyjściowe:

[core] project = <project_ID>

Przykładowe dane wyjściowe:

[core] project = qwiklabs-gcp-44776a13dea667a6 Uwaga: pełną dokumentację gcloud w Google Cloud znajdziesz w opisie narzędzia wiersza poleceń gcloud.

Zadanie 1. Skonfiguruj domyślny region i strefę wszystkich zasobów

  1. Ustaw region domyślny:

    gcloud config set compute/region {{{project_0.default_region | Region}}}
  2. W Cloud Shell ustaw strefę domyślną:

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

    Więcej informacji o wybieraniu stref i regionów znajdziesz w przewodniku Compute Engine po regionach i strefach (w języku angielskim).

Zadanie 2. Utwórz wiele instancji serwera WWW

Na potrzeby tego scenariusza równoważenia obciążenia utwórz w Compute Engine 3 maszyny wirtualne i zainstaluj na nich serwer Apache. Następnie dodaj regułę zapory sieciowej, która przepuszcza ruch HTTP do tych instancji.

Podany kod ustawia strefę na . Dzięki tagom możesz odwoływać się do wszystkich instancji jednocześnie, na przykład w regule zapory sieciowej. Te polecenia pozwalają też zainstalować serwer Apache na wszystkich instancjach i utworzyć dla każdej z nich unikalną stronę główną.

  1. Utwórz maszynę wirtualną www1 w strefie domyślnej przy użyciu tego kodu:

    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 "

    Serwer: www1

    " | tee /var/www/html/index.html'
  2. Utwórz maszynę wirtualną www2 w strefie domyślnej przy użyciu tego kodu:

    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 "

    Serwer: www2

    " | tee /var/www/html/index.html'
  3. Utwórz maszynę wirtualną www3 w strefie domyślnej.

    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 "

    Serwer: www3

    " | tee /var/www/html/index.html'
  4. Utwórz regułę zapory sieciowej, która przepuszcza ruch zewnętrzny do instancji maszyn wirtualnych:

    gcloud compute firewall-rules create www-firewall-network-lb \ --target-tags network-lb-tag --allow tcp:80

Teraz musisz uzyskać zewnętrzne adresy IP instancji i sprawdzić, czy działają.

  1. Uruchom następujące polecenie, aby zobaczyć listę instancji. Ich adresy IP znajdziesz w kolumnie EXTERNAL_IP:

    gcloud compute instances list
  2. Sprawdź, czy poszczególne instancje działają – użyj polecenia curl, zastępując fragment [ADRES_IP] adresem IP odpowiedniej maszyny wirtualnej:

    curl http://[ADRES_IP]

    Kliknij poniżej Sprawdź postępy, aby zobaczyć, czy grupa serwerów WWW została utworzona.

    Tworzenie wielu instancji serwera WWW

Zadanie 3. Skonfiguruj usługę równoważenia obciążenia

Gdy skonfigurujesz usługę równoważenia obciążenia, instancje maszyn wirtualnych będą otrzymywać pakiety wysyłane na ustawiony przez Ciebie statyczny zewnętrzny adres IP. Instancje utworzone za pomocą obrazów Compute Engine są automatycznie skonfigurowane do obsługi tego adresu IP.

Uwaga: więcej informacji o tym, jak skonfigurować równoważenie obciążenia sieci, znajdziesz w przewodniku po równoważeniu obciążenia sieci związanego z zewnętrznym ruchem TCP/UDP.
  1. Utwórz statyczny zewnętrzny adres IP dla systemu równoważenia obciążenia:

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

    Dane wyjściowe:

    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. Dodaj starszy zasób kontroli stanu HTTP:

    gcloud compute http-health-checks create basic-check
  3. Dodaj pulę docelową w tym samym regionie co Twoje instancje. Uruchom następujące polecenie, aby utworzyć pulę docelową i użyć kontroli stanu, co jest wymagane do działania usługi:

    gcloud compute target-pools create www-pool \ --region {{{project_0.default_region | Region}}} --http-health-check basic-check
  4. Dodaj instancje do puli:

    gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3
  5. Dodaj regułę przekierowania:

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

    Kliknij poniżej Sprawdź postępy, aby sprawdzić, czy został utworzony system równoważenia obciążenia sieci L4 wskazujący serwery WWW.

    Skonfigurowanie usługi równoważenia obciążenia

Zadanie 4. Wyślij ruch do instancji

Kiedy usługa równoważenia obciążenia jest już skonfigurowana, możesz zacząć wysyłać ruch do reguły przekierowania i obserwować jego przepływ do poszczególnych instancji.

  1. Wprowadź podane poniżej polecenie, aby wyświetlić zewnętrzny adres IP reguły przekierowania www-rule wykorzystywanej przez system równoważenia obciążenia:

    gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}}
  2. Uzyskaj dostęp do zewnętrznego adresu IP

    IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress)
  3. Wyświetl zewnętrzny adres IP

    echo $IPADDRESS
  4. Użyj polecenia curl, aby uzyskać dostęp do zewnętrznego adresu IP, zastępując fragment ADRES_IP zewnętrznym adresem IP z poprzedniego polecenia:

    while true; do curl -m1 $IPADDRESS; done

    Odpowiedź z polecenia curl przełącza się losowo między 3 instancjami. Jeśli odpowiedź wskazuje początkowo na niepowodzenie, poczekaj około 30 sekund na pełne wczytanie konfiguracji i potwierdzenie dobrego stanu instancji, zanim spróbujesz ponownie.

  5. Aby zatrzymać wykonywanie polecenia, naciśnij Ctrl + C.

Zadanie 5. Utwórz system równoważenia obciążenia HTTP

Równoważenie obciążenia HTTP(S) jest zaimplementowane w Google Front End (GFE). Usługi GFE są rozproszone na całym świecie i działają wspólnie przy użyciu platformy sterującej i globalnej sieci Google. Reguły adresów URL można skonfigurować w taki sposób, aby kierowały ruch związany z danymi adresami URL do wyznaczonych instancji.

Żądania są zawsze kierowane do tej grupy instancji, która znajduje się najbliżej użytkownika, pod warunkiem że grupa ta ma wystarczającą moc obliczeniową i obsługuje dany typ żądań. Jeśli dana grupa nie ma wystarczającej mocy obliczeniowej, żądanie jest przesyłane do najbliższej grupy, która taką mocą dysponuje.

Aby można było skonfigurować system równoważenia obciążenia z backendem Compute Engine, maszyny wirtualne muszą być w grupie instancji. Zarządzana grupa instancji zawiera maszyny wirtualne z uruchomionymi serwerami backendu zewnętrznego systemu równoważenia obciążenia HTTP. Na potrzeby tego modułu serwery backendu mają własne nazwy hosta.

  1. Najpierw utwórz szablon systemu równoważenia obciążenia:

    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'

    Zarządzane grupy instancji pozwalają uruchamiać aplikacje w wielu jednakowych maszynach wirtualnych. Zautomatyzowane usługi zarządzanych grup instancji, takie jak autoskalowanie, automatyczna naprawa, wdrożenie regionalne (w wielu strefach) i automatyczne aktualizacje, pomogą zapewnić skalowalność i wysoką dostępność Twoich zadań.

  2. Utwórz zarządzaną grupę instancji na podstawie szablonu:

    gcloud compute instance-groups managed create lb-backend-group \ --template=lb-backend-template --size=2 --zone={{{project_0.default_zone | Zone}}}
  3. Utwórz regułę zapory sieciowej fw-allow-health-check.

    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 Uwaga: reguła ruchu przychodzącego zezwala na ruch pochodzący z systemów kontroli stanu Google Cloud (130.211.0.0/2235.191.0.0/16). W tym module do identyfikowania maszyn wirtualnych używany jest tag docelowy allow-health-check.
  4. Teraz, gdy instancje są już uruchomione, skonfiguruj globalny statyczny zewnętrzny adres IP, którego klienci będą używać do uzyskiwania dostępu do systemu równoważenia obciążenia:

    gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --global

    Zanotuj zarezerwowany adres IPv4:

    gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global
  5. Utwórz kontrolę stanu systemu równoważenia obciążenia:

    gcloud compute health-checks create http http-basic-check \ --port 80 Uwaga: Google Cloud udostępnia mechanizmy kontroli stanu, które określają, czy instancje backendowe prawidłowo reagują na ruch. Więcej informacji znajdziesz w artykule dotyczącym tworzenia kontroli stanu.
  6. Utwórz usługę backendu:

    gcloud compute backend-services create web-backend-service \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
  7. Dodaj grupę instancji jako backend do usługi backendu:

    gcloud compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-group \ --instance-group-zone={{{project_0.default_zone | Zone}}} \ --global
  8. Utwórz mapę URL, aby kierować przychodzące żądania do domyślnej usługi backendu:

    gcloud compute url-maps create web-map-http \ --default-service web-backend-service Uwaga: mapa URL to zasób konfiguracji Google Cloud używany do kierowania żądań do usług lub zasobników backendu. Na przykład w przypadku zewnętrznego systemu równoważenia obciążenia HTTP(S) możesz użyć pojedynczej mapy URL do kierowania żądań do różnych miejsc docelowych zgodnie z regułami skonfigurowanymi w tej mapie:

    • Żądania do https://example.com/video trafiają do określonej usługi backendu.
    • Żądania do https://example.com/audio trafiają do innej usługi backendu.
    • Żądania do https://example.com/images trafiają do zasobnika backendu Cloud Storage.
    • Żądania do wszystkich innych kombinacji hosta i ścieżki trafiają do domyślnej usługi backendu.
  9. Utwórz docelowy serwer proxy HTTP, aby kierować żądania do mapy URL:

    gcloud compute target-http-proxies create http-lb-proxy \ --url-map web-map-http
  10. Utwórz globalną regułę przekierowania, aby kierować przychodzące żądania do serwera proxy:

    gcloud compute forwarding-rules create http-content-rule \ --address=lb-ipv4-1\ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
Uwaga: reguła przekierowania i powiązany z nią adres IP stanowią konfigurację frontendu systemu równoważenia obciążenia Google Cloud. Więcej ogólnych informacji o regułach przekierowania znajdziesz w przewodniku po regułach przekierowania.

Kliknij Sprawdź postępy, aby zobaczyć, czy system równoważenia obciążenia HTTP(S) L7 został utworzony.

Utworzenie systemu równoważenia obciążenia HTTP

Zadanie 6. Przetestuj ruch wysyłany do instancji

  1. W konsoli Google Cloud otwórz Menu nawigacyjne i kliknij Usługi sieciowe > Równoważenie obciążenia.

  2. Kliknij utworzony przed chwilą system równoważenia obciążenia (web-map-http).

  3. W sekcji Backend kliknij nazwę backendu, aby sprawdzić, czy maszyny wirtualne są W dobrym stanie. Jeśli nie, poczekaj chwilę i ponownie załaduj stronę.

  4. Kiedy maszyny wirtualne będą w dobrym stanie, przetestuj system równoważenia obciążenia za pomocą przeglądarki – wejdź na http://ADRES_IP, zastępując fragment ADRES_IP adresem IP systemu równoważenia obciążenia.

Może to potrwać 3–5 minut. Jeśli nie możesz się połączyć, poczekaj minutę i odśwież przeglądarkę.

Przeglądarka powinna wyrenderować stronę z treścią zawierającą nazwę instancji obsługującej stronę oraz strefę tej instancji (na przykład Page served from: lb-backend-group-xxxx).

Gratulacje!

Udało Ci się stworzyć system równoważenia obciążenia sieci i system równoważenia obciążenia HTTP(S). Masz też za sobą ćwiczenia z używania szablonów instancji i zarządzanych grup instancji.

Ukończ kurs

Ten moduł do samodzielnego ukończenia jest częścią kursu Google Cloud Essentials. Każdy kurs składa się z zestawu powiązanych ze sobą modułów, które razem tworzą ścieżkę szkoleniową. Za ukończenie kursu otrzymujesz odznakę – stanowi ona potwierdzenie Twojego osiągnięcia. Swoje odznaki możesz ustawiać jako widoczne publicznie, a także podać do nich linki w swoim CV lub w mediach społecznościowych. Jeśli zapiszesz się na ten kurs, ukończony dziś moduł zostanie w nim od razu zaliczony.
Wszystkie dostępne kursy znajdziesz w katalogu.

Przejdź do kolejnego modułu

Możesz uczyć się dalej w ramach modułu Hello Node Kubernetes lub sprawdzić te proponowane moduły:

Kolejne kroki / Więcej informacji

Szkolenia i certyfikaty Google Cloud

…pomogą Ci wykorzystać wszystkie możliwości technologii Google Cloud. Nasze zajęcia obejmują umiejętności techniczne oraz sprawdzone metody, które ułatwią Ci szybką naukę i umożliwią jej kontynuację. Oferujemy szkolenia na poziomach od podstawowego po zaawansowany prowadzone w trybach wirtualnym, na żądanie i na żywo, dzięki czemu możesz dopasować program szkoleń do swojego napiętego harmonogramu. Certyfikaty umożliwią udokumentowanie i potwierdzenie Twoich umiejętności oraz doświadczenia w zakresie technologii Google Cloud.

Ostatnia aktualizacja instrukcji: 19 września 2023 r.

Ostatni test modułu: 19 września 2023 r.

Copyright 2024 Google LLC. Wszelkie prawa zastrzeżone. Google i logo Google są znakami towarowymi Google LLC. Wszelkie inne nazwy firm i produktów mogą być znakami towarowymi odpowiednich podmiotów, z którymi są powiązane.