1. Wprowadzenie
Witamy w samouczku dotyczącym zewnętrznego systemu równoważenia obciążenia HTTP(S) z zaawansowanym zarządzaniem ruchem (Envoy)!
Najnowsza wersja zewnętrznego systemu równoważenia obciążenia HTTP(S) z zaawansowanym zarządzaniem ruchem zawiera wszystkie funkcje naszego obecnego klasycznego globalnego zewnętrznego systemu równoważenia obciążenia HTTP(S), ale z coraz większą listą funkcji zaawansowanego zarządzania ruchem. Niektóre z tych funkcji są nowe w naszych systemach równoważenia obciążenia, a inne zapewniają ulepszone funkcje w stosunku do dotychczasowych. Oto częściowa lista tych możliwości:
- Ważone dzielenie ruchu
- Żądanie powielenia
- Wykrywanie wyników odstających
- Ponowne próby przesłania żądania
- Wstrzykiwanie błędów
- Dodatkowe opcje koligacji sesji backendu
- Dodatkowe opcje transformacji nagłówka
- Współdzielenie zasobów pomiędzy serwerami z różnych domen (CORS)
- Nowe algorytmy równoważenia obciążenia
Czego się nauczysz
- Jak skonfigurować zarządzaną grupę instancji oraz powiązane z nią reguły zapory sieciowej VPC
- Jak korzystać z zaawansowanych funkcji zarządzania ruchem w nowym systemie równoważenia obciążenia
- Jak sprawdzić, czy zaawansowane funkcje zarządzania ruchem działają zgodnie z oczekiwaniami.
Czego potrzebujesz
- Podstawowa wiedza o sieciach i protokole HTTP
- Podstawowa znajomość wiersza poleceń w systemach Unix i Linux
Topologia i przypadek użycia ćwiczeń z programowania
Rysunek 1. Topologia routingu systemu równoważenia obciążenia HTTP
W tym module utworzysz 3 zarządzane grupy instancji: wschodnią, zachodnią i centralną. Utworzysz globalny zewnętrzny system równoważenia obciążenia HTTPS. System równoważenia obciążenia będzie korzystać z kilku funkcji z listy zaawansowanych możliwości, które obsługuje system równoważenia obciążenia oparty na Envoyu. Po wdrożeniu wygeneruj symulowane obciążenie i sprawdź, czy skonfigurowane ustawienia działają prawidłowo.
2. Konfiguracja i wymagania
Samodzielne konfigurowanie środowiska
- Zaloguj się w konsoli Google Cloud i utwórz nowy projekt lub użyj istniejącego. Jeśli nie masz jeszcze konta Gmail lub Google Workspace, musisz je utworzyć.
- Nazwa projektu to wyświetlana nazwa dla uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Zawsze możesz ją zaktualizować.
- Identyfikator projektu jest unikalny we wszystkich projektach Google Cloud i nie można go zmienić po ustawieniu. Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się tym przejmować. W większości ćwiczeń z programowania musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako
PROJECT_ID
). Jeśli wygenerowany identyfikator Ci się nie podoba, możesz wygenerować inny losowy identyfikator. Możesz też spróbować własnej nazwy i sprawdzić, czy jest dostępna. Po tym kroku nie można go zmienić i pozostaje on taki przez cały czas trwania projektu. - Warto wiedzieć, że istnieje trzecia wartość, numer projektu, której używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
- Następnie musisz włączyć rozliczenia w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Wykonanie tego laboratorium nie będzie kosztować dużo, a może nawet nic. Aby wyłączyć zasoby i uniknąć naliczania opłat po zakończeniu tego samouczka, możesz usunąć utworzone zasoby lub projekt. Nowi użytkownicy Google Cloud mogą skorzystać z programu bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.
Uruchamianie Cloud Shell
Google Cloud można obsługiwać zdalnie z laptopa, ale w tym module praktycznym będziesz używać Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.
W konsoli Google Cloud kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:
Udostępnienie środowiska i połączenie się z nim może zająć tylko kilka chwil. Po zakończeniu powinno wyświetlić się coś takiego:
Ta maszyna wirtualna zawiera wszystkie potrzebne narzędzia dla programistów. Zawiera stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i uwierzytelniania. Wszystkie zadania w tym laboratorium możesz wykonać w przeglądarce. Nie musisz niczego instalować.
Zanim zaczniesz
W Cloud Shell sprawdź, czy identyfikator projektu jest skonfigurowany.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID
włączyć interfejsy API,
Włącz wszystkie niezbędne usługi
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. Tworzenie sieci VPC
Utwórz sieć VPC
Z Cloud Shell
gcloud compute networks create httplbs --subnet-mode=auto
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs]. NAME: httplbs SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
Tworzenie reguł zapory sieciowej VPC
Po utworzeniu sieci VPC możesz utworzyć reguły zapory sieciowej. Reguła zapory sieciowej będzie używana do zezwalania wszystkim adresom IP na dostęp do zewnętrznego adresu IP witryny aplikacji testowej na porcie 80 w przypadku ruchu HTTP.
Z Cloud Shell
gcloud compute firewall-rules create httplb-allow-http-rule \ --allow tcp:80 \ --network httplbs \ --source-ranges 0.0.0.0/0 \ --priority 700
Wyniki
Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule]. Creating firewall...done. NAME: httplb-allow-http-rule NETWORK: httplbs DIRECTION: INGRESS PRIORITY: 700 ALLOW: tcp:80 DENY: DISABLED: False
4. Konfigurowanie zarządzanych grup instancji
Musisz skonfigurować zarządzane grupy instancji, które zawierają wzorce zasobów backendu używanych przez system równoważenia obciążenia HTTP. Najpierw utworzymy szablony instancji, które określają konfigurację maszyn wirtualnych do utworzenia w każdym regionie. Następnie dla każdego regionu utworzymy zarządzaną grupę instancji, która odwołuje się do szablonu instancji.
Zarządzane grupy instancji mogą mieć zasięg strefowy lub regionalny. W tym ćwiczeniu utworzymy 3 regionalne zarządzane grupy instancji: 1 w regionie us-east1, 1 w regionie us-west1 i 1 w regionie us-central1.
W tej sekcji możesz zobaczyć wstępnie utworzony skrypt startowy, do którego będzie się odwoływać instancja podczas tworzenia. Ten skrypt uruchamiania instaluje i włącza funkcje serwera WWW, których użyjemy do symulowania aplikacji internetowej. Możesz przyjrzeć się temu skryptowi.
Tworzenie szablonów instancji East, West i Central
Pierwszym krokiem jest utworzenie szablonu instancji us-east-1.
Z Cloud Shell
gcloud compute instance-templates create us-east1-template \ --region=us-east1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --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'
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template]. NAME: us-east1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00
Następnym krokiem jest utworzenie szablonu instancji us-west-1.
Z Cloud Shell
gcloud compute instance-templates create us-west1-template \ --region=us-west1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --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'
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template]. NAME: us-west1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00
Następnym krokiem jest utworzenie szablonu instancji us-central-1.
Z Cloud Shell
gcloud compute instance-templates create us-central1-template \ --region=us-central1 \ --network=httplbs \ --tags=http-server, \ --image-family=debian-12 \ --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'
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template]. NAME: us-central1-template MACHINE_TYPE: n1-standard-1 PREEMPTIBLE: CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00
Możesz teraz sprawdzić, czy szablony instancji zostały utworzone, za pomocą tego polecenia gcloud:
Z Cloud Shell
gcloud compute instance-templates list
Wyniki
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP us-central1-template n1-standard-1 2021-11-09T09:25:37.263-08:00 us-east1-template n1-standard-1 2021-11-09T09:24:35.275-08:00 us-west1-template n1-standard-1 2021-11-09T09:25:08.016-08:00
Tworzenie zarządzanych grup instancji Wschód, Zachód i Centrum
Teraz musimy utworzyć zarządzaną grupę instancji na podstawie utworzonych wcześniej szablonów instancji.
Z Cloud Shell
gcloud compute instance-groups managed create us-east1-mig \ --base-instance-name=us-east1-mig \ --size=1 \ --template=us-east1-template \ --zone=us-east1-b
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig]. NAME: us-east1-mig LOCATION: us-east1-b SCOPE: zone BASE_INSTANCE_NAME: us-east1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-east1-template AUTOSCALED: no
Z Cloud Shell
gcloud compute instance-groups managed create us-west1-mig \ --base-instance-name=us-west1-mig \ --size=1 \ --template=us-west1-template \ --zone=us-west1-a
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig]. NAME: us-west1-mig LOCATION: us-west1-a SCOPE: zone BASE_INSTANCE_NAME: us-west1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-west1-template AUTOSCALED: no
Z Cloud Shell
gcloud compute instance-groups managed create us-central1-mig \ --base-instance-name=us-central1-mig \ --size=1 \ --template=us-central1-template \ --zone=us-central1-a
Wyniki
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig]. NAME: us-central1-mig LOCATION: us-central1-a SCOPE: zone BASE_INSTANCE_NAME: us-central1-mig SIZE: 0 TARGET_SIZE: 1 INSTANCE_TEMPLATE: us-central1-template AUTOSCALED: no
Możemy sprawdzić, czy grupy instancji zostały utworzone, za pomocą tego polecenia gcloud:
Z Cloud Shell
gcloud compute instance-groups list
Wyniki
NAME LOCATION SCOPE NETWORK MANAGED INSTANCES us-central1-mig us-central1 zone httplbs Yes 1 us-west1-mig us-west1 zone httplbs Yes 1 us-east1-mig us-east1 zone httplbs Yes 1
Sprawdzanie działania serwera WWW
Każda instancja jest skonfigurowana do uruchamiania serwera WWW Apache z prostym skryptem PHP, który renderuje:
Aby sprawdzić, czy serwery WWW działają prawidłowo, otwórz Compute Engine –> Instancje maszyn wirtualnych. Sprawdź, czy nowe instancje (np. us-east1-mig-xxx) zostały utworzone zgodnie z definicjami grup instancji.
Teraz wyślij żądanie internetowe w przeglądarce, aby sprawdzić, czy serwer WWW działa (uruchomienie może potrwać minutę). Na stronie Instancje maszyn wirtualnych w sekcji Compute Engine wybierz instancję utworzoną przez grupę instancji i kliknij jej zewnętrzny (publiczny) adres IP.
Możesz też otworzyć w przeglądarce stronę http://<IP_Address>.
5. Konfigurowanie systemu równoważenia obciążenia
Utwórz kontrolę stanu
Najpierw musimy utworzyć podstawową kontrolę stanu, aby mieć pewność, że nasze usługi działają prawidłowo. Utworzymy podstawową kontrolę stanu, ale dostępnych jest wiele bardziej zaawansowanych opcji dostosowywania.
Z Cloud Shell
gcloud compute health-checks create http http-basic-check \ --port 80
Rezerwowanie zewnętrznego adresu IP
W tym kroku musisz zarezerwować globalnie dostępny statyczny adres IP, który zostanie później dołączony do systemu równoważenia obciążenia.
Z Cloud Shell
gcloud compute addresses create lb-ipv4-2 \ --ip-version=IPV4 \ --global
Zanotuj zarezerwowany adres IP.
gcloud compute addresses describe lb-ipv4-2 \ --format="get(address)" \ --global
Tworzenie usług backendu
Teraz musimy utworzyć usługę backendu dla każdej z utworzonych wcześniej zarządzanych grup instancji. Po jednym dla regionów wschodniego, zachodniego i centralnego.
Tworzenie usługi backendu dla zarządzanej grupy instancji w regionie East.
Z Cloud Shell
gcloud compute backend-services create east-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Tworzenie usługi backendu dla zarządzanej grupy instancji West.
Z Cloud Shell
gcloud compute backend-services create west-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Tworzenie usługi backendu dla centralnej zarządzanej grupy instancji.
Z Cloud Shell
gcloud compute backend-services create central-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=http-basic-check \ --global
Dodawanie zarządzanych grup instancji do usług backendu
Po utworzeniu odpowiednich usług backendu dla każdego klastra aplikacji musimy teraz dodać do każdej usługi backendu utworzone wcześniej zarządzane grupy instancji.
Dodaj grupę MIG w regionie wschodnim do usługi backendu.
Z Cloud Shell
gcloud compute backend-services add-backend east-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-east1-mig \ --instance-group-zone=us-east1-b \ --global
Dodaj grupę MIG w regionie zachodnim do usługi backendu.
Z Cloud Shell
gcloud compute backend-services add-backend west-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-west1-mig \ --instance-group-zone=us-west1-a \ --global
Dodaj centralną grupę MIG do usługi backendu.
Z Cloud Shell
gcloud compute backend-services add-backend central-backend-service \ --balancing-mode='UTILIZATION' \ --instance-group=us-central1-mig \ --instance-group-zone=us-central1-a \ --global
Tworzenie mapy URL
Mapa adresów URL to miejsce, w którym będą dostępne zaawansowane funkcje zarządzania ruchem w tym laboratorium. Musimy utworzyć plik .yaml, który będzie zawierał konfigurację. W pliku .yaml utworzyliśmy dopasowanie prefiksu do /roundrobbin, więc te konfiguracje będą miały wpływ tylko na ruch pasujący do /roundrobbin. Określiliśmy, że 50% ruchu ma być kierowane do usługi east-backend-service, a 50% – do usługi west-backend-service. Dodaliśmy też wartość nagłówka odpowiedzi:{test}, która będzie obecna we wszystkich odpowiedziach. Dodaliśmy też informację, że cały ruch powinien być dublowany do usługi central-backend-service. Ruch jest duplikowany i wysyłany tutaj tylko w celach testowych.
Zapisz przykład jako plik YAML na komputerze.
defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service kind: compute #urlMap name: web-map-http hostRules: - hosts: - '*' pathMatcher: matcher1 pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service name: matcher1 routeRules: - matchRules: - prefixMatch: /roundrobbin priority: 2 headerAction: responseHeadersToAdd: - headerName: test headerValue: value replace: True routeAction: weightedBackendServices: - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service weight: 50 - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service weight: 50 retryPolicy: retryConditions: ['502', '504'] numRetries: 3 perTryTimeout: seconds: 1 nanos: 50 requestMirrorPolicy: backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service
Utwórz mapę URL, importując dokument z komputera. Pamiętaj, że ścieżka źródłowa będzie się różnić w zależności od tego, gdzie zapiszesz plik .yaml.
Z Cloud Shell
gcloud compute url-maps import web-map-http \ --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \ --global
Utwórz frontend HTTP
Ostatnim krokiem tworzenia systemu równoważenia obciążenia jest utworzenie frontendu. Spowoduje to przypisanie zarezerwowanego wcześniej adresu IP do utworzonej mapy URL systemu równoważenia obciążenia.
Z Cloud Shell
gcloud compute target-http-proxies create http-lb-proxy-adv \ --url-map=web-map-http
Następnie musisz utworzyć globalną regułę przekierowania, która zmapuje zarezerwowany wcześniej adres IP na serwer proxy HTTP.
Z Cloud Shell
gcloud compute forwarding-rules create http-content-rule \ --load-balancing-scheme EXTERNAL_MANAGED \ --address=lb-ipv4-2 \ --global \ --target-http-proxy=http-lb-proxy-adv \ --ports=80
6. Sprawdzanie działania zaawansowanych funkcji dotyczących ruchu
Aby sprawdzić, czy zaimplementowana funkcja podziału ruchu działa, musisz wygenerować pewne obciążenie. Aby to zrobić, utworzymy nową maszynę wirtualną, która będzie symulować obciążenie.
Tworzenie reguły zapory sieciowej zezwalającej na SSH
Aby połączyć się przez SSH z maszyną wirtualną, z której będziemy generować ruch, musisz najpierw utworzyć regułę zapory sieciowej, która zezwoli na ruch SSH do tej maszyny.
Z Cloud Shell
gcloud compute firewall-rules create fw-allow-ssh \ --network=httplbs \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Wyniki
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED fw-allow-ssh httplbs INGRESS 1000 tcp:22 False
Tworzenie instancji Siege-vm
Teraz utworzysz maszynę wirtualną siege-vm, której użyjesz do generowania obciążenia.
Z Cloud Shell
gcloud compute instances create siege-vm \ --network=httplbs \ --zone=us-east4-c \ --machine-type=e2-medium \ --tags=allow-ssh,http-server \ --metadata=startup-script='sudo apt-get -y install siege'
Wyniki
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS siege-vm us-east4-c e2-medium 10.150.0.3 34.85.218.119 RUNNING
Następnie możesz połączyć się przez SSH z utworzoną maszyną wirtualną. Po utworzeniu instancji kliknij SSH, aby uruchomić terminal i nawiązać połączenie.
Po połączeniu uruchom to polecenie, aby wygenerować obciążenie. Użyj adresu IP zarezerwowanego wcześniej dla zewnętrznego systemu równoważenia obciążenia HTTP.
Z Cloud Shell
siege -c 250 http://[$lb-ipv4-2]/roundrobbin
Wyniki
New configuration template added to /home/cloudcurriculumdeveloper/.siege Run siege -C to view the current settings in that file [alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory ** SIEGE 4.0.2 ** Preparing 250 concurrent users for battle. The server is now under siege...
Sprawdzanie rozkładu obciążenia
Po uruchomieniu narzędzia Siege sprawdź, czy ruch jest równomiernie rozdzielany między grupy instancji zarządzanych na wschodzie i zachodzie. Możesz też sprawdzić, czy działa dublowanie ruchu i czy ruch jest wysyłany do centralnej grupy instancji zarządzanych.
W menu nawigacyjnym konsoli Cloud kliknij Usługi sieciowe > Równoważenie obciążenia. Wybierz system równoważenia obciążenia web-map-http. Otwórz kartę Monitorowanie, aby wyświetlić wykres poniżej.
Podział ruchu na tę grupę instancji będzie widoczny w czasie rzeczywistym. Ruch jest dzielony po równo, ponieważ skonfigurowano podział typu „każdy po kolei” w stosunku 50/50.
Aby sprawdzić, czy utworzona zasada dublowania ruchu działa, musisz sprawdzić wykorzystanie zarządzanej grupy instancji central-backend-service. Aby to zrobić, otwórz Compute Engine – grupy instancji i wybierz us-central1-mig. Następnie otwórz kartę monitorowania.
Zobaczysz wykresy pokazujące, że ruch został skopiowany do tej zarządzanej grupy instancji.
Zatrzymaj oblężenie
Skoro udało Ci się wykazać, że zaawansowane dzielenie ruchu działa, czas zakończyć oblężenie. Aby to zrobić, wróć do terminala SSH instancji siege-vm i naciśnij CTRL+C, aby zatrzymać działanie narzędzia siege.
Sprawdzanie, czy wysyłany jest nagłówek odpowiedzi
Zanim rozpoczniesz czyszczenie, możesz szybko sprawdzić, czy moduł równoważenia obciążenia HTTP wysyła odpowiedni nagłówek odpowiedzi. Został on skonfigurowany tak, aby wysyłać test nagłówka z wartością treści. Uruchomienie polecenia curl w Cloud Shell spowoduje wyświetlenie oczekiwanej odpowiedzi.
Z Cloud Shell
curl -svo /dev/null http://lb-ipv4-2/roundrobbin
Wyniki
* Trying lb-ipv4-2.. * TCP_NODELAY set * Connected to lb-ipv4-2 ( lb-ipv4-2) port 80 (#0) > GET /roundrobbin HTTP/1.1 > Host: lb-ipv4-2 > User-Agent: curl/7.64.1 > Accept: */* > < HTTP/1.1 404 Not Found < date: Wed, 10 Nov 2021 17:05:27 GMT < server: envoy < Content-Length: 273 < content-type: text/html; charset=iso-8859-1 < via: 1.1 google < test: value < { [273 bytes data] * Connection #0 to host 34.149.2.26 left intact * Closing connection 0
7. Sprzątanie modułu
Środowisko modułu zostało ukończone, więc czas je zamknąć. Aby usunąć środowisko testowe, uruchom te polecenia.
Z Cloud Shell
gcloud compute instances delete siege-vm --zone=us-east4-c gcloud compute forwarding-rules delete http-content-rule --global gcloud compute target-http-proxies delete http-lb-proxy-adv gcloud compute url-maps delete web-map-http gcloud compute backend-services delete east-backend-service --global gcloud compute backend-services delete west-backend-service --global gcloud compute backend-services delete central-backend-service --global gcloud compute addresses delete lb-ipv4-2 --global gcloud compute health-checks delete http-basic-check gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a gcloud compute instance-templates delete "us-east1-template" gcloud compute instance-templates delete "us-west1-template" gcloud compute instance-templates delete "us-central1-template" gcloud compute firewall-rules delete httplb-allow-http-rule gcloud compute firewall-rules delete fw-allow-ssh gcloud compute networks delete httplbs
8. Gratulacje!
Udało Ci się ukończyć Codelab dotyczący zewnętrznego systemu równoważenia obciążenia HTTP(S) z zaawansowanym zarządzaniem ruchem (Envoy).
Omówione zagadnienia
- Jak skonfigurować zarządzaną grupę instancji oraz powiązane z nią reguły zapory sieciowej VPC
- Jak korzystać z zaawansowanych funkcji zarządzania ruchem w nowym systemie równoważenia obciążenia
- Jak sprawdzić, czy zaawansowane funkcje zarządzania ruchem działają zgodnie z oczekiwaniami.
Dalsze kroki
- Wypróbuj inne zaawansowane funkcje routingu, takie jak przepisywanie adresów URL, dodawanie nagłówków CORS i wiele innych ( link).