arrow_back

Tworzenie wewnętrznego systemu równoważenia obciążenia

Tworzenie wewnętrznego systemu równoważenia obciążenia

50 godz. Punkty: 5

GSP216

Moduły Google Cloud do samodzielnego ukończenia

Opis

Google Cloud oferuje wewnętrzny system równoważenia obciążenia dla ruchu bazującego na TCP/UDP. Wewnętrzny system równoważenia obciążenia pozwala uruchamiać i skalować usługi pod prywatnym równoważącym obciążenie adresem IP, który jest dostępny jedynie dla Twoich instancji wewnętrznych maszyn wirtualnych.

W tym module utworzysz 2 zarządzane grupy instancji w 1 regionie. Następnie skonfigurujesz i przetestujesz wewnętrzny system równoważenia obciążenia, używając grup instancji jako backendów – co pokazano na tym diagramie sieci:

Network_Diagram.png

Cele

Z tego modułu nauczysz się wykonywać wymienione niżej czynności:

  • tworzenie protokołu HTTP i kontrolowanie stanu reguł zapory sieciowej,

  • konfigurowanie 2 szablonów instancji,

  • tworzenie 2 zarządzanych grup instancji,

  • konfigurowanie i testowanie wewnętrznego systemu równoważenia obciążenia.

Konfiguracja i wymagania

Zanim klikniesz przycisk Start Lab (Rozpocznij moduł)

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

W tym praktycznym module Qwiklabs 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.

Wymagania

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

  • dostęp do standardowej przeglądarki internetowej (zalecamy korzystanie z przeglądarki Chrome),
  • czas wymagany do ukończenia modułu.

Uwaga: jeśli masz już osobiste konto lub projekt w Google Cloud, nie używaj go w tym module.

Uwaga: jeśli używasz Pixelbooka, uruchom ten moduł w oknie incognito.

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

Zadanie 1. Konfigurowanie protokołu HTTP i kontrolowanie stanu reguł zapory sieciowej

Skonfiguruj reguły zapory sieciowej tak, aby przepuszczała ruch HTTP do backendów oraz ruch TCP z kontroli stanu Google Cloud.

Poznawanie sieci my-internal-app

Sieć my-internal-app oraz podsieci subnet-a i subnet-b, a także reguły zapory sieciowej dla ruchu RDP, SSH i ICMP zostały już skonfigurowane.

  1. W konsoli wybierz menu nawigacyjne > Sieć VPC > Sieci VPC.

  2. Przewiń w dół i zwróć uwagę na sieć my-internal-app oraz jej podsieci: subnet-asubnet-b.

    Każdy projekt Google Cloud rozpoczyna się od sieci default. Poza tym sieć my-internal-app została przygotowana jako część Twojego diagramu sieciowego.

    Zarządzane grupy instancji utworzysz w podsieciach subnet-a oraz subnet-b. Obie te podsieci znajdują się w regionie us-central1, ponieważ wewnętrzny system równoważenia obciążenia to usługa regionalna. Zarządzane grupy instancji znajdą się w różnych strefach, dzięki czemu usługa będzie odporna na awarie strefowe.

Tworzenie reguły zapory sieciowej dotyczącej protokołu HTTP

Utwórz regułę zapory sieciowej, która umożliwi ruch HTTP do backendów z systemu równoważenia obciążenia oraz z internetu (aby zainstalować Apache w backendach).

  1. Będąc na stronie Sieć VPC, w lewym panelu kliknij Zapora sieciowa.

  2. Zwróć uwagę na reguły app-allow-icmp oraz app-allow-ssh-rdp.

    Zostały już dla Ciebie utworzone.

  3. Kliknij Utwórz regułę zapory sieciowej.

  4. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Nazwa app-allow-http
    Sieć my-internal-app
    Cele Określone tagi docelowe
    Tagi docelowe lb-backend
    Filtr źródeł Zakresy adresów IPv4
    Zakresy źródłowych adresów IPv4 0.0.0.0/0
    Protokoły i porty Określone protokoły i porty, a następnie zaznacz tcp i wpisz: 80
