Anleitung und Anforderungen für Lab-Einrichtung
Schützen Sie Ihr Konto und Ihren Fortschritt. Verwenden Sie immer den privaten Modus und Lab-Anmeldedaten, um dieses Lab auszuführen.

Nicht verwendete IP-Adressen bereinigen

Lab 20 Minuten universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Dieser Inhalt ist noch nicht für Mobilgeräte optimiert.
Die Lernumgebung funktioniert am besten, wenn Sie auf einem Computer über einen per E‑Mail gesendeten Link darauf zugreifen.

GSP646

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In diesem Lab nutzen Sie Cloud Run-Funktionen und Cloud Scheduler, um nicht mehr verwendete Cloud-Ressourcen zu identifizieren und zu bereinigen. In Google Cloud sind statische IP-Adressen eine kostenlose Ressource, wenn sie zu einer Load-Balancer- oder VM-Instanz (virtuelle Maschine) gehören. Für statische IP-Adressen, die reserviert sind, aber nicht verwendet werden, fällt eine stundenweise Gebühr an. Bei Anwendungen, die in hohem Maße auf statische IP-Adressen und umfangreiche dynamische Bereitstellungen angewiesen sind, können dadurch im Laufe der Zeit erhebliche Kosten entstehen.

Aufgabe

  • Compute Engine-VM mit zwei statischen externen IP-Adressen erstellen, von denen eine nicht verwendet wird
  • Cloud Run-Funktion bereitstellen, mit der nicht verwendete Adressen gefunden werden
  • Cloud Scheduler-Job erstellen, um die Ausführung der Funktion mit einem HTTP-Trigger zu planen

Architektur

Das folgende Diagramm zeigt die Architektur aus dem ersten Abschnitt des Labs, in dem Sie eine Cloud Run-Funktion planen, um nicht verwendete IP-Adressen zu finden und zu bereinigen.

Architekturdiagramm

Einrichtung und Anforderungen

