GSP041

Übersicht
Der interne Application Load Balancer ist ein wesentlicher Bestandteil beim Erstellen robuster, sicherer und einfach zu verwaltender interner Anwendungen, die Ihre Geschäftstätigkeiten unterstützen. In diesem Lab lernen Sie, wie Sie den Netzwerk-Traffic in Ihrem privaten Cloud-Netzwerk verteilen, ohne Ihre virtuellen Maschinen (VMs) direkt dem öffentlichen Internet zugänglich zu machen. So bleiben Ihre Dienste geschützt und effizient.
Dabei erstellen Sie ein vereinfachtes, aber sehr gängiges Architekturmuster:
- Eine „Webstufe“ (öffentlich zugängliche Website), die bei einem anderen internen Dienst Unterstützung anfragt.
- Eine „interne Dienststufe“ (ein Primzahlenrechner), die bestimmte Aufgaben ausführt und auf mehrere Maschinen verteilt ist.
So wird sichergestellt, dass das Gesamtsystem auch dann reibungslos funktioniert, wenn ein Teil des internen Dienstes ausgelastet ist oder ausfällt, da der Load Balancer Anfragen automatisch an intakte Maschinen weiterleitet.
Aufgaben
Aufgaben in diesem Lab:
- Komponenten eines internen Load Balancers kennenlernen
- Gruppe von Backend-Maschinen erstellen (Primzahlenrechner)
- Internen Load Balancer einrichten, um internen Traffic an die Backend-Maschinen weiterzuleiten
- Internen Load Balancer über eine andere interne Maschine testen
- Einen öffentlich zugänglichen Webserver einrichten, der über den internen Load Balancer Ergebnisse vom internen Primzahlenrechner-Dienst abruft
Voraussetzungen
- Grundlegende Kenntnisse der Google Cloud Compute Engine: Was ist eine VM-Instanz (Virtual Machine)?
- Grundlegende Netzwerkkonzepte: Was ist eine IP-Adresse?
- Grundlegende Unix-/Linux-Befehlszeile: Wie werden Befehle in ein Terminal eingegeben?
- Grundkenntnisse zu VPCs (Virtual Private Clouds): Google Cloud-Ressourcen befinden sich in einem privaten Netzwerk.
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 Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung 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 (empfohlen), 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: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld 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
-
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.
-
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“.
-
Klicken Sie auf Weiter.
-
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“.
-
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.
-
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 auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Cloud Shell aktivieren
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
-
Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren
.
-
Klicken Sie sich durch die folgenden Fenster:
- Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
- Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.
Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:
Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
- Klicken Sie auf Autorisieren.
Ausgabe:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
Um das aktive Konto festzulegen, führen Sie diesen Befehl aus:
$ gcloud config set account `ACCOUNT`
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Hinweis: Die vollständige Dokumentation für gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Region und Zone einrichten
- Legen Sie die Region und Zone des Projekts für dieses Lab fest:
gcloud config set compute/region {{{project_0.default_region | Region}}}
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
Informationen dazu finden Sie unter Regionen und Zonen.
Hinweis: Wenn Sie gcloud
auf Ihrem eigenen Computer ausführen, werden die Konfigurationseinstellungen sitzungsübergreifend beibehalten. In Cloud Shell müssen Sie sie für jede neue Sitzung oder Verbindung festlegen.
Aufgabe 1: Virtuelle Umgebung erstellen
Eine virtuelle Umgebung sorgt dafür, dass die Software des Projekts übersichtlich bleibt und Ihr Code immer mit den passenden Versionen der erforderlichen Tools ausgeführt wird.
Virtuelle Python-Umgebungen werden verwendet, um die Paketinstallation vom System zu isolieren.
-
virtualenv
-Umgebung installieren:
sudo apt-get install -y virtualenv
- Virtuelle Umgebung erstellen:
python3 -m venv venv
- Aktivieren Sie die virtuelle Umgebung:
source venv/bin/activate
Gemini Code Assist in der Cloud Shell-IDE aktivieren
Sie können Gemini Code Assist in einer integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) wie Cloud Shell verwenden, um Unterstützung beim Programmieren zu erhalten oder Probleme mit Ihrem Code zu lösen. Bevor Sie Gemini Code Assist verwenden können, müssen Sie das Tool aktivieren.
- Aktivieren Sie in Cloud Shell die Gemini for Google Cloud API mit dem folgenden Befehl:
gcloud services enable cloudaicompanion.googleapis.com
- Klicken Sie in der Cloud Shell-Symbolleiste auf Editor öffnen.
Hinweis: Klicken Sie zum Öffnen des Cloud Shell-Editors in der Cloud Shell-Symbolleiste auf Editor öffnen. Sie können zwischen Cloud Shell und dem Code-Editor wechseln. Klicken Sie dazu entsprechend auf Editor öffnen oder Terminal öffnen.
-
Klicken Sie im linken Bereich auf das Symbol Einstellungen und suchen Sie unter Einstellungen nach Gemini Code Assist.
-
Suchen Sie nach Gemini Code Assist: Aktivieren und prüfen Sie, ob das Kästchen ausgewählt ist. Schließen Sie dann die Einstellungen.
-
Klicken Sie in der Statusleiste unten auf dem Bildschirm auf Cloud Code – kein Projekt.
-
Autorisieren Sie das Plug-in wie beschrieben. Wenn kein Projekt automatisch ausgewählt wurde, klicken Sie auf Google Cloud-Projekt auswählen und wählen Sie aus.
-
Prüfen Sie, ob Ihr Google Cloud-Projekt () in der Cloud Code-Statusmeldung in der Statusleiste angezeigt wird.
Aufgabe 2: Verwaltete Instanzgruppe „backend“ erstellen
Wenn Sie eine verwaltete Instanzgruppe verwenden, kann Google Cloud automatisch identische Kopien des Dienstes erstellen und verwalten. Wenn eine Kopie ausfällt, wird sie von Google Cloud ersetzt. Dadurch wird der Dienst zuverlässiger.
Startskript erstellen
Dieses Script ist wie eine Reihe von Anleitungen, die jede neue VM in der Gruppe beim Start befolgt. Ihr Script enthält einen kleinen Webserver, der in Python geschrieben ist und Ihnen mitteilen kann, ob eine Zahl eine Primzahl ist (True) oder nicht (False).
- Führen Sie im Cloud Shell-Terminal den folgenden Befehl aus, um das Script
backend.sh
im Basisverzeichnis zu erstellen:
touch ~/backend.sh
- Klicken Sie oben in der Cloud Shell-Symbolleiste auf das Symbol Editor öffnen. Wenn Sie dazu aufgefordert werden, klicken Sie auf In neuem Fenster öffnen.