Uwaga: sprawdź, czy w Zakresach źródłowych adresów IPv4 uwzględniono /0, tak by określić wszystkie sieci.
  1. Kliknij Utwórz.

Tworzenie reguły zapory sieciowej do kontroli stanu

Kontrola stanu wskazuje instancje systemu równoważenia obciążenia, które mogą otrzymywać nowe połączenia. Do wewnętrznego równoważenia obciążenia kontrola stanu sonduje Twoje instancje o zrównoważonym obciążeniu, które pochodzą z adresów w zakresach: 130.211.0.0/2235.191.0.0/16. Twoje reguły zapory sieciowej muszą przepuszczać te połączenia.

  1. Będąc na stronie Reguły zapory sieciowej, kliknij Utwórz regułę zapory sieciowej.

  2. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Nazwa app-allow-health-check
    Cele Określone tagi docelowe
    Tagi docelowe lb-backend
    Filtr źródeł Zakresy adresów IPv4
    Zakresy źródłowych adresów IPv4 130.211.0.0/22 i 35.191.0.0/16
    Protokoły i porty Określone protokoły i porty, a następnie zaznacz tcp
Uwaga:pamiętaj, aby podać 2 Zakresy źródłowych adresów IPv4 jeden po drugim, rozdzielając je SPACJĄ.
  1. Kliknij Utwórz.

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.

Konfigurowanie protokołu HTTP i kontrolowanie stanu reguł zapory sieciowej

Zadanie 2. Konfigurowanie szablonów instancji i tworzenie grup instancji

Zarządzana grupa instancji korzysta z szablonów w celu tworzenia grupy jednakowych instancji. Korzystając z nich, utwórz backendy wewnętrznego systemu równoważenia obciążenia.

Konfigurowanie szablonów instancji

Szablon instancji to zasób interfejsu API, którego możesz użyć do utworzenia instancji maszyny wirtualnej oraz zarządzanych grup instancji. Szablony instancji określają typ maszyny, obraz dysku rozruchowego, podsieć, etykiety i inne właściwości instancji. Utwórz szablon instancji dla obu podsieci sieci my-internal-app.

  1. W konsoli wybierz menu nawigacyjne > Compute Engine > Szablony instancji.

  2. Kliknij Utwórz szablon instancji.

  3. W polu Nazwa wpisz instance-template-1.

  4. W polu Seria wybierz N1.

  5. Kliknij Opcje zaawansowane.

  6. Kliknij Sieci.

  7. W polu Tagi sieci wybierz lb-backend.

    Uwaga: tag lb-backend sieci sprawia, że reguły zapory sieciowej dotyczące protokołu HTTPkontroli stanu działają dla tych instancji.
  8. W obszarze Interfejsy sieci kliknij ikonę menu, aby edytować.

  9. Ustaw wymienione niżej wartości, a wszystkie pozostałe pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Sieć my-internal-app
    Podsieć subnet-a
  10. Kliknij Gotowe.

  11. Kliknij Zarządzanie.

  12. W sekcji Metadane kliknij Dodaj element i podaj:

    Klucz 1 Wartość 1
    startup-script-url gs://cloud-training/gcpnet/ilb/startup.sh
Uwaga: klucz startup-script-url definiuje skrypt, który zostanie wykonany wraz z uruchomieniem instancji. Skrypt instaluje serwer Apache i zmienia stronę powitalną tak, aby zawierała adres IP klienta oraz nazwę, region i strefę instancji maszyny wirtualnej. Tutaj możesz przyjrzeć się temu skryptowi.
  1. Kliknij Utwórz.

  2. Poczekaj, aż szablon instancji zostanie utworzony.

Konfigurowanie następnego szablonu instancji

