arrow_back

HTTP Load Balancer mit Cloud Armor

Anmelden Teilnehmen
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

HTTP Load Balancer mit Cloud Armor

Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP215

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

Das HTTP(S) Load Balancing von Google Cloud wird an den weltweiten Edges des Google-Netzwerks in seinen Points of Presence (POPs) implementiert. 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.

Mit Google Cloud Armor können Sie mithilfe von Zulassungslisten bzw. Sperrlisten von IP-Adressen den Zugriff auf Ihren HTTP(S) Load Balancer an den Edge-Netzwerkstandorten von Google Cloud beschränken oder zulassen, also in größtmöglicher Nähe zum Nutzer und auch zu unerwünschtem Traffic. Dadurch können böswillige Nutzer oder unerwünschter Traffic keine Ressourcen verbrauchen und auch nicht in Ihre VPC-Netzwerke (Virtual Private Cloud) eindringen.

In diesem Lab konfigurieren Sie einen im folgenden Diagramm dargestellten HTTP Load Balancer mit globalen Backends. Danach führen Sie einen Stresstest durch und setzen die Stresstest-IP mithilfe von Cloud Armor auf die Sperrliste.

Netzwerkdiagramm, welches das Load Balancing verdeutlicht

Lernziele

Aufgaben in diesem Lab:

  • Firewallregeln für HTTP-Traffic und Systemdiagnose erstellen
  • Zwei Instanzvorlagen konfigurieren
  • Zwei verwaltete Instanzgruppen erstellen
  • HTTP Load Balancer mit IPv4 und IPv6 konfigurieren
  • Stresstest mit einem HTTP Load Balancer durchführen
  • IP-Adresse auf die Sperrliste setzen, um den Zugriff auf einen HTTP Load Balancer einzuschränken

Einrichtung und Anforderungen

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Wenn Sie über ein persönliches Google Cloud-Konto oder -Projekt verfügen, verwenden Sie es nicht für dieses Lab. So werden zusätzliche Kosten für Ihr Konto vermieden.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:

    • Schaltfläche Google Cloud Console öffnen
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

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

    Sie finden den Nutzernamen auch im Bereich Details zum Lab.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

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

    Sie finden das Passwort auch im Bereich Details zum Lab.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie sich eine Liste der Google Cloud-Produkte und ‑Dienste ansehen möchten, klicken Sie oben links auf das Navigationsmenü. Symbol für Navigationsmenü

Aufgabe 1: Firewallregeln für HTTP-Traffic und Systemdiagnose konfigurieren

Konfigurieren Sie Firewallregeln, um HTTP-Traffic zu den Backends und TCP-Traffic von der Systemdiagnose von Google Cloud zuzulassen.

HTTP-Firewallregel erstellen

Erstellen Sie eine Firewallregel, um HTTP-Traffic an die Backends zuzulassen.

  1. Öffnen Sie in der Cloud Console das Navigationsmenü (Symbol für Navigationsmenü) und klicken Sie dann auf VPC‑Netzwerk > Firewall.

  2. Sie sehen die folgenden Firewallregeln: ICMP, internal, RDP und SSH.

    Jedes Google Cloud-Projekt startet mit dem Netzwerk default und dessen Firewallregeln.

  3. Klicken Sie auf Firewallregel erstellen.

  4. 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-http
    Netzwerk default
    Ziele Angegebene Ziel-Tags
    Ziel-Tags http-server
    Quellfilter IPv4-Bereiche
    Quell-IPv4-Bereiche 0.0.0.0/0
    Protokolle und Ports Angegebene Protokolle und Ports, klicken Sie dann auf das Kästchen neben „TCP“ und geben Sie Folgendes ein: 80

Achten Sie darauf, dass /0 in Quell-IPv4-Bereiche enthalten ist und so alle Netzwerke angegeben sind.

  1. Klicken Sie auf Erstellen.

