1. Einführung
Das HTTP(S)-Load-Balancing von Google Cloud wird an den weltweiten Edges des Google-Netzwerks in seinen Points of Presence (POPs) bereitgestellt. Der an einen HTTP(S) Load Balancer geleitete Nutzertraffic gelangt in den POP, der dem Nutzer am nächsten liegt, und wird dann über das globale Google-Netzwerk auf das nächstgelegene Backend mit ausreichender Kapazität verteilt.
Cloud Armor ist das DDoS-Erkennungssystem (Distributed Denial of Service) und die Web Application Firewall (WAF) von Google. Cloud Armor ist eng mit dem Google Cloud HTTP-Load-Balancer verknüpft und ermöglicht es Ihnen, eingehenden Traffic auf unerwünschte Anfragen zu untersuchen. Mit der Ratenbegrenzungsfunktion dieses Dienstes können Sie den Traffic zu Backend-Ressourcen basierend auf dem Anfragevolumen einschränken und verhindern, dass unerwünschter Traffic Ressourcen in Ihrem VPC-Netzwerk (Virtual Private Cloud) verbraucht.
In diesem Lab konfigurieren Sie einen im folgenden Diagramm dargestellten HTTP Load Balancer mit globalen Backends. Anschließend führen Sie einen Stresstest für den Load Balancer durch und fügen eine Cloud Armor-Richtlinie zur Ratenbegrenzung hinzu, um den Traffic zu Ihren Back-End-Ressourcen zu begrenzen.

Lerninhalte
- HTTP-Load-Balancer mit entsprechenden Systemdiagnosen einrichten
- So erstellen Sie eine Cloud Armor-Richtlinie zur Ratenbegrenzung.
- So prüfen Sie, ob die Richtlinie zur Ratenbegrenzung Traffic blockiert, wenn Sie einen Stresstest von einer VM aus ausführen.
Voraussetzungen
- Grundkenntnisse in den Bereichen Netzwerk und HTTP
- Grundkenntnisse zu Unix/Linux-Befehlszeilen
2. Einrichtung und Anforderungen
Umgebung zum selbstbestimmten Lernen einrichten
- Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.



- Der Projektname ist der Anzeigename für die Teilnehmer dieses Projekts. Es handelt sich um einen String, der nicht von Google APIs verwendet wird und den Sie jederzeit aktualisieren können.
- Die Projekt-ID muss für alle Google Cloud-Projekte eindeutig sein und ist unveränderlich (kann nach der Festlegung nicht mehr geändert werden). In der Cloud Console wird automatisch ein eindeutiger String generiert. Normalerweise ist es nicht wichtig, wie dieser aussieht. In den meisten Codelabs müssen Sie auf die Projekt-ID verweisen (die in der Regel als
PROJECT_IDangegeben wird). Wenn Ihnen die ID nicht gefällt, können Sie eine andere zufällige ID generieren oder eine eigene ID ausprobieren und sehen, ob sie verfügbar ist. Nachdem das Projekt erstellt wurde, wird es „eingefroren“. - Es gibt einen dritten Wert, die Projektnummer, die von einigen APIs verwendet wird. Weitere Informationen zu diesen drei Werten
- Als Nächstes müssen Sie die Abrechnung in der Cloud Console aktivieren, um Cloud-Ressourcen/-APIs verwenden zu können. Die Durchführung dieses Codelabs sollte keine oder nur geringe Kosten verursachen. Wenn Sie Ressourcen herunterfahren möchten, damit nach Abschluss dieses Codelabs keine Gebühren anfallen, folgen Sie den Bereinigungsanweisungen am Ende des Codelabs. Neue Nutzer von Google Cloud kommen für das Programm für kostenlose Testversionen mit einem Guthaben von 300$ infrage.
Cloud Shell starten
Während Sie Google Cloud von Ihrem Laptop aus per Fernzugriff nutzen können, wird in diesem Codelab Google Cloud Shell verwendet, eine Befehlszeilenumgebung, die in der Cloud ausgeführt wird.
Klicken Sie in der GCP Console oben rechts in der Symbolleiste auf das Cloud Shell-Symbol:

Die Bereitstellung und Verbindung mit der Umgebung sollte nur wenige Augenblicke dauern. Anschließend sehen Sie in etwa Folgendes:

Diese virtuelle Maschine verfügt über sämtliche Entwicklertools, die Sie benötigen. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud, was die Netzwerkleistung und Authentifizierung erheblich verbessert. Für dieses Lab benötigen Sie lediglich einen Browser.
Hinweis
Prüfen Sie in Cloud Shell, ob Ihre Projekt-ID eingerichtet ist.
gcloud config list project gcloud config set project [YOUR-PROJECT-NAME] PROJECT_ID=[YOUR-PROJECT-NAME] echo $PROJECT_ID
APIs aktivieren
Alle erforderlichen Dienste aktivieren
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com
3. Firewallregeln konfigurieren, um HTTP-Traffic zu Back-Ends zuzulassen
Konfigurieren Sie Firewallregeln, um HTTP-Traffic zu den Backends von den Google Cloud-Systemdiagnosen und dem Load-Balancer zuzulassen.
Wir verwenden das in Ihrem Projekt erstellte Standard-VPC-Netzwerk. Erstellen Sie eine Firewallregel, um HTTP-Traffic an die Backends zuzulassen. Mit Systemdiagnosen wird ermittelt, zu welchen Instanzen eines Load Balancers neue Verbindungen aufgebaut werden können. Beim HTTP Load Balancing werden die Systemdiagnosetests für Ihre Instanzen mit Load Balancing über Adressen in den Bereichen 130.211.0.0/22 und 35.191.0.0/16 durchgeführt. Ihre VPC-Firewallregeln müssen diese Verbindungen zulassen. Außerdem kommunizieren die Load-Balancer mit dem Back-End über denselben IP-Bereich.
- Öffnen Sie in der Cloud Console das Navigationsmenü (
) und klicken Sie dann auf VPC‑Netzwerk > Firewall.

- Sie sehen die folgenden Firewallregeln: ICMP, internal, RDP und SSH.Jedes Google Cloud-Projekt startet mit dem Netzwerk default und diesen Firewallregeln.
- Klicken Sie auf Firewallregel erstellen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Name | default-allow-health-check |
Netzwerk | Standard |
Ziele | Angegebene Ziel-Tags |
Ziel-Tags | http-server |
Quellfilter | IP-Bereiche |
Quell-IP-Bereiche | 130.211.0.0/22, 35.191.0.0/16 |
Protokolle und Ports | Angegebene Protokolle und Ports, klicken Sie dann auf das Kästchen neben „tcp“ |
- Klicken Sie auf Erstellen.
Alternativ können Sie die gcloud-Befehlszeile verwenden. Unten sehen Sie den Befehl:
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. Instanzvorlagen konfigurieren und verwaltete Instanzgruppen erstellen
Mit einer Instanzvorlage kann in einer verwalteten Instanzgruppe eine Gruppe identischer Instanzen eingerichtet werden. Erstellen Sie damit die Backends des HTTP Load Balancers.
Instanzvorlagen konfigurieren
Eine Instanzvorlage ist eine API-Ressource, mit der Sie VM-Instanzen und verwaltete Instanzgruppen erstellen können. In Instanzvorlagen sind Maschinentyp, Abbild des Bootlaufwerks, Subnetz, Labels und andere Instanzattribute definiert. Erstellen Sie eine Instanzvorlage für us-east1 und eine weitere für europe-west1.
- Öffnen Sie in der Cloud Console das Navigationsmenü (
) > Compute Engine > Instanzvorlagen und klicken Sie dann auf Instanzvorlage erstellen. - Geben Sie us-east1-template bei Name ein.
- Wählen Sie unter Serie die Option N1 aus.
- Klicken Sie auf Netzwerk, Laufwerke, Sicherheit, Verwaltung , einzelne Mandanten.

- Gehen Sie zum Abschnitt Verwaltung:

- Klicken Sie unter Metadaten auf Element hinzufügen und geben Sie Folgendes an:
Key | Wert |
startup-script-url | gs://cloud-training/gcpnet/httplb/startup.sh |
- Klicken Sie auf Netzwerke.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Netzwerk (unter „Netzwerkschnittstellen“) | Standard |
Subnetz (unter „Netzwerkschnittstellen“) | default (us-east1) |
Netzwerktags | http-server |
- Klicken Sie auf Erstellen.
- Warten Sie, bis die Instanzvorlage erstellt wurde.
Erstellen Sie nun eine weitere Instanzvorlage für subnet-b. Kopieren Sie hierfür die Vorlage us-east1-template.
- Klicken Sie auf us-east1-template und dann oben auf die Option Kopieren.
- Geben Sie europe-west1-template bei Name ein.
- Klicken Sie auf Netzwerk, Laufwerke, Sicherheit, Verwaltung , einzelne Mandanten.
- Klicken Sie auf Netzwerke.
- Bearbeiten Sie unter Netzwerkschnittstellen die Standardschnittstelle. Wählen Sie für Subnetz die Option default (europe-west1) aus.
- Klicken Sie auf Erstellen.
Verwaltete Instanzgruppen erstellen
Erstellen Sie eine verwaltete Instanzgruppe in us-east1 und eine weitere in europe-west1.
- Klicken Sie unter Compute Engine im Menü auf der linken Seite auf Instanzgruppen.

- Klicken Sie auf Instanzgruppe erstellen. Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Name | us-east1-mig |
Standort | Mehrere Zonen |
Region | us-east1 |
Instanzvorlage | us-east1-template |
„Autoscaling“ > „Autoscaling-Richtlinie“ > auf das Stiftsymbol klicken > „Messwerttyp“ | CPU-Auslastung |
CPU-Zielauslastung | 80, klicken Sie auf „Fertig“. |
Wartezeit | 45 |
Mindestanzahl von Instanzen | 1 |
Maximale Anzahl von Instanzen | 5 |
- Klicken Sie auf Erstellen.
Wiederholen Sie den Vorgang jetzt, um in europe-west1 eine zweite Instanzgruppe für europe-west1-mig zu erstellen:
- Klicken Sie auf Instanzgruppe erstellen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Name | europe-west1-mig |
Ort | Mehrere Zonen |
Region | europe-west1 |
Instanzvorlage | europe-west1-template |
„Autoscaling“ > „Autoscaling-Richtlinie“ > auf das Stiftsymbol klicken > „Messwerttyp“ | CPU-Auslastung |
CPU-Zielauslastung | 80, klicken Sie auf „Fertig“. |
Wartezeit | 45 |
Mindestanzahl von Instanzen | 1 |
Maximale Anzahl von Instanzen | 5 |
- Klicken Sie auf Erstellen.
5. HTTP Load Balancer konfigurieren
Konfigurieren Sie den HTTP-Load-Balancer, damit Traffic zwischen den beiden Back-Ends (us-east1-mig in us-east1 und europe-west1-mig in europe-west1) ausgeglichen wird, wie im folgenden Diagramm gezeigt:

Konfiguration starten
- Klicken Sie in der Cloud Console auf das Navigationsmenü (
) > Netzwerkdienste > Load-Balancing > Load-Balancer erstellen. - Klicken Sie unter HTTP(S) Load Balancing (HTTP(S)-Load-Balancing) auf Start configuration (Konfiguration starten).

- Wählen Sie Vom Internet zu meinen VMs und Klassischer HTTP(S)-Load Balancer aus und klicken Sie auf Weiter.
- Legen Sie als Name „http-lb“ fest.
Backend konfigurieren
Backend-Dienste leiten eingehenden Traffic an ein oder mehrere verknüpfte Backends weiter. Jedes Backend besteht aus einer Instanzgruppe und zusätzlichen Metadaten zur Kapazität.
- Klicken Sie auf Backend-Konfiguration.
- Klicken Sie unter Backend-Dienste und Backend-Buckets auf Backend-Dienst erstellen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:
Attribut | Wert (Option auswählen) |
Name | http-backend |
Instanzgruppe | us-east1-mig |
Portnummern | 80 |
Balancing-Modus | Rate |
Maximale Anzahl der Anfragen pro Sekunde | 50 (pro Instanz) |
Kapazität | 100 |
- Klicken Sie auf Fertig.
- Klicken Sie auf Backend hinzufügen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Option auswählen) |
Instanzgruppe | europe-west1-mig |
Portnummern | 80 |
Balancing-Modus | Auslastung |
Maximale Backend-Auslastung | 80 |
Kapazität | 100 |
- Klicken Sie auf Fertig.
- Klicken Sie unter Systemdiagnose auf Systemdiagnose erstellen.

- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Option auswählen) |
Name | http-health-check |
Protokoll | TCP |
Port | 80 |

- Klicken Sie auf Speichern.
- Klicken Sie auf das Kästchen für Logging aktivieren.
- Legen Sie die Stichprobenrate auf 1 fest:

- Klicken Sie auf Erstellen, um den Backend-Dienst zu erstellen.

Frontend konfigurieren
Host- und Pfadregeln bestimmen, wohin Ihr Traffic weitergeleitet wird. Sie könnten beispielsweise Traffic, der durch Videos entsteht, an ein Backend weiterleiten und Traffic, der aus statischen Daten entsteht, an ein anderes Backend. Allerdings konfigurieren wir in diesem Lab keine Host- und Pfadregeln.
- Klicken Sie auf Frontend-Konfiguration.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellungen:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Protokoll | HTTP |
IP-Version | IPv4 |
IP-Adresse | Sitzungsspezifisch |
Port | 80 |
- Klicken Sie auf Fertig.
- Klicken Sie auf Frontend-IP-Adresse und -Port hinzufügen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellungen:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Protokoll | HTTP |
IP-Version | IPv6 |
IP-Adresse | Sitzungsspezifisch |
Port | 80 |
- Klicken Sie auf Fertig.
HTTP-Load-Balancer prüfen und erstellen
- Klicken Sie auf Prüfen und abschließen.

- Prüfen Sie die Backend-Dienste und das Frontend.

- Klicken Sie auf Erstellen.
- Warten Sie, bis der Load Balancer erstellt ist.
- Klicken Sie auf den Namen des Load Balancers (http-lb).
- Sehen Sie sich für die nächste Aufgabe die IPv4- und IPv6-Adressen des Load Balancers an. Sie werden als [LB_IP_v4] und [LB_IP_v6] bezeichnet.
6. HTTP Load Balancer testen
Nachdem Sie einen HTTP Load Balancer für Ihre Backends erstellt haben, prüfen Sie nun, ob der Traffic über den Backend-Service weitergeleitet wird.
Auf den HTTP-Load-Balancer zugreifen
Öffnen Sie einen neuen Tab im Browser und rufen Sie http://[LB_IP_v4] auf, um den IPv4-Zugriff auf den HTTP Load Balancer zu testen. Ersetzen Sie [LB_IP_v4] durch die IPv4-Adresse des Load Balancers.
Wenn Sie eine lokale IPv6-Adresse haben, versuchen Sie die IP-Adresse des HTTP Load Balancers unter http://[LB_IP_v6] aufzurufen. Ersetzen Sie [LB_IP_v6] durch die IPv6-Adresse des Load Balancers.

Stresstest des HTTP-Load-Balancers durchführen
Erstellen Sie eine neue VM, um eine Last auf dem HTTP Load Balancer zu simulieren. Finden Sie dann heraus, ob der Traffic zwischen den beiden Back-Ends ausgeglichen wird, wenn die Last hoch ist.
- Öffnen Sie in der Console das Navigationsmenü (
) und klicken Sie dann auf Compute Engine > VM-Instanzen. - Klicken Sie auf Instanz erstellen.
- Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:
Attribut | Wert (Wert eingeben bzw. Option auswählen) |
Name | siege-vm |
Region | us-west1 |
Zone | us-west1-c |
Reihe | N1 |
- Klicken Sie auf Erstellen.
- Warten Sie, bis die Instanz siege-vm erstellt ist.
- Klicken Sie bei siege-vm auf SSH, um ein Terminal zu starten und eine Verbindung herzustellen.
- Führen Sie den folgenden Befehl aus, um „siege“ zu installieren:
sudo apt-get -y install siege
- Führen Sie den folgenden Befehl aus, um die IPv4-Adresse des HTTP Load Balancers in einer Umgebungsvariable zu speichern. Ersetzen Sie dabei [LB_IP_v4] durch die IPv4-Adresse:
export LB_IP=[LB_IP_v4]
- Führen Sie den folgenden Befehl aus, um eine Last zu simulieren:
siege -c 250 http://$LB_IP
Die Ausgabe sieht in etwa so aus (Beispielausgabe, bitte nicht kopieren):
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...
- Klicken Sie in der Cloud Console auf das Navigationsmenü (
), dann auf Netzwerkdienste > Load Balancing. - Klicken Sie auf http-lb.
- Klicken Sie auf den Tab Monitoring. Beobachten Sie zwei bis drei Minuten lang den Traffic zwischen Nordamerika und den beiden Back-Ends.
Zuerst sollte der Traffic nur an us-east1-mig weitergeleitet werden. Mit steigender Anzahl der Anfragen pro Sekunde wird der Traffic aber auch an europe-west1-mig weitergeleitet.