In diesem Abschnitt konfigurieren Sie die für dieses Lab erforderliche Infrastruktur und die benötigten Identitäten.

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

  1. 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
  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 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. Symbol für das Navigationsmenü und Suchfeld

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.

  1. Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren Symbol für Cloud Shell-Aktivierung.

  2. 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.

  1. (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
  1. 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`
  1. (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.

Aufgabe 1: APIs aktivieren und Repository klonen

  1. Aktivieren Sie in Cloud Shell die Cloud Scheduler API:

    gcloud services enable cloudscheduler.googleapis.com Hinweis: Es kann eine Weile dauern, bis die Cloud Scheduler API aktiviert ist.

Klicken Sie auf Fortschritt prüfen.

Cloud Scheduler API aktivieren
  1. Klonen Sie das Repository:

    git clone https://github.com/GoogleCloudPlatform/gcf-automated-resource-cleanup.git && cd gcf-automated-resource-cleanup/
  2. Richten Sie die Umgebungsvariablen ein und machen Sie den Repository-Ordner zu Ihrem $WORKDIR-Verzeichnis, in dem Sie alle Befehle dieses Labs ausführen:

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) export region={{{project_0.default_region | Region}}} WORKDIR=$(pwd)

Aufgabe 2: IP-Adressen erstellen

  1. Gehen Sie in Cloud Shell zum Verzeichnis „unused-ip“:

    cd $WORKDIR/unused-ip
  2. Exportieren Sie die Namen der IP-Adressen als Variablen:

    export USED_IP=used-ip-address export UNUSED_IP=unused-ip-address
  3. Erstellen Sie zwei statische IP-Adressen:

    gcloud compute addresses create $USED_IP --project=$PROJECT_ID --region={{{project_0.default_region | Region}}} gcloud compute addresses create $UNUSED_IP --project=$PROJECT_ID --region={{{project_0.default_region | Region}}}

    In diesem Lab wird die Region verwendet, Sie können sich aber auch für eine andere Region entscheiden und sich im Rest des Labs ausschließlich darauf beziehen.

  4. Prüfen Sie, ob zwei Adressen erstellt wurden:

    gcloud compute addresses list --filter="region:({{{project_0.default_region | Region}}})"

    In der Ausgabe weist der Status RESERVED auf nicht verwendete IP-Adressen hin:

    NAME ADDRESS/RANGE TYPE PURPOSE NETWORK REGION SUBNET STATUS unused-ip-address 35.232.144.85 EXTERNAL {{{project_0.default_region | Region}}} RESERVED used-ip-address 104.197.56.87 EXTERNAL {{{project_0.default_region | Region}}} RESERVED

Klicken Sie auf Fortschritt prüfen.

Zwei statische IP-Adressen erstellen
  1. Legen Sie die verwendete IP-Adresse als Umgebungsvariable fest:

    export USED_IP_ADDRESS=$(gcloud compute addresses describe $USED_IP --region={{{project_0.default_region | Region}}} --format=json | jq -r '.address')

Aufgabe 3: VM erstellen

  1. Erstellen Sie in Cloud Shell eine Instanz:

    gcloud compute instances create static-ip-instance \ --zone={{{project_0.default_zone | Zone}}} \ --machine-type=e2-medium \ --subnet=default \ --address=$USED_IP_ADDRESS

Klicken Sie auf Fortschritt prüfen.

Eine Instanz mit der zuvor erstellten statischen IP-Adresse erstellen
  1. Prüfen Sie, ob eine der IP-Adressen gerade verwendet wird:

    gcloud compute addresses list --filter="region:({{{project_0.default_region | Region}}})"

    Die Ausgabe sieht etwa so aus:

    NAME ADDRESS/RANGE TYPE PURPOSE NETWORK REGION SUBNET STATUS unused-ip-address 35.232.144.85 EXTERNAL {{{project_0.default_region | Region}}} RESERVED used-ip-address 104.197.56.87 EXTERNAL {{{project_0.default_region | Region}}} IN_USE

Aufgabe 4: Code der Cloud Run-Funktion prüfen

  • Geben Sie in Cloud Shell den Hauptteil des Codes aus:

    cat $WORKDIR/unused-ip/function.js | grep "const compute" -A 31

Die Ausgabe sieht so aus:

const compute = new Compute(); compute.getAddresses(function(err, addresses){ // gets all addresses across regions if(err){ console.log("there was an error: " + err); } if (addresses == null) { console.log("no addresses found"); return; } console.log("there are " + addresses.length + " addresses"); // iterate through addresses for (let item of addresses){ // get metadata for each address item.getMetadata(function(err, metadata, apiResponse) { // if the address is not used: if (metadata.status=='RESERVED'){ // compute age by converting ISO 8601 timestamps to Date var creationDate = new Date(metadata.creationTimestamp); var currDate = new Date(); var addressAge = Math.floor((currDate - creationDate)/86400e3);; // delete address item.delete(function(err, operation, apiResponse2){ if (err) { console.log("could not delete address: " + err); } }) }

Im vorherigen Codebeispiel ist Folgendes wichtig:

  • compute.getAddresses(function(err, addresses) ruft mit der getAddresses-Methode IP-Adressen aus allen Regionen des Projekts ab.

  • item.getMetadata(function(err, metadata, apiResponse) ruft die Metadaten für jede IP-Adresse ab und überprüft das Feld STATUS.

  • if ((metadata.status=='RESERVED') & (calculateAge(metadata.creationTimestamp) >= ageToDelete)){ überprüft, ob die IP-Adresse verwendet wird, berechnet mit einer Hilfsfunktion das Alter der Adresse und vergleicht es mit einer Konstanten (für dieses Lab auf 0 gesetzt).

  • item.delete(function(err, operation, apiResponse2){ löscht die IP-Adresse.

Aufgabe 5: Cloud Run-Funktion bereitstellen

  1. Deaktivieren Sie die Cloud Functions-API:

    gcloud services disable cloudfunctions.googleapis.com
  2. Aktivieren Sie die Cloud Functions-API noch einmal:

    gcloud services enable cloudfunctions.googleapis.com
  3. Fügen Sie die Berechtigung artifactregistry.reader für Ihr appspot-Dienstkonto hinzu. Ersetzen Sie [PROJEKT-ID] durch Ihre qwiklabs-Projekt-ID:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \ --member="serviceAccount:[PROJECT_ID]@appspot.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
  4. Stellen Sie in Cloud Shell die Cloud Run-Funktion bereit:

    gcloud functions deploy unused_ip_function --gen2 --trigger-http --runtime=nodejs20 --region={{{project_0.default_region | Region}}}
    • Geben Sie bei Aufforderung Y ein, um nicht authentifizierte Aufrufe zuzulassen.
    Hinweis: Das Bereitstellen der Cloud Run-Funktion kann je nach Region 2 bis 5 Minuten dauern.

Klicken Sie auf Fortschritt prüfen.

Cloud Run-Funktion bereitstellen
  1. Legen Sie die Trigger-URL als Umgebungsvariable fest:

    export FUNCTION_URL=$(gcloud functions describe unused_ip_function --region={{{project_0.default_region | Region}}} --format=json | jq -r '.url')

Aufgabe 6: Cloud Run-Funktion zuordnen und testen

  1. Erstellen Sie in Cloud Shell eine App Engine-Anwendung, um Cloud Scheduler zu verwenden:

    gcloud app create --region {{{project_0.startup_script.app_region | REGION}}}
  2. Erstellen Sie in der Cloud Shell eine Cloud Scheduler-Task, um die Cloud Run-Funktion täglich um 2:00 Uhr auszuführen:

    gcloud scheduler jobs create http unused-ip-job \ --schedule="* 2 * * *" \ --uri=$FUNCTION_URL \ --location={{{project_0.default_region | Region}}}

Klicken Sie auf Fortschritt prüfen.

App Engine-Anwendung erstellen
  1. Testen Sie den Job durch manuelles Auslösen:

    gcloud scheduler jobs run unused-ip-job \ --location={{{project_0.default_region | Region}}}

Sie sollten keine Ausgabe erhalten.

Klicken Sie auf Fortschritt prüfen.

Cloud Scheduler-Job ausführen
  1. Prüfen Sie, ob die nicht verwendete IP-Adresse gelöscht wurde:

    gcloud compute addresses list --filter="region:({{{project_0.default_region | Region}}})"

Die Ausgabe sieht etwa so aus:

NAME ADDRESS/RANGE TYPE PURPOSE NETWORK REGION SUBNET STATUS used-ip-address 104.197.56.87 EXTERNAL {{{project_0.default_region | Region}}} IN_USE

Klicken Sie auf Fortschritt prüfen.

Prüfen, ob die nicht verwendete IP-Adresse gelöscht wurde

Das wars! Sie haben das Lab erfolgreich abgeschlossen.

In diesem Lab haben Sie folgende Aufgaben erledigt:

  • Sie haben eine Compute Engine-VM mit zwei statischen externen IP-Adressen erstellt, von denen eine nicht verwendet wird.
  • Sie haben eine Cloud Run-Funktion bereitgestellt, mit der nicht verwendete Adressen gefunden werden.
  • Sie haben einen Cloud Scheduler-Job erstellt, um die Ausführung der Funktion mit einem HTTP-Trigger zu planen.

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 15. Januar 2025 aktualisiert

Lab zuletzt am 15. Januar 2025 getestet

© 2026 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.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Am besten führen Sie dieses Lab in einem Inkognito- oder privaten Browserfenster aus. So vermeiden Sie Konflikte zwischen Ihrem privaten Konto und dem Teilnehmerkonto, die zusätzliche Kosten für Ihr privates Konto verursachen könnten.