Firewallregeln für die Systemdiagnose erstellen

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 Firewallregeln müssen diese Verbindungen zulassen.

  1. Klicken Sie auf der Seite Firewallrichtlinien auf Firewallregel erstellen.

  2. 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 default
    Ziele Angegebene Ziel-Tags
    Ziel-Tags http-server
    Quellfilter IPv4-Bereiche
    Quell-IPv4-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“
    Hinweis: Achten Sie darauf, die beiden Quell-IPv4-Bereiche nacheinander und durch ein Leerzeichen getrennt einzugeben.
  3. Klicken Sie auf Erstellen.

Klicken Sie auf Fortschritt prüfen. Firewallregeln für HTTP-Traffic und Systemdiagnose konfigurieren

Aufgabe 2: Instanzvorlagen konfigurieren und 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, Image des Bootlaufwerks, Subnetz, Labels und andere Instanzattribute definiert.

Erstellen Sie eine Instanzvorlage für und eine weitere für .

  1. Öffnen Sie in der Cloud Console das Navigationsmenü (Symbol für Navigationsmenü) > Compute Engine > Instanzvorlagen und klicken Sie dann auf Instanzvorlage erstellen.

  2. Geben Sie unter Name die Bezeichnung -template ein.

  3. Wählen Sie unter Standort die Option Global aus.

  4. Wählen Sie unter Reihe die Option E2 aus.

  5. Wählen Sie als Maschinentyp die Option e2-micro aus.

  6. Klicken Sie auf Erweiterte Optionen.

  7. Klicken Sie auf Netzwerke. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen Werte die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Netzwerk-Tags http-server
  8. Klicken Sie unter Netzwerkschnittstellen auf default. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Netzwerk default
    Subnetzwerk default

    Klicken Sie auf Fertig.

Durch das Netzwerk-Tag http-server wird sichergestellt, dass die Firewallregeln für HTTP-Traffic und Systemdiagnose auf diese Instanzen angewendet werden.

  1. Klicken Sie auf den Tab Verwaltung.

  2. Klicken Sie unter Metadaten auf + ELEMENT HINZUFÜGEN und geben Sie Folgendes an:

    Schlüssel Wert
    startup-script-url gs://cloud-training/gcpnet/httplb/startup.sh

Mit dem Schlüssel startup-script-url wird festgelegt, welches Skript ausgeführt wird, wenn Instanzen gestartet werden. Durch dieses Skript wird Apache installiert und die Begrüßungsseite so geändert, dass sie die Client-IP sowie den Namen, die Region und die Zone der VM-Instanz enthält. Sie können sich das Skript hier ansehen.

  1. Klicken Sie auf Erstellen.
  2. Warten Sie, bis die Instanzvorlage erstellt wurde.

Erstellen Sie nun eine weitere Instanzvorlage für subnet-b. Kopieren Sie hierfür die Vorlage -template:

  1. Klicken Sie auf -template und dann oben auf die Option + ÄHNLICHE ERSTELLEN.
  2. Geben Sie unter Name die Bezeichnung -template ein.
  3. Wählen Sie unter Standort die Option Global aus.
  4. Klicken Sie auf Erweiterte Optionen.
  5. Klicken Sie auf Netzwerke.
  6. Achten Sie darauf, dass http-server als Netzwerk-Tag hinzugefügt wird.
  7. Wählen Sie im Abschnitt Netzwerkschnittstellen für Subnetzwerk die Option default () aus.
  8. Klicken Sie auf Fertig.
  9. Klicken Sie auf Erstellen.

Verwaltete Instanzgruppen erstellen

Erstellen Sie eine verwaltete Instanzgruppe in und eine in .

  1. Klicken Sie unter Compute Engine im linken Menü auf Instanzgruppen.

  2. Klicken Sie auf Instanzgruppe erstellen.

  3. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Name -mig. Entfernen Sie, falls nötig, das zusätzliche Leerzeichen aus dem Namen.
    Instanzvorlage -template
    Standort Mehrere Zonen
    Region
    Mindestanzahl von Instanzen 1
    Maximale Anzahl von Instanzen 2
    Autoscaling-Signale > Klicken Sie auf das Drop-down-Menü und dann auf „Signaltyp“. CPU-Auslastung
    CPU-Zielauslastung 80, klicken Sie auf Fertig.
    Initialisierungsphase 45

