1. Wprowadzenie
Równoważenie obciążenia HTTP(S) w Google Cloud jest wdrażane na brzegu sieci Google w punktach dostępowych Google na całym świecie. Ruch użytkowników kierowany do systemu równoważenia obciążenia HTTP(S) trafia do punktu dostępu najbliższego użytkownikowi, a następnie obciążenie jest równoważone w globalnej sieci Google do najbliższego backendu, który ma wystarczającą wydajność.
Cloud Armor to system wykrywania ataków typu DDoS i zapora sieciowa aplikacji internetowych (WAF) od Google. Cloud Armor jest ściśle powiązany z systemem równoważenia obciążenia HTTP Google Cloud i umożliwia sprawdzanie ruchu przychodzącego pod kątem niechcianych żądań. Funkcja ograniczania liczby żądań tej usługi umożliwia ograniczanie ruchu do zasobów backendu na podstawie liczby żądań i zapobiega zużywaniu zasobów w sieci VPC (prywatnego środowiska wirtualnego w chmurze) przez niepożądany ruch.
W tym module skonfigurujesz system równoważenia obciążenia HTTP z backendami globalnymi, tak jak to widać na schemacie poniżej. Następnie przeprowadzisz test obciążeniowy systemu równoważenia obciążenia i dodasz zasadę ograniczania liczby żądań Cloud Armor, aby ograniczyć ruch docierający do zasobów backendu.

Czego się nauczysz
- Jak skonfigurować system równoważenia obciążenia HTTP z odpowiednimi kontrolami stanu.
- Jak utworzyć zasadę ograniczania liczby żądań Cloud Armor.
- Jak sprawdzić, czy zasady ograniczania liczby żądań blokują ruch podczas testu obciążeniowego przeprowadzanego na maszynie wirtualnej.
Czego potrzebujesz
- Podstawowa znajomość sieci i protokołu HTTP
- Podstawowa znajomość wiersza poleceń w systemach Unix i Linux
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 ani Google Workspace, musisz je utworzyć.



- Nazwa projektu to wyświetlana nazwa uczestników tego projektu. Jest to ciąg znaków, który nie jest używany przez interfejsy API Google. Możesz go w dowolnym momencie zaktualizować.
- Identyfikator projektu musi być unikalny we wszystkich projektach Google Cloud i jest niezmienny (nie można go zmienić po ustawieniu). Konsola Cloud automatycznie generuje unikalny ciąg znaków. Zwykle nie musisz się nim przejmować. W większości modułów z kodem musisz odwoływać się do identyfikatora projektu (zwykle oznaczanego jako
PROJECT_ID). Jeśli Ci się nie podoba, wygeneruj inny losowy identyfikator lub spróbuj użyć własnego i sprawdź, czy jest dostępny. Po utworzeniu projektu jest on „zamrażany”. - Istnieje też trzecia wartość, czyli numer projektu, którego używają niektóre interfejsy API. Więcej informacji o tych 3 wartościach znajdziesz w dokumentacji.
- Następnie musisz włączyć płatności w konsoli Cloud, aby korzystać z zasobów i interfejsów API Google Cloud. Ukończenie tego laboratorium nie powinno wiązać się z dużymi kosztami, a nawet z żadnymi. Aby wyłączyć zasoby i uniknąć naliczenia opłat po zakończeniu tego samouczka, postępuj zgodnie z instrukcjami „czyszczenia” na końcu ćwiczenia. Nowi użytkownicy Google Cloud mogą skorzystać z bezpłatnego okresu próbnego, w którym mają do dyspozycji środki w wysokości 300 USD.
Uruchamianie Cloud Shell
Z Google Cloud można korzystać zdalnie na laptopie, ale w tym module praktycznym będziesz używać Google Cloud Shell, czyli środowiska wiersza poleceń działającego w chmurze.
W konsoli GCP kliknij ikonę Cloud Shell na pasku narzędzi w prawym górnym rogu:

Uzyskanie dostępu do środowiska i połączenie się z nim powinno 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 również stały katalog domowy o pojemności 5 GB i działa w Google Cloud, co znacznie zwiększa wydajność sieci i usprawnia proces uwierzytelniania. Wszystkie zadania w tym module możesz wykonać w przeglądarce.
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. Konfigurowanie reguł zapory sieciowej, które zezwalają na ruch HTTP do backendów
Skonfiguruj reguły zapory sieciowej tak, aby przepuszczała ruch HTTP do backendów z kontroli stanu Google Cloud i systemu równoważenia obciążenia.
Będziemy używać domyślnej sieci VPC utworzonej w Twoim projekcie. Utwórz regułę zapory sieciowej, która umożliwi ruch HTTP do backendów. Kontrola stanu wskazuje instancje systemu równoważenia obciążenia, które mogą otrzymywać nowe połączenia. Do równoważenia obciążenia HTTP kontrola stanu sonduje Twoje instancje o zrównoważonym obciążeniu, które pochodzą z adresów w zakresach: 130.211.0.0/22 i 35.191.0.0/16. Twoje reguły zapory sieciowej VPC muszą przepuszczać te połączenia. Systemy równoważenia obciążenia komunikują się z backendem w tym samym zakresie adresów IP.
- W konsoli Google Cloud otwórz menu nawigacyjne (
) i kliknij Sieć VPC > Zapora sieciowa.

- Zwróć uwagę na istniejące reguły zapory sieciowej dotyczące ICMP, ruchu wewnętrznego, RDP i SSH.Każdy projekt w chmurze Google Cloud rozpoczyna się od sieci default (domyślnej) i tych reguł zapory sieciowej.
- Kliknij Utwórz regułę zapory sieciowej.
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Nazwa | default-allow-health-check |
Sieć | default |
Cele | Określone tagi docelowe |
Tagi docelowe | http-server |
Filtr źródeł | Zakresy adresów IP |
Zakresy źródłowych IP | 130.211.0.0/22, 35.191.0.0/16 |
Protokoły i porty | Określone protokoły i porty, a następnie zaznacz tcp |
- Kliknij Utwórz.
Możesz też użyć wiersza poleceń gcloud. Oto polecenie:
gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=http-server
4. Konfigurowanie szablonów instancji i tworzenie zarządzanych grup instancji
Zarządzana grupa instancji używa szablonu do utworzenia grupy jednakowych instancji. Korzystając z nich, utwórz backendy systemu równoważenia obciążenia HTTP.
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 po 1 szablonie instancji dla regionów us-east1 i europe-west1.
- W konsoli Cloud wybierz menu nawigacyjne (
) > Compute Engine > Szablony instancji, a następnie kliknij Utwórz szablon instancji. - W polu Nazwa wpisz us-east1-template.
- W polu Seria wybierz N1.
- Kliknij Sieć, dyski, zabezpieczenia, zarządzanie , jedyny najemca.

- Otwórz sekcję Zarządzanie.

- W sekcji Metadane kliknij Dodaj element i podaj:
Klucz | Wartość |
startup-script-url | gs://cloud-training/gcpnet/httplb/startup.sh |
- Kliknij Sieci.
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Sieć (w sekcji Interfejsy sieci) | domyślna |
Podsieć (w sekcji Interfejsy sieci) | default (us-east1) |
Tagi sieci | http-server |
- Kliknij Utwórz.
- Poczekaj, aż szablon instancji zostanie utworzony.
Teraz utwórz kolejny szablon instancji dla subnet-b, kopiując us-east1-template:
- Kliknij us-east1-template, a następnie u góry kliknij opcję Kopiuj.
- W polu Nazwa wpisz europe-west1-template.
- Kliknij Sieć, dyski, zabezpieczenia, zarządzanie , jedyny najemca.
- Kliknij Sieci.
- W sekcji Interfejsy sieci edytuj domyślny interfejs. Jako Podsieć wybierz default (europe-west1).
- Kliknij Utwórz.
Tworzenie zarządzanych grup instancji
Utwórz zarządzaną grupę instancji w us-east1 i kolejną w europe-west1.
- Będąc na stronie Compute Engine, w menu po lewej stronie kliknij Grupy instancji.