Utwórz kolejny szablon instancji dla podsieci subnet-b, kopiując instance-template-1:

  1. Będąc nadal w sekcji Szablony instancji, zaznacz pole instance-template-1, a potem kliknij Kopiuj. Instancja będzie nazywać się instance-template-2.

  2. Kliknij Opcje zaawansowane.

  3. Kliknij kartę Sieć.

  4. W obszarze Interfejsy sieci kliknij ikonę menu, aby edytować.

  5. Jako podsieć wybierz subnet-b.

  6. Kliknij Gotowe, a potem Utwórz.

Tworzenie zarządzanych grup instancji

Utwórz zarządzaną grupę instancji w podsieci subnet-a (us-central1-a) i kolejną w podsieci subnet-b (us-central1-b).

  1. Będąc na stronie Compute Engine, w lewym panelu kliknij Grupy instancji, a następnie kliknij Utwórz grupę instancji.

  2. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Nazwa instance-group-1
    Szablon instancji instance-template-1
    Lokalizacja Jednostrefowe
    Region us-central1
    Strefa us-central1-a
    Autoskalowanie > Minimalna liczba instancji 1
    Autoskalowanie > Maksymalna liczba instancji 5
    Autoskalowanie > Wskaźniki autoskalowania (kliknij ikonę menu, aby edytować) > Typ wskaźnika Wykorzystanie procesora
    Docelowe wykorzystanie procesora 80
    Okres oczekiwania 45
Uwaga: zarządzane grupy instancji oferują możliwość autoskalowania, co pozwala na automatyczne dodawanie lub usuwanie instancji z takiej grupy zależnie od wzrostu lub spadku obciążenia. Autoskalowanie pomaga aplikacjom płynnie obsługiwać zwiększony ruch, a ponadto obniża koszty, gdy zapotrzebowanie na zasoby jest niższe. Wystarczy zdefiniować zasadę autoskalowania, by odpowiedni mechanizm zaczął je przeprowadzać na podstawie pomiaru obciążenia.
  1. Kliknij Utwórz.

    Powtórz te kroki dla grupy instancji instance-group-2us-central1-b:

  2. Kliknij Utwórz grupę instancji.

  3. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Nazwa instance-group-2
    Szablon instancji instance-template-2
    Lokalizacja Jednostrefowe
    Region us-central1
    Strefa us-central1-b
    Autoskalowanie > Minimalna liczba instancji 1
    Autoskalowanie > Maksymalna liczba instancji 5
    Autoskalowanie > Wskaźniki autoskalowania (kliknij ikonę menu, aby edytować) > Typ wskaźnika Wykorzystanie procesora
    Docelowe wykorzystanie procesora 80
    Okres oczekiwania 45
  4. Kliknij Utwórz.

Sprawdzanie backendów

Sprawdź, czy instancje maszyn wirtualnych są tworzone w obu podsieciach, i utwórz maszynę wirtualną, by uzyskać dostęp do stron HTTP backendów.

  1. Będąc w Compute Engine, kliknij Instancje maszyn wirtualnych.

  2. Znajdziesz 2 instancje zaczynające się od instance-group-1 oraz instance-group-2.

    Te instancje są w osobnych strefach, a ich wewnętrzne adresy IP są częścią bloków CIDR subnet-a oraz subnet-b.

  3. Kliknij Utwórz instancję.

  4. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Nazwa utility-vm
    Region us-central1
    Strefa us-central1-f
    Seria N1
    Typ maszyny f1-micro (1 współdzielony procesor wirtualny)
  5. Kliknij Opcje zaawansowane.

  6. Kliknij Sieci.

  7. W obszarze Interfejsy sieci kliknij ikonę menu, aby edytować.

  8. Ustaw wymienione niżej wartości, a wszystkie pozostałe pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Sieć my-internal-app
    Podsieć subnet-a
    Podstawowy wewnętrzny adres IP Efemeryczny (niestandardowy)
    Niestandardowy efemeryczny adres IP 10.10.20.50
  9. Kliknij Gotowe, a potem Utwórz.

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.