Hinweis: Wenn Sie das Code-Editor-Symbol nicht sehen, schließen Sie den linken Bereich, indem Sie auf das Symbol für das Navigationsmenü (☰) klicken.
Nach einigen Sekunden wird der Arbeitsbereich angezeigt.
-
Wählen Sie im Datei-Explorer-Bereich die Datei backend.sh
aus.
-
Fügen Sie jetzt das folgende Script in den Editor ein:
sudo chmod -R 777 /usr/local/sbin/
sudo cat << EOF > /usr/local/sbin/serveprimes.py
import http.server
def is_prime(a): return a!=1 and all(a % i for i in range(2,int(a**0.5)+1))
class myHandler(http.server.BaseHTTPRequestHandler):
def do_GET(s):
s.send_response(200)
s.send_header("Content-type", "text/plain")
s.end_headers()
s.wfile.write(bytes(str(is_prime(int(s.path[1:]))).encode('utf-8')))
http.server.HTTPServer(("",80),myHandler).serve_forever()
EOF
nohup python3 /usr/local/sbin/serveprimes.py >/dev/null 2>&1 &
-
Klicken Sie auf Datei > Speichern, schließen Sie die Datei aber nicht.
-
Wenn Gemini Code Assist in der IDE aktiviert ist und Sie eine Datei im Editor öffnen, zum Beispiel backend.sh
, sehen Sie das Symbol
rechts oben in der Symbolleiste. Das bedeutet, dass Gemini Code Assist einsatzbereit ist.
Gemini Code Assist steigert durch KI-basierte intelligente Aktionen direkt im Code-Editor die Produktivität und Sie müssen seltener den Kontext wechseln. Als Nächstes verwenden Sie Gemini Code Assist, um einem Teammitglied den Zweck und die Funktionalität eines VM-Startscripts in der verwalteten Instanzgruppe zu erläutern.
-
Klicken Sie auf das Gemini Code Assist: Intelligente Aktionen-Symbol
und wählen Sie Erkläre mir das aus.
-
Gemini Code Assist öffnet ein Chatfenster mit dem vorausgefüllten Prompt Erkläre mir das
. Ersetzen Sie im Inline-Textfeld des Code Assist-Chats den vorausgefüllten Prompt durch Folgendes und klicken Sie auf Senden:
As an Application Developer at Cymbal AI, explain the backend.sh startup script to a new team member. This script is used to run a small Python web server written in a Python file serveprimes.py. Provide a detailed breakdown of the script's key components and explain the function of each command.
For the suggested improvements, don't make any changes to the file's content.
Im Gemini Code Assist-Chat wird eine detaillierte Erklärung des Startscripts backend.sh
, das zum Ausführen eines kleinen Webservers verwendet wird, angezeigt.
Instanzvorlage erstellen
- Klicken Sie in der Symbolleiste von Cloud Shell auf Terminal öffnen. Führen Sie den folgenden Befehl aus, um die Instanzvorlage
primecalc
zu erstellen:
gcloud compute instance-templates create primecalc \
--metadata-from-file startup-script=backend.sh \
--no-address --tags backend --machine-type=e2-medium
Das ist der Blueprint für die Backend-VMs. Beachten Sie, dass --no-address
angegeben ist. Das bedeutet, dass diese Backend-VMs aus Sicherheitsgründen keinen öffentlichen Internetzugriff haben.
Firewall öffnen
Sie müssen eine Firewallregel erstellen, damit Traffic auf Port 80 (Standard-HTTP-Traffic) die Backend-VMs erreichen kann. Das ist entscheidend für die Kommunikation des internen Application Load Balancers und der Systemdiagnosen mit den Backend-VMs.
- Führen Sie den folgenden Befehl aus, um die Firewall für Port
80
zu öffnen:
gcloud compute firewall-rules create http --network default --allow=tcp:80 \
--source-ranges {{{project_0.startup_script.selected_cidr | IP}}} --target-tags backend
Klicken Sie auf Fortschritt prüfen, um zu sehen, ob Sie in diesem Lab alles richtig gemacht haben.
Instanzvorlage erstellen und Firewall für Port 80 öffnen
Instanzgruppe erstellen
- Führen Sie als Nächstes den folgenden Befehl aus, um die verwaltete Instanzgruppe mit dem Namen
backend
zu erstellen. Beginnen Sie mit drei Instanzen:
gcloud compute instance-groups managed create backend \
--size 3 \
--template primecalc \
--zone {{{project_0.default_zone | ZONE }}}
- Wenn der Befehl ausgeführt wurde, kehren Sie zum Console-Tab zurück. Gehen Sie zu Compute Engine > VM-Instanzen. Sie sollten jetzt sehen, dass drei Backend-VMs von der Instanzgruppe erstellt werden.

