arrow_back

Kosten mit Google Cloud Storage optimieren

Anmelden Teilnehmen
Zugriff auf über 700 Labs und Kurse nutzen

Kosten mit Google Cloud Storage optimieren

Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Zugriff auf über 700 Labs und Kurse nutzen

GSP649

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Überblick

In diesem Lab nutzen Sie Cloud Run Functions und Cloud Scheduler, um nicht mehr verwendete Cloud-Ressourcen zu identifizieren und zu bereinigen. Sie lösen eine Cloud Run-Funktion aus, um einen Storage-Bucket mit einer Benachrichtigungsrichtlinie für Cloud Monitoring in eine kostengünstigere Speicherklasse zu migrieren.

In Google Cloud gibt es Lebenszyklusregeln für Storage-Objekte, mit denen Objekte auf der Grundlage von Attributen wie Erstellungsdatum oder Livestatus automatisch in verschiedene Speicherklassen verschoben werden. Diese Regeln erkennen jedoch nicht, ob auf die Objekte zugegriffen wurde. In manchen Situationen kann es jedoch sinnvoll sein, neuere Objekte in Nearline Storage zu verschieben, wenn über einen bestimmten Zeitraum kein Zugriff auf sie erfolgt ist.

Lernziele

Aufgaben in diesem Lab:

  • Zwei Storage-Buckets erstellen, eine Datei in den Serving-Bucket einfügen und Traffic generieren
  • Ein Cloud Monitoring-Dashboard erstellen, um die Bucket-Nutzung zu visualisieren
  • Eine Cloud Run-Funktion bereitstellen, die den inaktiven Bucket in eine kostengünstigere Speicherklasse migriert, und die Funktion mithilfe einer Nutzlast auslösen, die eine von einer Cloud-Benachrichtigungsrichtlinie empfangene Benachrichtigung simulieren soll

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

  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.

Architektur

Im folgenden Diagramm wird gezeigt, wie Sie mit einer Benachrichtigungsrichtlinie für Cloud Monitoring eine Cloud Run-Funktion auslösen, die einen Storage-Bucket in eine kostengünstigere Speicherklasse migriert.

Diagramm zur Migration von Storage-Buckets

Aufgabe 1: APIs aktivieren und Quellcode herunterladen

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

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

gcloud services enable cloudscheduler.googleapis.com

Klicken Sie auf Fortschritt prüfen.

Cloud Scheduler API aktivieren
  1. Laden Sie den Quellcode für das Lab herunter:
gcloud storage cp -r gs://spls/gsp649/* . && cd gcf-automated-resource-cleanup/
  1. 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) WORKDIR=$(pwd)
  1. Installieren Sie Apache Bench, ein Open-Source-Tool zur Lastgenerierung:
sudo apt-get update sudo apt-get install apache2-utils -y

Aufgabe 2: Cloud Storage-Buckets erstellen und eine Datei hinzufügen

  1. Wechseln Sie in Cloud Shell zum Verzeichnis migrate-storage:
cd $WORKDIR/migrate-storage
  1. Erstellen Sie serving-bucket, den Cloud Storage-Bucket. Diesen verwenden Sie später, um die Speicherklassen zu ändern:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) gcloud storage buckets create gs://${PROJECT_ID}-serving-bucket -l {{{project_0.default_region|REGION}}}

Klicken Sie auf Fortschritt prüfen.

Cloud Storage-Bucket erstellen
  1. Veröffentlichen Sie den Bucket:
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket
  1. Fügen Sie eine Textdatei in den Bucket ein:
gcloud storage cp $WORKDIR/migrate-storage/testfile.txt gs://${PROJECT_ID}-serving-bucket
  1. Veröffentlichen Sie die Datei:
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket/testfile.txt
  1. Prüfen Sie, ob Sie auf die Datei zugreifen können:
curl http://storage.googleapis.com/${PROJECT_ID}-serving-bucket/testfile.txt

Als Ausgabe erhalten Sie:

this is a test

Klicken Sie auf Fortschritt prüfen.

Cloud Storage-Bucket veröffentlichen
  1. Erstellen Sie einen zweiten Bucket namens „idle-bucket“, der keine Daten bereitstellt:
gcloud storage buckets create gs://${PROJECT_ID}-idle-bucket -l {{{project_0.default_region|REGION}}} export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket

Klicken Sie auf Fortschritt prüfen.

Einen weiteren Cloud Storage-Bucket erstellen

Aufgabe 3: Monitoring-Dashboard erstellen

Bereich für Monitoring-Messwerte erstellen

Richten Sie einen Bereich für Monitoring-Messwerte ein, der mit Ihrem Google Cloud-Projekt verknüpft ist. So erstellen Sie ein neues Konto, das einen kostenlosen Testzeitraum für Cloud Monitoring umfasst:

  • Klicken Sie in der Cloud Console auf Navigationsmenü (Symbol für Navigationsmenü) > „Alle Produkte ansehen“ > „Beobachtbarkeit“ > Monitoring.

Wenn die Seite mit der Monitoring-Übersicht geöffnet wird, ist Ihr Projekt für die Nutzung des Bereichs mit entsprechenden Messwerten bereit.

  1. Klicken Sie im linken Bereich auf Dashboards > Benutzerdefiniertes Dashboard erstellen.

  2. Geben Sie dem Dashboard den Namen Bucket Usage.

  3. Klicken Sie auf +WIDGET HINZUFÜGEN.

  4. Klicken Sie auf Linie.

  5. Geben Sie als Titel des Widgets Bucket Access ein.

  6. Wählen Sie unter Messwert auswählen GCS-Bucket > API > Anzahl der Anfragen aus und klicken Sie auf Anwenden.

Hinweis: Wenn Sie den Messwert Anzahl der Anfragen nicht finden, entfernen Sie das Häkchen bei Aktiv.

Messwert-Dashboard auswählen

  1. Gruppieren Sie dann die Messwerte anhand des Bucket-Namens. Wählen Sie dafür in der Drop-down-Liste Gruppieren nach die Option bucket_name aus und klicken Sie auf Ok.

  2. Klicken Sie auf + Filter hinzufügen.

Filtern nach Methodennamen:

  • Wählen Sie unter Nach Messwertlabel filtern die Option Methode aus.
  • Wählen Sie im Drop-down-Menü neben Methode die Option ReadObject aus.
  • Klicken Sie auf Übernehmen.

Sie haben Cloud Monitoring jetzt so konfiguriert, dass der Objektzugriff in Ihren Buckets überwacht wird. Im Diagramm werden keine Daten angezeigt, da kein Traffic an die Cloud Storage-Buckets gesendet wird.

Aufgabe 4: Last für den Serving-Bucket generieren

Monitoring ist nun konfiguriert. Im nächsten Schritt senden Sie Traffic mit Apache Bench an serving-bucket.

  1. Senden Sie in Cloud Shell Anforderungen an das Objekt in „serving-bucket“:
ab -n 10000 http://storage.googleapis.com/$PROJECT_ID-serving-bucket/testfile.txt
  1. Klicken Sie im linken Bereich auf Dashboards und dann auf den Namen des Dashboards Bucket-Nutzung. So rufen Sie das Diagramm „Bucket-Zugriff“ auf.
Hinweis: Sollten Sie diesen Tab zuvor geschlossen haben, wählen Sie im Navigationsmenü die Option „Alle Produkte ansehen“ > „Beobachtbarkeit“ > Monitoring aus. Klicken Sie dann im Bereich links auf Dashboards > Bucket-Nutzung. Hinweis: Es dauert mindestens eine Minute, bis das Diagramm im Dashboard Bucket-Nutzung angezeigt wird.
  1. Sehen Sie sich die Traffic-Details an.

Dashboard „Bucket-Nutzung“

Möglicherweise müssen Sie STRG + C eingeben, um zur Eingabeaufforderung zurückzukehren.

Aufgabe 5: Cloud Run-Funktion prüfen und bereitstellen

  1. Geben Sie in Cloud Shell den folgenden Befehl ein, um sich den Code der Cloud Run-Funktion anzeigen zu lassen, mit dem ein Speicher-Bucket in die Speicherklasse Nearline Storage migriert wird:
cat $WORKDIR/migrate-storage/main.py | grep "migrate_storage(" -A 15

Die Ausgabe sieht so aus:

def migrate_storage(request): request_json = request.get_json(force=True) bucket_name = request_json['incident']['resource_name'] print(f"bucket_name: {bucket_name}") # Print the bucket name if not bucket_name: print("Error: bucket_name is empty") return "Invalid bucket name", 400 storage_client = storage.Client(project) bucket = storage_client.get_bucket(bucket_name) bucket.storage_class = "NEARLINE" bucket.patch() return "Bucket migrated successfully", 200

Die Cloud Run-Funktion verwendet den in der Anfrage übergebenen Bucket-Namen, um die Speicherklasse in Nearline zu ändern.

  1. Aktualisieren Sie das Python-Skript, damit Ihre Projekt-ID verwendet wird:
sed -i "s/<project-id>/$PROJECT_ID/" $WORKDIR/migrate-storage/main.py
  1. Deaktivieren Sie die Cloud Run Functions API:
gcloud services disable cloudfunctions.googleapis.com
  1. Aktivieren Sie die Cloud Run Functions API erneut:
gcloud services enable cloudfunctions.googleapis.com
  1. Exportieren Sie die Projektnummer:
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
  1. Fügen Sie die Berechtigung artifactregistry.reader für Ihr Entwicklerdienstkonto hinzu:
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
  1. Stellen Sie die Cloud Run-Funktion bereit:
gcloud functions deploy migrate_storage --gen2 --trigger-http --runtime=python39 --region {{{project_0.default_region | Region}}}

Geben Sie bei Aufforderung Y ein, um die API [run.googleapis.com] für das Projekt zu aktivieren, und versuchen Sie es noch einmal. Gehen Sie genauso vor, um nicht authentifizierte Aufrufe zuzulassen.

Hinweis: Wenn ein Berechtigungsfehler ausgegeben wird, warten Sie einige Minuten und versuchen Sie es dann noch einmal.
  1. Legen Sie die Trigger-URL als Umgebungsvariable fest, die Sie im nächsten Abschnitt verwenden:
export FUNCTION_URL=$(gcloud functions describe migrate_storage --format=json --region {{{project_0.default_region | Region}}} | jq -r '.url')

Klicken Sie auf Fortschritt prüfen.

Cloud Run-Funktion bereitstellen

Aufgabe 6: Automatisierung für Benachrichtigungen testen und validieren

  1. Aktualisieren Sie die JSON-Datei mit dem Bucket-Namen:
export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket sed -i "s/\\\$IDLE_BUCKET_NAME/$IDLE_BUCKET_NAME/" $WORKDIR/migrate-storage/incident.json
  1. Senden Sie mithilfe der Datei incident.json eine Testbenachrichtigung an die bereitgestellte Cloud Run-Funktion:
envsubst < $WORKDIR/migrate-storage/incident.json | curl -X POST -H "Content-Type: application/json" $FUNCTION_URL -d @-

Die Ausgabe sieht so aus:

Bucket migrated successfully

Die Ausgabe endet nicht mit einem Zeilenumbruch. Daher folgt unmittelbar eine Eingabeaufforderung.

  1. Prüfen Sie, ob der inaktive Bucket in Nearline migriert wurde:
gsutil defstorageclass get gs://$PROJECT_ID-idle-bucket

Die Ausgabe sieht so aus:

gs://<project-id>-idle-bucket: NEARLINE

Klicken Sie auf Fortschritt prüfen.

Migration des Buckets in Nearline prüfen

Das wars!

Sie haben das Lab erfolgreich abgeschlossen. In diesem Lab haben Sie erfolgreich zwei Cloud Storage-Buckets erstellt, einem davon ein Objekt hinzugefügt, Cloud Monitoring so konfiguriert, dass der Bucket-Zugriff verfolgt wird, eine Cloud Run-Funktion zur Migration von Objekten in einen Nearline-Bucket geprüft und bereitgestellt und sie mit einer Cloud Monitoring-Benachrichtigung getestet.

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 4. März 2025 aktualisiert

Lab zuletzt am 4. März 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.

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

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.