Verwaltete Instanzgruppen bieten Funktionen für das Autoscaling, mit denen Sie Instanzen lastabhängig automatisch hinzufügen oder entfernen lassen können. Mit Autoscaling bewältigen Ihre Anwendungen Anstiege im Traffic reibungslos. Darüber hinaus sinken bei einem geringeren Ressourcenbedarf die Kosten. Dazu definieren Sie einfach eine Autoscaling-Richtlinie zur automatischen Skalierung, die auf der gemessenen Last basiert.

  1. Klicken Sie auf Erstellen.

Wiederholen Sie den Vorgang jetzt, um in eine zweite Instanzgruppe für -mig zu erstellen:

  1. Klicken Sie auf Instanzgruppe erstellen.

  2. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Name -mig
    Instanzvorlage -template
    Standort Mehrere Zonen
    Region
    Mindestanzahl von Instanzen 1
    Maximale Anzahl von Instanzen 2
    Autoscaling-Signale > Klicken Sie auf das Drop-down-Menü und dann auf „Signaltyp“. CPU-Auslastung
    CPU-Zielauslastung 80, klicken Sie auf Fertig.
    Initialisierungsphase 45
  3. Klicken Sie auf Erstellen.

Klicken Sie auf Fortschritt prüfen. Instanzvorlagen und Instanzgruppe konfigurieren

Backends prüfen

Vergewissern Sie sich, dass VM-Instanzen in beiden Regionen erstellt werden und auf ihre HTTP-Websites zugreifen.

  1. Klicken Sie unter Compute Engine im linken Menü auf VM-Instanzen.

  2. Achten Sie auf die Instanzen, die mit -mig und -mig beginnen.

    Diese Instanzen sind Teil der verwalteten Instanzgruppen.

  3. Klicken Sie auf die externe IP-Adresse einer Instanz von -mig.

    Es sollten dann die Client-IP (Ihre IP-Adresse), der Hostname (beginnt mit -mig) und der Serverstandort (eine Zone in ) angezeigt werden.

  4. Klicken Sie auf die externe IP-Adresse einer Instanz von -mig.

    Es sollten dann die Client-IP (Ihre IP-Adresse), der Hostname (beginnt mit -mig) und der Serverstandort (eine Zone in ) angezeigt werden.

Hinweis: Die Informationen unter Hostname und Serverstandort geben an, wohin der HTTP Load Balancer Traffic sendet.

Aufgabe 3: HTTP Load Balancer konfigurieren

Konfigurieren Sie den HTTP Load Balancer, damit Traffic zwischen den beiden Backends (-mig in und -mig in ) ausgeglichen wird, wie im folgenden Diagramm gezeigt:

Netzwerkdiagramm, welches das Load Balancing verdeutlicht

Konfiguration starten

  1. Klicken Sie in der Cloud Console auf Navigationsmenü (Symbol für Navigationsmenü) und dann auf Netzwerkdienste > Load Balancing.

  2. Klicken Sie auf Load Balancer erstellen.

  3. Klicken Sie unter Application Load Balancer HTTP(S) auf „Weiter“.

  4. Wählen Sie für Öffentlich oder intern die Option Öffentlich (extern) aus und klicken Sie auf „Weiter“.

  5. Wählen Sie unter Globale Bereitstellung oder Bereitstellung in einzelner Region die Option Optimal für globale Arbeitslasten aus und klicken Sie auf „Weiter“.

  6. Klicken Sie unter Load Balancer erstellen auf Konfigurieren.

  7. Legen Sie für „Neuer HTTP(S) Load Balancer“ http-lb als Namen fest.

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.

  1. Klicken Sie auf Frontend-Konfiguration.

  2. 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
  3. Klicken Sie auf Fertig.

  4. Klicken Sie auf Frontend-IP-Adresse und -Port hinzufügen.

  5. 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 Automatisch zuweisen
    Port 80
  6. Klicken Sie auf Fertig.