Die Backends sind jetzt bereit, Traffic zu verarbeiten.
Klicken Sie auf Fortschritt prüfen, um zu sehen, ob Sie in diesem Lab alles richtig gemacht haben.
Instanzgruppe erstellen
Aufgabe 3: Internen Load Balancer einrichten
Sie erstellen einen privaten VIP-Zugang für den internen Dienst. So können andere interne Anwendungen den Primzahlenrechner zuverlässig erreichen. Dabei ist irrelevant, welche Backend-VM aktiv oder verfügbar ist.
In dieser Aufgabe richten Sie den internen Load Balancer ein und verbinden ihn mit der Instanzgruppe, die Sie gerade erstellt haben.
Ein interner Load Balancer besteht aus drei wichtigen Teilen:
-
Weiterleitungsregel: Die tatsächliche private IP-Adresse, an die andere interne Dienste Anfragen senden. Sie leitet Traffic an den Backend-Dienst weiter.
-
Backend-Dienst: Legt fest, wie der Load Balancer Traffic an die VM-Instanzen verteilt. Dazu gehört auch die Systemdiagnose.
-
Systemdiagnose: Eine kontinuierliche Prüfung, die den Zustand der Backend-VMs überwacht. Der Load Balancer sendet Traffic nur an Maschinen, deren Systemdiagnose positiv ausgefallen ist. Das sorgt dafür, dass der Dienst immer verfügbar ist.
Das folgende Diagramm zeigt, wie der Lastenausgleich zwischen Instanzen mithilfe von mehreren Instanzen in mehreren Backend-Gruppen innerhalb verschiedener Zonen erfolgt.