Sie sehen, dass der Traffic standardmäßig an das nächstgelegene Backend weitergeleitet wird. Wird der Traffic aber zu hoch, kann er über mehrere Backends verteilt werden.

- Kehren Sie zum SSH-Terminal von siege-vm zurück.
- Drücken Sie Strg + C, um "siege" zu stoppen.
7. Cloud Armor-Ratenbegrenzungsrichtlinie erstellen
In diesem Abschnitt verwenden Sie Cloud Armor, um den Zugriff von siege-vm auf den HTTP Load Balancer zu verweigern. Dazu legen Sie eine Richtlinie zur Ratenbegrenzung fest.
- Erstellen Sie in Cloud Shell(eine Anleitung zur Verwendung von Cloud Shell finden Sie unter Cloud Shell starten im Abschnitt Einrichtung und Anforderungen) eine Sicherheitsrichtlinie über gcloud:
gcloud compute security-policies create rate-limit-siege \
--description "policy for rate limiting"
- Fügen Sie als Nächstes eine Ratenbegrenzungsregel hinzu:
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
- Hängen Sie die Sicherheitsrichtlinie an den Back-End-Dienst „http-backend“ an:
gcloud compute backend-services update http-backend \
--security-policy rate-limit-siege –-global
- Öffnen Sie in der Console das Navigationsmenü. Klicken Sie auf Netzwerksicherheit und dann auf Cloud Armor.
- Klicken Sie auf rate-limit-siege. Ihre Richtlinie sollte in etwa so aussehen:

Sicherheitsrichtlinie prüfen
- Kehren Sie zum SSH-Terminal von siege-vm zurück.
- Führen Sie einen curl-Befehl für die IP-Adresse des Load Balancers aus, um zu prüfen, ob Sie sich noch damit verbinden können. Sie sollten eine 200-Antwort erhalten.
curl http://$LB_IP
- Führen Sie im SSH-Terminal von „siege-vm“ den folgenden Befehl aus, um eine Last zu simulieren:
siege -c 250 http://$LB_IP
Die Ausgabe sollte so aussehen (nicht kopieren, das ist eine Beispielausgabe):
** SIEGE 4.0.4 ** Preparing 250 concurrent users for battle. The server is now under siege...
- Untersuchen Sie die Protokolle der Sicherheitsrichtlinie, um festzustellen, ob dieser Traffic auch blockiert wird.
- Öffnen Sie in der Console das Navigationsmenü > Netzwerksicherheit > Cloud Armor.
- Klicken Sie auf rate-limit-siege.
- Klicken Sie auf Logs.

- Klicken Sie auf Richtlinienlogs ansehen.
- Löschen Sie auf der Logging-Seite unbedingt den gesamten Text der Abfragevorschau.
- Wählen Sie als Ressource Cloud-HTTP-Load Balancer > http-lb-forwarding-rule > http-lb aus und klicken Sie dann auf Hinzufügen. Alternativ können Sie die folgende MQL-Abfrage(Monitoring Query Language) kopieren und in den Abfrageeditor einfügen:
resource.type="http_load_balancer" resource.labels.forwarding_rule_name="http-lb-forwarding-rule" resource.labels.url_map_name="http-lb"
- Klicken Sie jetzt auf Abfrage ausführen.
- Maximieren Sie einen Logeintrag unter „Abfrageergebnisse“.
- Maximieren Sie httpRequest. Diese Anfrage sollte von der IP-Adresse von siege-vm stammen. Falls nicht, maximieren Sie einen anderen Logeintrag.
- Maximieren Sie „jsonPayload“.
- Maximieren Sie „enforcedSecurityPolicy“.