Das HTTP(S) Load Balancing unterstützt Client-Traffic von IPv4- und IPv6-Adressen. IPv6-Anfragen von Clients werden auf der Load-Balancing-Ebene terminiert und dann über IPv4 an die Backends weitergeleitet.

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.

  1. Klicken Sie auf Backend-Konfiguration.

  2. Klicken Sie unter Backend-Dienste und Backend-Buckets auf Backend-Dienst erstellen.

  3. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Option auswählen)
    Name http-backend
    Instanzgruppe -mig
    Portnummern 80
    Balancing-Modus Rate
    Maximale Anzahl der Anfragen pro Sekunde 50
    Kapazität 100

Diese Konfiguration bedeutet, dass der Load Balancer versucht, jede Instanz von -mig auf oder unter 50 Anfragen pro Sekunde zu halten.

  1. Klicken Sie auf Fertig.

  2. Klicken Sie auf Backend hinzufügen.

  3. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Option auswählen)
    Instanzgruppe -mig
    Portnummern 80
    Balancing-Modus Auslastung
    Maximale Backend-Auslastung 80
    Kapazität 100

Diese Konfiguration bedeutet, dass der Load Balancer versucht, jede Instanz von -mig auf oder unter 80 % der CPU-Auslastung zu halten.

  1. Klicken Sie auf Fertig.

  2. Klicken Sie unter Systemdiagnose auf Systemdiagnose erstellen.

  3. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Option auswählen)
    Name http-health-check
    Protokoll TCP
    Port 80

Mit Systemdiagnosen lässt sich herausfinden, zu welchen Instanzen neue Verbindungen aufgebaut werden können. Diese HTTP-Systemdiagnose fragt Instanzen alle fünf Sekunden ab und wartet bis zu fünf Sekunden auf eine Antwort. Bei zwei erfolgreichen oder zwei fehlgeschlagenen Versuchen wird das System als fehlerfrei bzw. fehlerhaft bewertet.

  1. Klicken Sie auf Speichern.
  2. Klicken Sie auf das Kästchen für Logging aktivieren.
  3. Legen Sie die Abtastrate auf 1 fest.
  4. Klicken Sie auf Erstellen, um den Backend-Dienst zu erstellen.
  5. Klicken Sie auf OK.

HTTP Load Balancer prüfen und erstellen

  1. Klicken Sie auf Prüfen und abschließen.
  2. Prüfen Sie den Backend- und den Frontend-Dienst.
  3. Klicken Sie auf Erstellen.
  4. Warten Sie, bis der Load Balancer erstellt ist.
  5. Klicken Sie auf den Namen des Load Balancers (http-lb).
  6. Sehen Sie sich für die nächste Aufgabe die IPv4- und IPv6-Adressen des Load Balancers an. Sie lauten [LB_IP_v4] bzw. [LB_IP_v6].
Hinweis: Die IPv6-Adresse wird im Hexadezimalformat angezeigt.

Klicken Sie auf Fortschritt prüfen. HTTP Load Balancer konfigurieren

Aufgabe 4: 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 dabei [LB_IP_v4] durch die IPv4-Adresse des Load Balancers.

Hinweis: Der Zugriff auf den HTTP Load Balancer kann bis zu fünf Minuten dauern. In der Zwischenzeit kann ein 404- oder 502-Fehler auftreten. Versuchen Sie es so lange, bis Sie die Seite eines der Backends sehen. Hinweis: Abhängig von Ihrer Entfernung von und wird Ihr Traffic entweder über die Instanz -mig oder -mig weitergeleitet.

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 mit siege eine virtuelle Maschine (VM), um eine Last auf den HTTP Load Balancer zu simulieren. Stellen Sie dann fest, ob der Traffic zwischen den beiden Backends ausgeglichen wird, wenn die Last hoch ist.

  1. Öffnen Sie in der Console das Navigationsmenü (Symbol für Navigationsmenü) und klicken Sie dann auf Compute Engine > VM-Instanzen.

  2. Klicken Sie auf Instanz erstellen.

  3. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Name siege-vm
    Region
    Zone
    Reihe E2

