arrow_back

Konfigurowanie systemów równoważenia obciążenia aplikacji

Zyskaj dostęp do ponad 700 modułów i kursów

Konfigurowanie systemów równoważenia obciążenia aplikacji

Moduł 1 godz. universal_currency_alt 1 punkt show_chart Wprowadzające
info Ten moduł może zawierać narzędzia AI, które ułatwią Ci naukę.
Zyskaj dostęp do ponad 700 modułów i kursów

GSP155

Logo modułów do samodzielnego ukończenia poświęconych Google Cloud

Opis

W tym praktycznym module dowiesz się, jak skonfigurować system równoważenia obciążenia aplikacji warstwy 7 (L7) w maszynach wirtualnych Compute Engine. Systemy równoważenia obciążenia warstwy 7 rozumieją protokoły HTTP(S), dzięki czemu mogą podejmować decyzje dotyczące kierowania na podstawie parametrów takich jak adres URL, nagłówki, pliki cookie i zawartość żądania. Umożliwia to zwiększenie wydajności i szybkości reaagowania aplikacji.

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.

Cele

Z tego modułu nauczysz się, jak:

  • skonfigurować domyślny region i strefę swoich zasobów,
  • utworzyć system równoważenia obciążenia aplikacji,
  • przetestować ruch do instancji.

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 (zalecane) lub przeglądania prywatnego. Dzięki temu unikniesz konfliktu między swoim kontem osobistym a kontem do nauki, co mogłoby spowodować naliczanie dodatkowych opłat na koncie osobistym.
  • Odpowiednia ilość czasu na ukończenie modułu – pamiętaj, że gdy rozpoczniesz, nie możesz go wstrzymać.
Uwaga: w tym module używaj tylko konta do nauki. Jeśli użyjesz innego konta Google Cloud, mogą na nim zostać naliczone opłaty.

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

  1. Kliknij przycisk Rozpocznij moduł. Jeśli moduł jest odpłatny, otworzy się okno, 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 Cloud;
    • 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 Cloud (lub kliknij prawym przyciskiem myszy i wybierz Otwórz link w oknie incognito, jeśli korzystasz z przeglądarki Chrome).

    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 znajdującą się poniżej i wklej ją w oknie logowania.

    {{{user_0.username | "Username"}}}

    Nazwę użytkownika znajdziesz też w panelu Szczegóły modułu.

  4. Kliknij Dalej.

  5. Skopiuj podane niżej hasło i wklej je w oknie powitania.

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

    Hasło znajdziesz też w panelu Szczegóły modułu.

  6. Kliknij Dalej.

    Ważne: musisz użyć danych logowania podanych w module. Nie używaj danych logowania na swoje konto Google Cloud. Uwaga: korzystanie z własnego konta Google Cloud w tym module może wiązać się z dodatkowymi opłatami.
  7. 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 uzyskać dostęp do produktów i usług Google Cloud, kliknij Menu nawigacyjne lub wpisz nazwę usługi albo produktu w polu Szukaj. Ikona menu nawigacyjnego i pole wyszukiwania

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.

  2. Kliknij te okna:

    • Przejdź przez okno z informacjami o Cloud Shell.
    • Zezwól Cloud Shell na używanie Twoich danych logowania w celu wywoływania interfejsu Google Cloud API.

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 {{{project_0.project_id | "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.

Dane wyjściowe:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} 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_0.project_id | "PROJECT_ID"}}} Uwaga: pełną dokumentację gcloud w Google Cloud znajdziesz w opisie gcloud CLI.

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 dokumentacji regionów i stref Compute Engine.

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 jako strefę. 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 we 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 "

    Web Server: 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 "

    Web Server: 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 "

    Web Server: 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] zewnętrznym adresem IP odpowiedniej maszyny wirtualnej:

    curl http://[ADRES_IP]

    Kliknij Sprawdź postępy, aby zobaczyć, czy grupa serwerów WWW została utworzona. Utworzenie wielu instancji serwera WWW

Zadanie 3. Utwórz system równoważenia obciążenia aplikacji

Równoważenie obciążenia aplikacji 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 aplikacji. 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

    Zwróć uwagę na zarezerwowany adres IPv4:

    gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global Uwaga: zapisz ten adres IP, ponieważ będzie on potrzebny w dalszej części tego modułu.
  5. Utwórz kontrolę stanu systemu równoważenia obciążenia (aby mieć pewność, że ruch jest kierowany tylko do sprawnych backendów):

    gcloud compute health-checks create http http-basic-check \ --port 80
  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 aplikacji 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 sprawdzić, czy system równoważenia obciążenia aplikacji L7 został utworzony. Utworzenie systemu równoważenia obciążenia aplikacji

Zadanie 4. Przetestuj ruch wysyłany do instancji

  1. W konsoli Google Cloud w polu Szukaj wpisz Równoważenie obciążenia, a następnie w wynikach wyszukiwania wybierz 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, który został wcześniej skopiowany.

Uwaga: Może to potrwać 3–5 minut. Jeśli nie możesz się połączyć, poczekaj chwilę 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).

Kliknij Sprawdź postępy, aby przetestować ruch wysyłany do instancji. Przetestuj system równoważenia obciążenia w przeglądarce.

Gratulacje!

W tym module udało Ci się skonfigurować system równoważenia obciążenia aplikacji. Masz też za sobą ćwiczenia z używania szablonów instancji i zarządzanych grup instancji do wysyłania ruchu do instancji serwera WWW.

Kolejne kroki / Więcej informacji

Dodatkowa dokumentacja systemu równoważenia obciążenia:

Google Cloud udostępnia mechanizmy kontroli stanu, które określają, czy instancje backendowe prawidłowo reagują na ruch.

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: 18 lipca 2025 r.

Ostatni test modułu: 18 lipca 2025 r.

Copyright 2025 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.

Zanim zaczniesz

  1. Moduły tworzą projekt Google Cloud i zasoby na określony czas.
  2. Moduły mają ograniczenie czasowe i nie mają funkcji wstrzymywania. Jeśli zakończysz moduł, musisz go zacząć od początku.
  3. Aby rozpocząć, w lewym górnym rogu ekranu kliknij Rozpocznij moduł.

Użyj przeglądania prywatnego

  1. Skopiuj podaną nazwę użytkownika i hasło do modułu.
  2. Kliknij Otwórz konsolę w trybie prywatnym.

Zaloguj się w konsoli

  1. Zaloguj się z użyciem danych logowania do modułu. Użycie innych danych logowania może spowodować błędy lub naliczanie opłat.
  2. Zaakceptuj warunki i pomiń stronę zasobów przywracania.
  3. Nie klikaj Zakończ moduł, chyba że właśnie został przez Ciebie zakończony lub chcesz go uruchomić ponownie, ponieważ spowoduje to usunięcie wyników i projektu.

Ta treść jest obecnie niedostępna

Kiedy dostępność się zmieni, wyślemy Ci e-maila z powiadomieniem

Świetnie

Kiedy dostępność się zmieni, skontaktujemy się z Tobą e-mailem

Jeden moduł, a potem drugi

Potwierdź, aby zakończyć wszystkie istniejące moduły i rozpocząć ten

Aby uruchomić moduł, użyj przeglądania prywatnego

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 dodatkowych opłat na koncie osobistym.