Beachten Sie, dass „configuredAction“ auf RATE_BASED_BAN mit dem Namen rate-limit-siege festgelegt ist.
- Klicken Sie zur zusätzlichen Überprüfung im Navigationsmenü (
) auf Netzwerkdienste > Load Balancing. Klicken Sie auf http-lb und dann auf den Tab Monitoring.

Sie können den Belagerungstraffic in den Grafiken sehen. Außerdem sehen Sie, dass der ratenbeschränkte Traffic das Back-End nicht erreicht und von der Cloud Armor-Richtlinie blockiert wird.
Das wars! Sie haben dieses Lab zur Ratenbegrenzung mit Cloud Armor abgeschlossen.
© 2020 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Firmen- und Produktnamen können Marken der betreffenden Unternehmen sein.
8. Lab bereinigen
- Rufen Sie Netzwerksicherheit >> Cloud Armor >> %POLICY NAME% auf und wählen Sie „Löschen“ aus:

- Klicken Sie auf Netzwerk >> Netzwerkdienste >> Load-Balancing. Wählen Sie den erstellten Load-Balancer aus und klicken Sie auf „Löschen“.

Wählen Sie den Back-End-Dienst und die Systemdiagnose als zusätzliche Ressourcen aus, die gelöscht werden sollen:

- Rufen Sie das Navigationsmenü (
) > Compute Engine > Instanzgruppen auf. Wählen Sie beide verwalteten Instanzgruppen aus und klicken Sie auf „Löschen“:

Bestätigen Sie das Löschen, indem Sie „delete“ in das Textfeld eingeben.
Warten Sie, bis die verwalteten Instanzgruppen gelöscht wurden. Dadurch werden auch die Instanzen in der Gruppe gelöscht. Sie können die Vorlagen erst löschen, nachdem die Instanzgruppe gelöscht wurde.
- Rufen Sie im linken Bereich Instanzvorlagen auf. Wählen Sie beide Instanzvorlagen aus und klicken Sie auf „Löschen“:

- Rufen Sie im linken Bereich VM-Instanzen auf. Klicken Sie auf das Dreipunkt-Menü neben der siege-vm-Instanz und dann auf „Löschen“.

- Rufen Sie das Navigationsmenü (
) > VPC-Netzwerk > Firewall auf. Wählen Sie „default-allow-health-check“ aus und klicken Sie auf „Löschen“:

9. Glückwunsch!
Sie haben die Ratenbegrenzung mit Cloud Armor erfolgreich implementiert. Sie haben einen HTTP-Load-Balancer mit Back-Ends in „us-east1“ und „europe-west1“ konfiguriert. Danach haben Sie mit einer VM einen Stresstest durchgeführt und die IP-Adresse mithilfe der Ratenbegrenzung mit Cloud Armor auf die Sperrliste gesetzt. Sie konnten die Logs der Sicherheitsrichtlinie untersuchen, um festzustellen, warum dieser Traffic blockiert wurde.
Behandelte Themen
- Instanzvorlagen einrichten und verwaltete Instanzgruppen erstellen
- So richten Sie einen HTTP-Load-Balancer ein.
- So erstellen Sie eine Cloud Armor-Richtlinie zur Ratenbegrenzung.
- So prüfen Sie, ob die Richtlinie zur Ratenbegrenzung wie vorgesehen funktioniert.
Weiteres Vorgehen
- Richten Sie eine Ratenbegrenzungsrichtlinie basierend auf einem Quell-IP-Bereich ein. Beispielbefehl:
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
- Richten Sie eine Ratenbegrenzungsrichtlinie basierend auf dem Ländercode ein. Beispielbefehl:
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