Systemdiagnose erstellen
- Eine Systemdiagnose ist erforderlich, damit der Load Balancer Traffic nur an intakte Instanzen sendet. Der Backend-Dienst ist ein HTTP-Server. Führen Sie daher den folgenden Befehl aus, um zu prüfen, ob er mit „200 OK“ auf einen bestimmten URL-Pfad antwortet (in diesem Fall
/2
, um zu prüfen, ob 2 eine Primzahl ist):
gcloud compute health-checks create http ilb-health --request-path /2
Da der HTTP-Dienst bereitgestellt wird, prüfen Sie, ob die Antwort „200“ auf einem bestimmten URL-Pfad ausgegeben wird (in diesem Fall /2
, um zu prüfen, ob 2 eine Primzahl ist).
Backend-Dienst erstellen
- Führen Sie nun den folgenden Befehl aus, um den Backend-Dienst mit dem Namen
prime-service
zu erstellen:
gcloud compute backend-services create prime-service \
--load-balancing-scheme internal --region={{{project_0.default_region | REGION}}} \
--protocol tcp --health-checks ilb-health
Durch diesen Dienst wird die Systemdiagnose mit der Instanzgruppe verknüpft.
Instanzgruppe dem Backend-Dienst hinzufügen
- Führen Sie den folgenden Befehl aus, um die Instanzgruppe „backend“ mit dem Backend-Dienst „prime-service“ zu verbinden. Dadurch weiß der Load Balancer, welche Maschinen er verwalten soll:
gcloud compute backend-services add-backend prime-service \
--instance-group backend --instance-group-zone={{{project_0.default_zone | ZONE }}} \
--region={{{project_0.default_region | REGION}}}
Weiterleitungsregel erstellen
- Führen Sie zum Schluss den folgenden Befehl aus, um eine Weiterleitungsregel mit dem Namen
prime-lb
und der statischen IP-Adresse zu erstellen:
gcloud compute forwarding-rules create prime-lb \
--load-balancing-scheme internal \
--ports 80 --network default \
--region={{{project_0.default_region | REGION}}} --address {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}} \
--backend-service prime-service
Der interne Dienst zur Berechnung von Primzahlen ist jetzt vollständig eingerichtet und kann über seine interne IP-Adresse abgefragt werden.
Klicken Sie auf Fortschritt prüfen, um zu sehen, ob Sie in diesem Lab alles richtig gemacht haben.
Internen Load Balancer einrichten
Aufgabe 4: Load Balancer testen
Mit diesem Schritt bestätigen Sie, dass der interne Application Load Balancer den Traffic korrekt an die Backend-Dienste weiterleitet. Außerdem wird damit nachgewiesen, dass andere interne Anwendungen den Dienst jetzt zuverlässig über eine einzelne, stabile IP-Adresse erreichen können. Das sorgt für einen kontinuierlichen Betrieb.
Um den Load Balancer zu testen, erstellen Sie eine neue VM-Instanz im selben Netzwerk, in dem sich auch der interne Application Load Balancer befindet. Sie ist nur innerhalb Ihres privaten Cloud-Netzwerks zugänglich, nicht direkt über Cloud Shell. Cloud Shell befindet sich außerhalb dieses bestimmten Netzwerks.
- Führen Sie in Cloud Shell den folgenden
gcloud
-Befehl aus, um eine einfache Testinstanz zu erstellen:
gcloud compute instances create testinstance \
--machine-type=e2-standard-2 --zone {{{project_0.default_zone | ZONE }}}
- Führen Sie dann den folgenden Befehl aus, um eine SSH-Verbindung herzustellen:
gcloud compute ssh testinstance --zone {{{project_0.default_zone | ZONE }}}
Wenn Sie dazu aufgefordert werden, geben Sie Y ein und drücken Sie zweimal die Eingabetaste, um fortzufahren.
Load Balancer abfragen
- Führen Sie in der Testinstanz die folgenden
curl
-Befehle aus, um die IP-Adresse des internen Application Load Balancers zu fragen, ob bestimmte Zahlen Primzahlen sind:
curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/2
curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/4
curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/5
Die Ausgabe „True“ oder „False“ wird direkt neben der Befehlszeile angezeigt.
Ausgabe:
user@testinstance:~$ curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/2
Trueuser@testinstance:~$ curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/4
Falseuser@testinstance:~$ curl {{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/5
Trueuser@testinstance:~$ exit
Sie sollten sehen, dass 2 und 5 korrekt als Primzahlen erkannt wurden, 4 jedoch nicht. Das bestätigt, dass der interne Application Load Balancer funktioniert. Er hat die Anfragen empfangen und erfolgreich an eine der Backend-VMs für die Primzahlenberechnung weitergeleitet.
Der Dienst hat korrekt geantwortet: 2 und 5 sind Primzahlen, 4 jedoch nicht.
- Führen Sie den folgenden Befehl aus, um die Testinstanz zu verlassen:
exit
- Führen Sie dann den folgenden Befehl aus, um sie zu löschen, da sie nicht mehr benötigt wird:
gcloud compute instances delete testinstance --zone={{{project_0.default_zone | ZONE }}}
- Geben Sie Y ein, um den Löschvorgang zu bestätigen.
Aufgabe 5: Öffentlich zugänglichen Webserver erstellen
Sie sehen jetzt, wie eine öffentlich zugängliche Anwendung (z. B. eine Website) die internen Dienste nutzen kann.
In dieser Aufgabe erstellen Sie einen öffentlich zugänglichen Webserver, der den internen Dienst „Primzahlenrechner“ (über den internen Application Load Balancer) verwendet, um eine Matrix von Primzahlen anzuzeigen.
- Führen Sie zuerst den folgenden Befehl aus, um das Startscript für dieses öffentlich zugängliche Frontend im Basisverzeichnis zu erstellen:
touch ~/frontend.sh
- Der Code-Editor sollte noch geöffnet sein. Falls nicht, starten Sie den Code-Editor, indem Sie ihn in der Shell auswählen:

Nach einigen Sekunden wird der Arbeitsbereich geöffnet.
-
Wählen Sie im Datei-Explorer-Bereich die Datei frontend.sh
aus.
-
Fügen Sie jetzt das folgende Script in den Editor ein:
sudo chmod -R 777 /usr/local/sbin/
sudo cat << EOF > /usr/local/sbin/getprimes.py
import urllib.request
from multiprocessing.dummy import Pool as ThreadPool
import http.server
PREFIX="http://{{{project_0.startup_script.selected_forwarding_rule_cidr | IP}}}/" #HTTP Load Balancer
def get_url(number):
return urllib.request.urlopen(PREFIX+str(number)).read().decode('utf-8')
class myHandler(http.server.BaseHTTPRequestHandler):
def do_GET(s):
s.send_response(200)
s.send_header("Content-type", "text/html")
s.end_headers()
i = int(s.path[1:]) if (len(s.path)>1) else 1
s.wfile.write("<html><body><table>".encode('utf-8'))
pool = ThreadPool(10)
results = pool.map(get_url,range(i,i+100))
for x in range(0,100):
if not (x % 10): s.wfile.write("<tr>".encode('utf-8'))
if results[x]=="True":
s.wfile.write("<td bgcolor='#00ff00'>".encode('utf-8'))
else:
s.wfile.write("<td bgcolor='#ff0000'>".encode('utf-8'))
s.wfile.write(str(x+i).encode('utf-8')+"</td> ".encode('utf-8'))
if not ((x+1) % 10): s.wfile.write("</tr>".encode('utf-8'))
s.wfile.write("</table></body></html>".encode('utf-8'))
http.server.HTTPServer(("",80),myHandler).serve_forever()
EOF
nohup python3 /usr/local/sbin/getprimes.py >/dev/null 2>&1 &
-
Klicken Sie auf Datei > Speichern, schließen Sie die Datei aber nicht.
Wie zuvor möchten Sie als Nächstes einem Teammitglied mit Gemini Code Assist das Startscript für einen öffentlichen Webserver erklären.
-
Wenn die Datei frontend.sh
geöffnet und Gemini Code Assist in der IDE aktiviert ist, sehen Sie das Symbol
oben rechts im Editor.
-
Klicken Sie auf das Gemini Code Assist: Intelligente Aktionen-Symbol
und wählen Sie Erkläre mir das aus.
-
Gemini Code Assist öffnet ein Chatfenster mit dem vorausgefüllten Prompt Erkläre mir das
. Ersetzen Sie im Inline-Textfeld des Code Assist-Chats den vorausgefüllten Prompt durch Folgendes und klicken Sie auf Senden:
You are an Application Developer at Cymbal AI. A new team member needs help understanding this startup script, which is used to run a public-facing web server written in the Python file getprimes.py. Explain the frontend.sh script in detail. Break down its key components, the commands used, and their function within the script.
For suggested improvements, do not make any changes to the file's content.
Im Gemini Code Assist-Chat wird eine detaillierte Erklärung des Startscripts frontend.sh
, das zum Ausführen eines öffentlichen Webservers verwendet wird, angezeigt.
Frontend-Instanz erstellen
- Führen Sie im Cloud Shell-Terminal den folgenden Code aus, um eine Instanz mit dem Namen
frontend
zu erstellen, auf der dieser Webserver ausgeführt wird:
gcloud compute instances create frontend --zone={{{project_0.default_zone | ZONE }}} \
--metadata-from-file startup-script=frontend.sh \
--tags frontend --machine-type=e2-standard-2
Firewall für das Frontend öffnen
- Da es sich um einen öffentlich zugänglichen Server handelt, müssen Sie den folgenden Befehl ausführen, um die Firewall zu öffnen und Traffic von überall im Internet (0.0.0.0/0) auf Port 80 zuzulassen:
gcloud compute firewall-rules create http2 --network default --allow=tcp:80 \
--source-ranges 0.0.0.0/0 --target-tags frontend
-
Klicken Sie im Navigationsmenü auf Compute Engine > VM-Instanzen. Wenn Sie die frontend
-Instanz nicht sehen, aktualisieren Sie den Browser.
-
Öffnen Sie die externe IP-Adresse für das Frontend im Browser:

Sie sollten eine Matrix wie diese sehen, in der alle Primzahlen bis 100 grün dargestellt sind:

- Fügen Sie dem Pfad eine Zahl hinzu, z. B. http://your-ip/10000, um alle Primzahlen ab dieser Zahl zu sehen.

Hinweis: Das Beispiel-Startscript nimmt keine effektive Berechnung von Primzahlen vor. Außerdem gibt es keine Algorithmen zur Fehlererkennung oder ‑korrektur. Wenn Sie dem Pfad große Zahlen hinzufügen, kommt es zu Zeitüberschreitungen des Dienstes.
Klicken Sie auf Fortschritt prüfen, um zu sehen, ob Sie in diesem Lab alles richtig gemacht haben.
Öffentlich zugänglichen Webserver erstellen
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben mit dem internen Application Load Balancer von Google Cloud und der Unterstützung von Gemini Code Assist einen zuverlässigen internen Dienst erstellt und gezeigt, wie eine öffentliche Anwendung ihn sicher nutzen kann.
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 22. August 2025 aktualisiert
Lab zuletzt am 22. August 2025 getestet
© 2025 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.