Da näher an als an liegt, sollte der Traffic nur an -mig weitergeleitet werden, solange die Last nicht zu hoch ist.

  1. Klicken Sie auf Erstellen.
  2. Warten Sie, bis die Instanz siege-vm erstellt ist.
  3. Klicken Sie bei siege-vm auf SSH, um ein Terminal zu starten und eine Verbindung herzustellen.
  4. Führen Sie den folgenden Befehl aus, um „siege“ zu installieren:
sudo apt-get -y install siege
  1. 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]
  1. Führen Sie den folgenden Befehl aus, um eine Last zu simulieren:
siege -c 150 -t120s http://$LB_IP
  1. Klicken Sie in der Cloud Console im Navigationsmenü (Symbol für Navigationsmenü) auf Netzwerkdienste > Load Balancing.
  2. Klicken Sie auf Backends.
  3. Klicken Sie auf http-backend.
  4. Wechseln Sie zu http-lb.
  5. Klicken Sie auf den Tab Monitoring.
  6. Beobachten Sie zwei bis drei Minuten lang unter Frontend-Zone (Eingehender Traffic insgesamt) den Traffic zwischen Nordamerika und den beiden Backends.

Zuerst sollte der Traffic nur an -mig weitergeleitet werden. Mit steigender Anzahl der Anfragen pro Sekunde wird er aber auch an 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.

  1. Kehren Sie zum SSH-Terminal von siege-vm zurück.
  2. Drücken Sie Strg + C, um „siege“ zu beenden, falls es noch ausgeführt wird.

Die Ausgabe sollte in etwa so aussehen:

New configuration template added to /home/student-02-dd02c94b8808/.siege Run siege -C to view the current settings in that file { "transactions": 24729, "availability": 100.00, "elapsed_time": 119.07, "data_transferred": 3.77, "response_time": 0.66, "transaction_rate": 207.68, "throughput": 0.03, "concurrency": 137.64, "successful_transactions": 24729, "failed_transactions": 0, "longest_transaction": 10.45, "shortest_transaction": 0.03 }

Aufgabe 5: „siege-vm“ auf die Sperrliste setzen

Setzen Sie siege-vm mithilfe von Cloud Armor auf die Sperrliste. So verhindern Sie den Zugriff auf den HTTP Load Balancer.

Sicherheitsrichtlinie erstellen

Erstellen Sie eine Cloud Armor-Sicherheitsrichtlinie mit einer Regel, die siege-vm auf die Sperrliste setzt.

  1. Öffnen Sie in der Console das Navigationsmenü (Symbol für Navigationsmenü) und klicken Sie dann auf Compute Engine > VM-Instanzen.
  2. Sehen Sie sich die externe IP-Adresse von siege-vm an. Sie wird hier als [SIEGE_IP] bezeichnet.
Hinweis: Es ist möglich, die externe IP-Adresse eines Clients zu ermitteln, der versucht, auf Ihren HTTP Load Balancer zuzugreifen. Sie können beispielsweise den Traffic untersuchen, der von VPC-Flusslogs in BigQuery aufgezeichnet wird, um ein hohes Volumen eingehender Anfragen festzustellen.
  1. Öffnen Sie in der Cloud Console das Navigationsmenü. Klicken Sie auf Netzwerksicherheit und dann auf Cloud Armor-Richtlinien.

  2. Klicken Sie auf Richtlinie erstellen.

  3. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Name denylist-siege
    Aktion der Standardregel Zulassen
  4. Klicken Sie auf Nächster Schritt.

  5. Klicken Sie auf Regel hinzufügen.

  6. Legen Sie die folgenden Werte fest und übernehmen Sie für alle anderen die Standardeinstellung:

    Attribut Wert (Wert eingeben bzw. Option auswählen)
    Bedingung > Übereinstimmung Geben Sie die SIEGE_IP-Adresse ein.
    Vorgang Ablehnen
    Antwortcode 403 (Unzulässig)
    Priorität 1000
  7. Klicken Sie auf Fertig.

  8. Klicken Sie auf Nächster Schritt.

  9. Klicken Sie auf Ziel hinzufügen.

  10. Wählen Sie unter Typ die Option Backend-Dienst (externer Application Load Balancer) aus.

  11. Wählen Sie http-backend als Ziel aus.

  12. Klicken Sie auf Richtlinie erstellen.