- Kliknij Utwórz grupę instancji. Wybierz Nowa zarządzana grupa instancji (bezstanowa).
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Nazwa | us-east1-mig |
Lokalizacja | Wiele stref |
Region | us-east4 |
Szablon instancji | us-east1-template |
Autoskalowanie > Zasady autoskalowania > Kliknij ikonę ołówka > Typ wskaźnika | Wykorzystanie procesora |
Docelowe wykorzystanie procesora | 80, kliknij Gotowe. |
Okres oczekiwania | 45 |
Minimalna liczba instancji | 1 |
Maksymalna liczba instancji | 5 |
- Kliknij Utwórz.
Teraz powtórz te kroki, by utworzyć drugą grupę instancji dla europe-west1-mig w europe-west1:
- Kliknij Utwórz grupę instancji.
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Nazwa | europe-west1-mig |
Lokalizacja | Wiele stref |
Region | europe-west1 |
Szablon instancji | europe-west1-template |
Autoskalowanie > Zasady autoskalowania > Kliknij ikonę ołówka > Typ wskaźnika | Wykorzystanie procesora |
Docelowe wykorzystanie procesora | 80, kliknij Gotowe. |
Okres oczekiwania | 45 |
Minimalna liczba instancji | 1 |
Maksymalna liczba instancji | 5 |
- Kliknij Utwórz.
5. Konfigurowanie systemu równoważenia obciążenia HTTP
Skonfiguruj system równoważenia obciążenia HTTP, aby zrównoważyć ruch między dwoma backendami (us-east1-mig w us-east1 i europe-west1-mig w europe-west1), tak jak na tym schemacie sieci:

Rozpoczynanie konfiguracji
- W konsoli Cloud kliknij Menu nawigacyjne (
) > Usługi sieciowe > Równoważenie obciążenia, a następnie Utwórz system równoważenia obciążenia. - W sekcji Równoważenie obciążenia HTTP(S) kliknij Rozpocznij konfigurację.

- Wybierz Z internetu do moich maszyn wirtualnych, Klasyczny system równoważenia obciążenia HTTP(S) i kliknij Dalej.
- W polu Nazwa wpisz http-lb.
Konfigurowanie backendu
Usługi backendu kierują ruch przychodzący do co najmniej jednego z podłączonych backendów. Każdy backend składa się z grupy instancji i metadanych dotyczących dodatkowej obsługiwanej przepustowości.
- Kliknij Konfiguracja backendu.
- W obszarze Usługi backendu i zasobniki backendu kliknij Utwórz usługę backendu.
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wybierz podaną opcję) |
Nazwa | http-backend |
Grupa instancji | us-east1-mig |
Numery portów | 80 |
Tryb równoważenia | Częstotliwość żądań |
Maksymalna liczba żądań/s | 50 (na instancję) |
Rozmiar | 100 |
- Kliknij Gotowe.
- Kliknij Dodaj backend.
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wybierz podaną opcję) |
Grupa instancji | europe-west1-mig |
Numery portów | 80 |
Tryb równoważenia | Wykorzystanie |
Maksymalne wykorzystanie backendu | 80 |
Rozmiar | 100 |
- Kliknij Gotowe.
- W obszarze Kontrola stanu wybierz Utwórz kontrolę stanu.

- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wybierz podaną opcję) |
Nazwa | http-health-check |
Protokół | TCP |
Port | 80 |

- Kliknij Zapisz.
- Zaznacz pole Włącz logowanie.
- Ustaw Częstotliwość próbkowania na 1:

- Kliknij Utwórz, aby utworzyć usługę backendu.