Konfigurowanie szablonów instancji i tworzenie grup instancji
  1. Wewnętrzne adresy IP dla backendów to 10.10.20.210.10.30.2.
Uwaga: jeśli te adresy IP są inne, zastąp je poprawnymi w 2 poleceniach curl poniżej.
  1. Dla utility-vm kliknij SSH, aby włączyć terminal i się połączyć.

  2. Sprawdź stronę powitalną dla instance-group-1-xxxx za pomocą następującego polecenia:

curl 10.10.20.2

Dane wyjściowe powinny wyglądać tak:

<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname: instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: us-central1-a
  1. Sprawdź stronę powitalną dla instance-group-2-xxxx za pomocą następującego polecenia:

curl 10.10.30.2

Dane wyjściowe powinny wyglądać tak:

<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname: instance-group-2-q5wp<h2>Server Location</h2>Region and Zone: us-central1-b

Uwaga: polecenia curl pokazują, że każda instancja maszyny wirtualnej ma adres IP klienta, swoją własną nazwę i lokalizację. Te informacje przydadzą się podczas sprawdzania, czy wewnętrzny system równoważenia obciążenia wysyła ruch do obu backendów.
  1. Zamknij terminal SSH dla utility-vm:

exit

Zadanie 3. Konfigurowanie wewnętrznego systemu równoważenia obciążenia

Skonfiguruj wewnętrzny system równoważenia obciążenia, aby zrównoważyć ruch między 2 backendami (instance-group-1 w us-central1-a oraz instance-group-2 w us-central1-b) – jak pokazano na tym diagramie:

Diagram sieci przedstawiający równoważenie obciążenia między 2 backendami przez wewnętrzny system równoważenia obciążenia

Rozpoczynanie konfiguracji

  1. W Cloud Console otwórz kolejno menu nawigacyjne > Usługi sieciowe > Równoważenie obciążenia i kliknij Utwórz system równoważenia obciążenia.
  2. W sekcji Równoważenie obciążenia TCP kliknij Rozpocznij konfigurację.
  3. W sekcji Dostępny z internetu lub tylko wewnętrzny wybierz Tylko między moimi maszynami wirtualnymi.
Uwaga: wybranie opcji Tylko między moimi maszynami wirtualnymi sprawia, że system równoważenia obciążenia staje się wewnętrzny. Ten wybór wymaga umiejscowienia backendów w 1 regionie (us-central1) i nie pozwala na przejęcie przetwarzania TCP przez system równoważenia obciążenia.
  1. Kliknij Dalej.

  2. W polu Nazwa wpisz my-ilb.

  3. W polu Region wybierz us-central1.

  4. W polu Sieć wybierz my-internal-app.

Konfigurowanie regionalnej usługi backendu

Usługa backendu monitoruje grupy instancji i zapobiega przekroczeniu przez nie skonfigurowanej intensywności użytkowania.

  1. Kliknij Konfiguracja backendu.

  2. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wybierz podaną opcję)
    Grupa instancji instance-group-1 (us-central1-a)
  3. Kliknij Dodaj backend.

  4. W obszarze Grupa instancji wybierz instance-group-2 (us-central1-b).

  5. W obszarze Kontrola stanu wybierz Utwórz kontrolę stanu.

  6. Ustaw te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wybierz podaną opcję)
    Nazwa my-ilb-health-check
    Protokół TCP
    Port 80
Uwaga: kontrola stanu wskazuje instancje, które mogą otrzymywać nowe połączenia. Kontrola stanu HTTP zbiera wyniki z instancji co 5 sekund, czeka na odpowiedź do 5 sekund i traktuje 2 sukcesy jako działanie poprawne, a 2 niepowodzenia jako niepoprawne.
  1. Kliknij Zapisz.

  2. Kliknij Gotowe.

  3. Upewnij się, że w Cloud Console obok pozycji Konfiguracja backendu widoczna jest niebieska ikona potwierdzenia. Jeśli tak nie jest, upewnij się, że wszystkie powyższe czynności zostały wykonane.