Hinweis: Alternativ können Sie Ablehnen als Standardregel definieren und nur Traffic von autorisierten Nutzern bzw. IP-Adressen erlauben.
  1. Warten Sie, bis die Richtlinie erstellt ist, bevor Sie fortfahren.

Klicken Sie auf Fortschritt prüfen. „siege-vm“ auf die Sperrliste setzen

Sicherheitsrichtlinie prüfen

Vergewissern Sie sich, dass siege-vm nicht auf den HTTP Load Balancer zugreifen kann.

  1. Kehren Sie zum SSH-Terminal von siege-vm zurück.
  2. Führen Sie folgenden Befehl aus, um auf den Load Balancer zuzugreifen:
curl http://$LB_IP

Die Ausgabe sollte in etwa so aussehen:

<!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>403</title>403 Forbidden Hinweis: Es kann ein paar Minuten dauern, bis die Sicherheitsrichtlinie wirksam wird. Wenn Sie noch auf die Backends zugreifen können, versuchen Sie es so lange weiter, bis der Fehler 403 (Unzulässig) angezeigt wird.
  1. Öffnen Sie einen neuen Browsertab und rufen Sie http://[LB_IP_v4] auf. Ersetzen Sie dabei [LB_IP_v4] durch die IPv4-Adresse des Load Balancers.
Hinweis: Aufgrund der Standardregel allow für Traffic können Sie mit Ihrem Browser auf den HTTP Load Balancer zugreifen. Durch die deny-Regel, die Sie eingerichtet haben, verhindern Sie aber, dass siege-vm Zugriff erhält.
  1. Führen Sie im SSH-Terminal von „siege-vm“ den folgenden Befehl aus, um eine Last zu simulieren:
siege -c 150 -t120s http://$LB_IP

Mit dem Befehl wird keine Ausgabe generiert.

Untersuchen Sie die Protokolle der Sicherheitsrichtlinie, um festzustellen, ob dieser Traffic auch blockiert wird.

  1. Öffnen Sie in der Console das Navigationsmenü. Klicken Sie auf Netzwerksicherheit und dann auf Cloud Armor-Richtlinien.
  2. Klicken Sie auf denylist-siege.
  3. Klicken Sie auf Logs.
  4. Klicken Sie auf Richtlinienlogs ansehen.
  5. Löschen Sie auf der Logging-Seite unbedingt den gesamten Text der Abfragevorschau. Wählen Sie als Ressource Application Load Balancer > http-lb-forwarding-rule > http-lb aus und klicken Sie dann auf Anwenden.
  6. Klicken Sie jetzt auf Abfrage ausführen.
  7. Maximieren Sie einen der Logeinträge unter Abfrageergebnisse.
  8. Maximieren Sie httpRequest.

Diese Anfrage sollte von der IP-Adresse von siege-vm stammen. Falls nicht, maximieren Sie einen anderen Logeintrag.

  1. Maximieren Sie jsonPayload.
  2. Maximieren Sie enforcedSecurityPolicy.
  3. Sie sehen, dass configuredAction den Wert DENY und den Namen denylist-siege hat.

Seite mit den Abfrageergebnissen

Sicherheitsrichtlinien von Cloud Armor erstellen Logs, die Sie untersuchen können, um festzustellen, wann Traffic zugelassen oder abgelehnt wurde und aus welcher Quelle er stammt.

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

Sie haben einen HTTP Load Balancer mit Backends in und konfiguriert. Danach haben Sie mit einer VM einen Stresstest durchgeführt und mithilfe von Cloud Armor die IP-Adresse dieser VM auf die Sperrliste gesetzt. Sie konnten die Logs der Sicherheitsrichtlinie untersuchen, um festzustellen, warum dieser Traffic blockiert wurde.

Weitere Informationen

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 18. April 2024 aktualisiert

Lab zuletzt am 18. April 2024 getestet

© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.