Konfigurowanie frontendu
Reguły hostów i ścieżek określają, w jaki sposób będzie kierowany ruch. Możesz na przykład skierować ruch wideo do jednego backendu, a ruch statyczny do innego. W tym module nie konfigurujesz jednak reguł hostów i ścieżek.
- Kliknij Konfiguracja frontendu.
- Określ te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Protokół | HTTP |
Wersja IP | IPv4 |
Adres IP | Efemeryczny |
Port | 80 |
- Kliknij Gotowe.
- Kliknij Dodaj adres IP i port frontendu.
- Określ te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Protokół | HTTP |
Wersja IP | IPv6 |
Adres IP | Efemeryczny |
Port | 80 |
- Kliknij Gotowe.
Przeglądanie i tworzenie wewnętrznego systemu równoważenia obciążenia
- Kliknij Przejrzyj i zakończ.

- Przejrzyj Usługi backendu i Frontend.

- Kliknij Utwórz.
- Poczekaj, aż system równoważenia obciążenia zostanie utworzony.
- Kliknij nazwę systemu równoważenia obciążenia (http-lb).
- Zapisz adresy IPv4 i IPv6 systemu równoważenia obciążenia – przydadzą się do następnego zadania. Będą oznaczone odpowiednio jako [LB_IP_v4] i [LB_IP_v6].
6. Testowanie systemu równoważenia obciążenia HTTP
Masz już system równoważenia obciążenia HTTP dla swoich backendów. Sprawdź teraz, czy ruch jest przekierowywany do usługi backendu.
Uzyskiwanie dostępu do systemu równoważenia obciążenia HTTP
Aby przetestować dostęp adresu IPv4 do systemu równoważenia obciążenia, otwórz nową kartę w przeglądarce i wejdź na stronę http://[LB_IP_v4]. Pamiętaj, aby zastąpić [LB_IP_v4] adresem IPv4 systemu równoważenia obciążenia.
Jeśli masz lokalny adres IPv6, wypróbuj adres IPv6 systemu równoważenia obciążenia HTTP, wchodząc na stronę http://[LB_IP_v6]. Pamiętaj, aby zastąpić [LB_IP_v6] adresem IPv6 systemu równoważenia obciążenia.

Testowanie systemu równoważenia obciążenia w warunkach skrajnych
Utwórz nową maszynę wirtualną, aby symulować obciążenie systemu równoważenia obciążenia HTTP przy użyciu narzędzia siege. Następnie, gdy obciążenie będzie wysokie, sprawdź, czy ruch pomiędzy oboma backendami jest zrównoważony.
- W konsoli wybierz Menu nawigacyjne (
) > Compute Engine > Instancje maszyn wirtualnych. - Kliknij Utwórz instancję.
- Ustaw te wartości, a wszystkie inne pozostaw domyślne:
Właściwość | Wartość (wpisz podaną wartość lub wybierz podaną opcję) |
Nazwa | siege-vm |
Region | us-west1 |
Strefa | us-west1-c |
Serie | N1 |
- Kliknij Utwórz.
- Poczekaj na utworzenie instancji siege-vm.
- Przy maszynie wirtualnej siege-vm kliknij SSH, aby włączyć terminal i się połączyć.
- Uruchom następujące polecenie, aby zainstalować siege:
sudo apt-get -y install siege
- Aby przechowywać adres IPv4 systemu równoważenia obciążenia HTTP w zmiennej środowiskowej, uruchom następujące polecenie, zastępując [LB_IP_v4] adresem IPv4:
export LB_IP=[LB_IP_v4]
- Aby przeprowadzić symulację obciążenia, uruchom następujące polecenie:
siege -c 250 http://$LB_IP
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykład):
New configuration template added to /home/student/.siege Run siege -C to view the current settings in that file ** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- W konsoli Cloud kliknij Menu nawigacyjne (
), a następnie Usługi sieciowe > Równoważenie obciążenia. - Kliknij http-lb.
- Kliknij kartę Monitorowanie. Przez 2–3 minuty monitoruj ruch między Ameryką Północną a dwoma backendami.
Najpierw ruch powinien zostać skierowany do us-east1-mig, ale przy wzroście liczby żądań na sekundę powinien zostać skierowany również do europe-west1-mig.