Konfigurowanie frontendu

Frontend przekierowuje ruch do backendu.

  1. Kliknij Konfiguracja frontendu.

  2. Określ te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Podsieć subnet-b
    Wewnętrzny adres IP Z sekcji Adres IP wybierz Utwórz adres IP.
  3. Określ te wartości, a wszystkie inne pozostaw domyślne:

    Właściwość Wartość (wpisz podaną wartość lub wybierz podaną opcję)
    Nazwa my-ilb-ip
    Statyczny adres IP Pozwól mi wybrać
    Niestandardowy adres IP 10.10.30.5
  4. Kliknij Zarezerwuj.

  5. W polu Numer portu wpisz 80.

  6. Kliknij Gotowe.

Przeglądanie i tworzenie wewnętrznego systemu równoważenia obciążenia

  1. Kliknij Przejrzyj i zakończ.
  2. Przejrzyj pozycje Backend oraz Frontend.
  3. Kliknij Utwórz. Zanim zajmiesz się następnym zadaniem, poczekaj, aż system równoważenia obciążenia zostanie utworzony.

Kliknij Sprawdź postępy, aby zobaczyć, jak Ci poszło.

Konfigurowanie wewnętrznego systemu równoważenia obciążenia

Zadanie 4. Testowanie wewnętrznego systemu równoważenia obciążenia

Sprawdź, czy adres IP my-ilb przekazuje ruch do grup instancji instance-group-1 w us-central1-a oraz instance-group-2 w us-central1-b.

Uzyskiwanie dostępu do wewnętrznego systemu równoważenia obciążenia

  1. W Cloud Console otwórz menu nawigacyjne i kliknij Compute Engine > Instancje maszyn wirtualnych.

  2. Dla utility-vm kliknij SSH, aby włączyć terminal i się połączyć.

  3. Aby sprawdzić, czy wewnętrzny system równoważenia obciążenia przekazuje ruch, uruchom następujące polecenie:

curl 10.10.30.5

Dane wyjściowe powinny wyglądać tak:

<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname: instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: us-central1-a Uwaga: zgodnie z oczekiwaniami ruch jest przekazywany z wewnętrznego systemu równoważenia obciążenia (10.10.30.5) do backendu.
  1. Uruchom to polecenie jeszcze kilka razy.

Powinny być widoczne odpowiedzi z grup instancji instance-group-1 w us-central1-a i instance-group-2 w us-central1-b.

Gratulacje!

W tym module udało Ci się utworzyć 2 zarządzane grupy instancji w regionie us-central1, a także reguły zapory sieciowej przepuszczające ruch HTTP do tych instancji oraz ruch TCP z kontroli stanu Google Cloud. Następnym krokiem było skonfigurowanie i przetestowanie wewnętrznego systemu równoważenia obciążenia w tych grupach instancji.

Ukończ kurs

Ten moduł do samodzielnego ukończenia jest częścią kursu Networking in the Google Cloud. 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. Zarejestruj się na ten kurs lub dowolny kurs zawierający ten moduł, a zostanie on automatycznie zaliczony. Zapoznaj się z Katalogiem Google Cloud Skills Boost, aby zobaczyć wszystkie dostępne kursy.

Przejdź do kolejnego modułu

Możesz uczyć się dalej w ramach modułu Dynamiczne bramy sieci VPN – Cloud Router.

Kolejne kroki / Więcej informacji

Informacje o podstawowych zagadnieniach dotyczących równoważenia obciążenia znajdziesz na stronie dokumentacji równoważenia obciążenia Google Cloud (w języku angielskim).

Ostatnia ręczna aktualizacja: 16 sierpnia 2022 r.

Ostatni test modułu: 16 sierpnia 2022 r.

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