Pokazuje to, że domyślnie ruch jest przekierowywany do najbliższego backendu, ale jeśli obciążenie jest bardzo wysokie, może być rozprowadzany między backendami.

- Wróć do terminala SSH instancji siege-vm.
- Naciśnij CTRL+C, by zatrzymać siege.
7. Tworzenie zasad ograniczania liczby żądań w Cloud Armor
W tej sekcji użyjesz Cloud Armor, aby uniemożliwić siege-vm dostęp do systemu równoważenia obciążenia HTTP przez skonfigurowanie zasady ograniczania liczby żądań.
- W Cloud Shell(instrukcje korzystania z Cloud Shell znajdziesz w sekcji „Uruchamianie Cloud Shell” w artykule „Konfiguracja i wymagania”) utwórz zasady zabezpieczeń za pomocą gcloud:
gcloud compute security-policies create rate-limit-siege \
--description "policy for rate limiting"
- Następnie dodaj regułę ograniczania liczby żądań:
gcloud beta compute security-policies rules create 100 \
--security-policy=rate-limit-siege \
--expression="true" \
--action=rate-based-ban \
--rate-limit-threshold-count=50 \
--rate-limit-threshold-interval-sec=120 \
--ban-duration-sec=300 \
--conform-action=allow \
--exceed-action=deny-404 \
--enforce-on-key=IP
- Dołącz zasadę zabezpieczeń do usługi backendu http-backend:
gcloud compute backend-services update http-backend \
--security-policy rate-limit-siege –-global
- W konsoli wybierz menu nawigacyjne > Bezpieczeństwo sieciowe > Cloud Armor.
- Click rate-limit-siege. Twoja polityka powinna wyglądać mniej więcej tak:

Sprawdzanie zasady zabezpieczeń
- Wróć do terminala SSH instancji siege-vm.
- Uruchom polecenie curl na adresie IP modułu równoważenia obciążenia, aby sprawdzić, czy nadal możesz się z nim połączyć. Powinna pojawić się odpowiedź 200.
curl http://$LB_IP
- Aby przeprowadzić symulację obciążenia, wróć do terminala SSH instancji siege-vm i uruchom to polecenie:
siege -c 250 http://$LB_IP
Dane wyjściowe powinny wyglądać mniej więcej tak (nie kopiuj ich; to tylko przykład):
** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- Sprawdź logi zasad zabezpieczeń, by określić, czy ruch również jest blokowany.
- W konsoli wybierz Menu nawigacyjne > Bezpieczeństwo sieciowe > Cloud Armor.
- Kliknij rate-limit-siege.
- Kliknij Logi.

- Kliknij Wyświetl logi zasad.
- Na stronie Logowanie usuń cały tekst w polu Podgląd zapytań.
- Ustaw zasób na System równoważenia obciążenia HTTP Cloud > http-lb-forwarding-rule > http-lb i kliknij Dodaj. Poniżej znajdziesz zapytanie w języku MQL(monitoring query language), które możesz skopiować i wkleić do edytora zapytań:
resource.type="http_load_balancer" resource.labels.forwarding_rule_name="http-lb-forwarding-rule" resource.labels.url_map_name="http-lb"
- Teraz kliknij Uruchom.
- Rozwiń wpis logu w sekcji Wyniki zapytania.
- Rozwiń httpRequest. Żądanie powinno pochodzić z adresu IP instancji siege-vm. Jeśli tak nie jest, rozwiń kolejny wpis logu.
- Rozwiń jsonPayload.
- Rozwiń enforcedSecurityPolicy.

Zwróć uwagę, że skonfigurowane działanie ma wartość RATE_BASED_BAN, a nazwa to rate-limit-siege.
- Dodatkowo w menu nawigacyjnym (
) kliknij Usługi sieciowe > Równoważenie obciążenia. Kliknij http-lb. Kliknij kartę Monitorowanie.

Na wykresach możesz zobaczyć ruch związany z oblężeniem. Zauważysz też, że ruch objęty ograniczeniem szybkości nie dociera do backendu i jest blokowany przez zasady Cloud Armor.
Gratulacje! Udało Ci się ukończyć to ćwiczenie dotyczące ograniczania liczby żądań za pomocą Cloud Armor.
©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.
8. Zwalnianie miejsca w module
- Otwórz Bezpieczeństwo sieciowe >> Cloud Armor >> %POLICY NAME% i kliknij Usuń.

- Otwórz Sieć >> Usługi sieciowe >> Równoważenie obciążenia. Wybierz utworzony system równoważenia obciążenia i kliknij Usuń.

Wybierz usługę backendu i kontrolę stanu jako dodatkowe zasoby do usunięcia:

- Otwórz Menu nawigacyjne (
) > Compute Engine > Grupy instancji. Wybierz obie zarządzane grupy instancji i kliknij Usuń:

Potwierdź usunięcie, wpisując w polu tekstowym słowo „delete”.
Poczekaj, aż zarządzane grupy instancji zostaną usunięte. Spowoduje to też usunięcie instancji w grupie. Szablony możesz usunąć dopiero po usunięciu grupy instancji.
- W panelu po lewej stronie otwórz Szablony instancji**.** Wybierz oba szablony instancji i kliknij Usuń:

- W panelu po lewej stronie otwórz Instancje maszyn wirtualnych. Kliknij wielokropek obok instancji siege-vm i kliknij Usuń.

- Otwórz Menu nawigacyjne (
) > Sieć VPC > Zapora sieciowa. Wybierz default-allow-health-check i kliknij Usuń:

9. Gratulacje!
Udało Ci się wdrożyć ograniczanie liczby żądań za pomocą Cloud Armor. Skonfigurowaliśmy system równoważenia obciążenia HTTP z backendami w regionach us-east1 i europe-west1. Następnie przetestowaliśmy system równoważenia obciążenia w warunkach skrajnych przy użyciu maszyny wirtualnej i umieściliśmy na liście odrzuconych adres IP za pomocą ograniczania liczby żądań w Cloud Armor. Udało Ci się też sprawdzić logi zasad zabezpieczeń, aby określić, dlaczego ruch był blokowany.
Omówione zagadnienia
- Jak skonfigurować szablony instancji i utworzyć zarządzane grupy instancji.
- Jak skonfigurować system równoważenia obciążenia HTTP.
- Jak utworzyć zasadę ograniczania liczby żądań Cloud Armor.
- Jak sprawdzić, czy zasady ograniczania liczby żądań działają prawidłowo.
Dalsze kroki
- Spróbuj skonfigurować zasady ograniczania liczby żądań na podstawie zakresu źródłowych adresów IP. Przykładowe polecenie poniżej:
gcloud alpha compute security-policies rules create 105 \
--security-policy sec-policy \
--src-ip-ranges "1.2.3.0/24" \
--action throttle \
--rate-limit-threshold-count 100 \
--rate-limit-threshold-interval-sec 60 \
--conform-action allow \
--exceed-action deny-429 \
--enforce-on-key IP
- Spróbuj skonfigurować zasady ograniczania liczby żądań na podstawie kodu regionu. Przykładowe polecenie poniżej:
gcloud alpha compute security-policies rules create 101 \
--security-policy sec-policy \
--expression "origin.region_code == 'US'" \
--action rate-based-ban \
--rate-limit-threshold-count 10 \
--rate-limit-threshold-interval-sec 60 \
--ban-duration-sec 300 \
--ban-threshold-count 1000 \
--ban-threshold-interval-sec 600 \
--conform-action allow \
--exceed-action deny-403 \
--enforce-on-key IP