arrow_back

Set Up a Google Cloud Network: Challenge-Lab

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

Set Up a Google Cloud Network: Challenge-Lab

Lab 1 Stunde 30 Minuten 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

GSP314

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

In einem Challenge-Lab geht es um ein bestimmtes Szenario mit mehreren Aufgaben. Anders als bei einem normalen Lab erhalten Sie jedoch keine Schritt-für-Schritt-Anleitung, sondern nutzen die in den Labs des jeweiligen Kurses erlernten Fähigkeiten, um die Aufgaben selbst zu lösen. Ihre Lösungen werden automatisch bewertet. Die erzielten Punkte finden Sie rechts oben auf dieser Seite.

In Challenge-Labs werden keine neuen Grundlagen zu Google Cloud vermittelt. Sie sollen dabei Ihr Wissen erweitern und es wird erwartet, dass Sie beispielsweise Standardwerte ändern und Fehlermeldungen lesen und recherchieren, um Ihre eigenen Fehler zu beheben.

Die volle Punktzahl erreichen Sie nur, wenn Sie alle Aufgaben innerhalb der vorgegebenen Zeit lösen.

Dieses Lab wird Teilnehmern empfohlen, die sich für den Kurs Set up a Google Cloud Network angemeldet haben. Sind Sie bereit?

Einrichtung

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.

Das Szenario

Logo von Cymbal Direct

Sie arbeiten als Cloud Engineer bei Cymbal Direct, einem Online-Einzelhändler für Schuhe und Bekleidung. Cymbal Direct wächst rasch und hat im Rahmen seiner Wachstumsstrategie ein neues Unternehmen namens Antern übernommen. Antern ist ein Onlineshop mit einer großen Menge an Daten, die bei korrekter Einbindung in Ihre vorhandene Cloud-Umgebung äußerst nützlich sein werden: Ihr Unternehmen kann damit sein Geschäft weiter ausbauen und noch mehr Kunden erreichen. Im Rahmen der Übernahme möchte Cymbal Direct die vorhandenen Arbeitslasten und die Infrastruktur von Antern von lokalen Systemen zu Google Cloud migrieren.

Antern hat die folgenden Ressourcen, die in die bestehende Cloud-Umgebung von Cymbal Direct migriert, kopiert oder dort neu erstellt werden müssen:

  • PostgreSQL-Datenbank (auf einer virtuellen Maschine), die zu Cloud SQL for PostgreSQL migriert werden muss
  • Anwendungscode containerisierter Mikrodienste, der auf der GKE bereitgestellt werden muss (Zuverlässigkeitsprobleme, die bei Tests erkannt wurden, müssen behoben werden)
  • VPC-Netzwerk mit zwei Subnetzwerken und Firewalls, die erstellt werden müssen, um neue Ressourcen miteinander zu verbinden
  • IAM-Nutzer in verschiedenen Projekten, denen die entsprechenden Berechtigungen und Rollen für bestimmte Ressourcen gewährt werden müssen

Ihre Aufgabe ist, Cymbal Direct beim Erreichen dieser Ziele zu unterstützen.

Aufgabe 1: Eigenständige PostgreSQL-Datenbank zu einer Cloud SQL for PostgreSQL-Instanz migrieren

Antern hat bisher eine PostgreSQL-Datenbank genutzt, die auf einer lokalen VM ausgeführt wird, um E-Commerce-Bestellungen zu speichern. Im Rahmen der Übernahme verlangt Cymbal, dass diese Datenbank mit Database Migration Service zu Cloud SQL for PostgreSQL migriert wird. Wenn die Datenbank in Cloud SQL ausgeführt wird, kann Cymbal von den betrieblichen Vorteilen von PostgreSQL sowie höherer Verfügbarkeit, Stabilität und Sicherheit im Unternehmen profitieren.

In dieser Aufgabe migrieren Sie die eigenständige PostgreSQL-Datenbank orders, die auf der virtuellen Maschine antern-postgresql-vm ausgeführt wird, zu einer Cloud SQL for PostgreSQL-Instanz. Dazu verwenden Sie einen kontinuierlichen Migrationsjob in Database Migration Service und eine VPC-Peering-Verbindung.

Eigenständige PostgreSQL-Datenbank für die Migration vorbereiten

Hinweis: Für die erste Aufgabe müssen Sie sich im Antern-Projekt mit den Anmeldedaten des Antern Owner anmelden.

In dieser Unteraufgabe müssen Sie die eigenständige PostgreSQL-Datenbank so vorbereiten, dass sie die Anforderungen für die Migration mit Database Migration Service erfüllt.

Führen Sie dazu die folgenden Schritte aus:

  1. Aktivieren Sie die Google Cloud APIs für Database Migration Service.

Damit Database Migration Service funktioniert, müssen die Database Migration API und die Service Networking API aktiviert sein. Aktivieren Sie diese APIs für Ihr Projekt.

  1. Ergänzen Sie die Zieldatenbanken auf der virtuellen Maschine antern-postgresql-vm um die Datenbankerweiterung pglogical.

Sie müssen die Datenbankerweiterung pglogical in der eigenständigen PostgreSQL-Datenbank auf der Compute-Instanz-VM antern-postgresql-vm installieren und konfigurieren. Das zu installierende pglogical-Datenbankerweiterungspaket heißt postgresql-13-pglogical.

Zur Konfiguration der Datenbankerweiterung pglogical müssen Sie die PostgreSQL-Konfigurationsdatei /etc/postgresql/13/main/postgresql.conf bearbeiten, um die Datenbankerweiterung pglogical zu aktivieren, und die Datei /etc/postgresql/13/main/pg_hba.conf, um Zugriff von allen Hosts zu gewähren.

  1. Erstellen Sie einen eigenen Nutzer für die Datenbankmigration in der eigenständigen Datenbank.

Der neue Nutzer, den Sie in der eigenständigen PostgreSQL-Installation auf der virtuellen Maschine antern-postgresql-vm erstellen, muss mit diesem Nutzernamen und Passwort konfiguriert werden:

  • Nutzername für die Migration:
  • Passwort für die Migration: DMS_1s_cool!
  1. Gewähren Sie diesem Nutzer die nötigen Berechtigungen für die zu migrierenden Datenbanken.

Database Migration Service erfordert, dass der Migrationsnutzer Berechtigungen für bestimmte Schemas und Beziehungen der Zieldatenbanken hat. In diesem Fall sind das die Datenbanken orders und postgres.

  1. Für die Migration mit Database Migration Service müssen alle Tabellen einen Primärschlüssel haben. Nachdem Sie dem Nutzer die erforderlichen Berechtigungen gewährt haben, führen Sie den folgenden Befehl aus, um der Tabelle inventory_items einen Primärschlüssel hinzuzufügen und PSQL zu verlassen.
ALTER TABLE public.inventory_items ADD PRIMARY KEY(id); \q exit Hinweis: Die detaillierten Voraussetzungen für das Migrieren einer eigenständigen PostgreSQL-Datenbank zu Cloud SQL for PostgreSQL finden Sie über die Empfehlungslinks im Cloud Console-GUI für Database Migration Service. Falls Sie Hilfe zu den einzelnen Schritten benötigen, lesen Sie diese Dokumentation oder sehen Sie sich die Schritte im Migrationslab an, das Teil dieses Kurses ist.

Klicken Sie auf Fortschritt prüfen. Eigenständige PostgreSQL-Datenbank für die Migration zu Cloud SQL for PostgreSQL vorbereiten

Eigenständige PostgreSQL-Datenbank zu einer Cloud SQL for PostgreSQL-Instanz migrieren

In dieser Unteraufgabe führen Sie die Migration mit Database Migration Service durch.

Führen Sie dazu die folgenden Schritte aus:

  1. Erstellen Sie ein neues Database Migration Service-Verbindungsprofil für die eigenständige PostgreSQL-Datenbank. Verwenden Sie dazu die Anmeldedaten des Migrationsnutzers , den Sie zuvor erstellt haben.
  • Nutzername:
  • Passwort: DMS_1s_cool!
  • Region:

Sie müssen das Verbindungsprofil mit der internen IP-Adresse der Compute-Quellinstanz konfigurieren.

  1. Erstellen Sie einen neuen kontinuierlichen Database Migration Service-Job.
  • Geben Sie als Name des Migrationsjobs den Namen ein.
  • Wählen Sie als Quelldatenbankmodul PostgreSQL aus.
  • Wählen Sie als Zieldatenbankmodul Cloud SQL for PostgreSQL aus.
  • Zielregion:

Achten Sie bei der Konfiguration des Migrationsjobs darauf, die folgenden Eigenschaften für die Cloud SQL-Zielinstanz festzulegen:

  • Als Zielinstanz-ID muss ausgewählt sein.
  • Das Passwort der migrierten Instanz muss supersecret! lauten.
  • Als Datenbankversion muss Cloud SQL for PostgreSQL 13 festgelegt sein.
  • Wählen Sie die Cloud SQL-Edition Enterprise aus.
  • Als Region muss festgelegt sein.
  • Wählen Sie als Verbindungen sowohl Öffentliche IP-Adresse als auch Private IP-Adresse aus.
  • Verwenden Sie für private IP-Adressen einen automatisch zugeordneten IP-Bereich und klicken Sie auf Zuweisen und verbinden.
  • Wählen Sie einen Standardmaschinentyp mit 4 vCPUs und 16 GB aus.
  • Wählen Sie als Speichertyp die Option SSD aus.
  • Legen Sie als Speicherkapazität 10 GB fest.

Als Verbindungsmethode müssen Sie VPC-Peering mit dem Standard-VPC-Netzwerk wählen.

  1. Testen und starten Sie den kontinuierlichen Migrationsjob.
Hinweis: Falls Sie die PostgreSQL-Quellumgebung nicht korrekt vorbereiten, kann es passieren, dass die Migration vollständig fehlschlägt oder einzelne Tabellen nicht migriert werden. Wenn einige Tabellen fehlen, sollten Sie prüfen, ob Sie alle Quelldatenbanktabellen korrekt konfiguriert haben, auch wenn die Migration ansonsten zu funktionieren scheint.

Klicken Sie auf Fortschritt prüfen. Eigenständige PostgreSQL-Datenbank zu einer Cloud SQL for PostgreSQL-Instanz migrieren

Aus einer Cloud SQL-Instanz eine eigenständige Instanz zum Lesen und Schreiben von Daten machen

  • In dieser Aufgabe schließen Sie die Migration ab, indem Sie die Cloud SQL for PostgreSQL-Instanz zu einer eigenständigen Instanz hochstufen.
  • Wenn dies erledigt ist, hat der Job den Status „Abgeschlossen“.

Klicken Sie auf Fortschritt prüfen. Cloud SQL-Migrationsreplikat zu einer eigenständigen Instanz hochstufen

Hinweis: In diesem Lab müssen Sie nicht warten, bis die Migration abgeschlossen ist, um die Instanz zu einer eigenständigen Instanz hochzustufen. Wenn die Aktion in der Console verfügbar ist, können Sie sie ausführen.

Aufgabe 2: Berechtigungen aktualisieren und Nutzern IAM-Rollen hinzufügen

Nachdem die Datenbank zu einer Cloud SQL for PostgreSQL-Instanz migriert wurde, müssen Sie die Nutzerrollen verschiedener Mitglieder der Teams von Antern und Cymbal Direct über IAM aktualisieren. Der Nutzer Antern Editor benötigt Zugriff auf die Cloud SQL-Datenbank, der Nutzer Cymbal Owner Administratorzugriff, um die volle Kontrolle über die Cloud SQL-Ressourcen zu haben, und der Nutzer Cymbal Editor Bearbeitungsberechtigungen für das Projekt.

Hinweis: Für diese Aufgabe müssen Sie sich im Antern-Projekt mit den Anmeldedaten des Antern Owner anmelden. Tipp: Gewähren Sie den erforderlichen Nutzern die gewünschten Rollen über Cloud IAM.
  1. Gewähren Sie dem Nutzer Antern Editor die Rolle Cloud SQL Instance User für die Cloud SQL-Datenbank. Sein Nutzername lautet: .

    • Wechseln Sie zur Cloud SQL-Datenbank, die Sie gerade erstellt haben. Fügen Sie im Abschnitt Nutzer das Nutzerkonto Antern Editor zur erstellten Datenbank hinzu. Verwenden Sie die Cloud IAM-Authentifizierung und für das Hauptkonto den obigen Nutzernamen.
  2. Gewähren Sie dem Nutzer Cymbal Owner die Rolle Cloud SQL Admin für die Cloud SQL-Datenbank. Sein Nutzername lautet: .

    • Wechseln Sie zur Cloud SQL-Datenbank, die Sie gerade erstellt haben. Fügen Sie im Abschnitt Nutzer das Nutzerkonto Cymbal Owner zur erstellten Datenbank hinzu. Verwenden Sie die Cloud IAM-Authentifizierung und für das Hauptkonto den obigen Nutzernamen.
  3. Ändern Sie die Nutzerrolle Cymbal Editor von Viewer in Editor. Sein Nutzername lautet .

Klicken Sie auf Fortschritt prüfen. Berechtigungen aktualisieren und Nutzern IAM-Rollen hinzufügen

Aufgabe 3: Netzwerke und Firewalls erstellen

Im Rahmen der Übernahme ist es notwendig, dass Sie ein VPC-Netzwerk zur internen Verbindung von Ressourcen im Cymbal-Projekt neu erstellen. Genauer gesagt brauchen Sie ein VPC-Netzwerk mit zwei Subnetzen und Firewalls zum Herstellen von Verbindungen zwischen Ressourcen. Darüber hinaus muss Ihr Team in diesem Netzwerk Verbindungen zu Linux‑ und Windows-Computern über SSH und RDP herstellen sowie Probleme mit der Netzwerkkommunikation über ICMP diagnostizieren können.

In dieser Aufgabe erstellen Sie ein VPC-Netzwerk und Firewallregeln, die diese Anforderungen erfüllen.

Hinweis: Für diese Aufgabe müssen Sie sich im Cymbal-Projekt mit den Anmeldedaten des Cymbal Owner anmelden.

VPC-Netzwerk mit zwei Subnetzwerken erstellen

  1. Erstellen Sie ein VPC-Netzwerk namens mit den zwei Subnetzen und . Verwenden Sie einen regionalen Modus für dynamisches Routing.

  2. Wählen Sie für als Region aus.

    • Wählen Sie als IP-Stacktyp die Option IPv4 (Einzelstack) aus.
    • Legen Sie als IPv4-Bereich 10.10.10.0/24 fest.
  3. Wählen Sie für als Region aus.

    • Wählen Sie als IP-Stacktyp die Option IPv4 (Einzelstack) aus.
    • Legen Sie als IPv4-Bereich 10.10.20.0/24 fest.

Firewallregeln für das VPC-Netzwerk erstellen

  1. Erstellen Sie eine Firewallregel mit dem Namen .

    • Verwenden Sie als Netzwerk .
    • Wählen Sie für die Priorität 65535, für den Traffic Eingehender Traffic und für die Aktion Zulassen aus.
    • Als Ziele sollten alle Instanzen im Netzwerk und als IPv4-Bereich sollte 0.0.0.0/24 festgelegt werden.
    • Wählen Sie als Protokoll TCP und als Port 22 aus.
  2. Erstellen Sie eine Firewallregel mit dem Namen .

    • Verwenden Sie als Netzwerk .
    • Wählen Sie für die Priorität 65535, für den Traffic Eingehender Traffic und für die Aktion Zulassen aus.
    • Als Ziele sollten alle Instanzen im Netzwerk und als IPv4-Bereich sollte 0.0.0.0/24 festgelegt werden.
    • Wählen Sie als Protokoll TCP und als Port 3389 aus.
  3. Erstellen Sie eine Firewallregel mit dem Namen .

    • Verwenden Sie als Netzwerk .
    • Wählen Sie für die Priorität 65535, für den Traffic Eingehender Traffic und für die Aktion Zulassen aus.
    • Als Ziele sollten alle Instanzen im Netzwerk und als IPv4-Bereich sollte 0.0.0.0/24 festgelegt werden.
    • Wählen Sie als Protokoll ICMP aus.

Klicken Sie auf Fortschritt prüfen. Netzwerke und Firewalls erstellen

Aufgabe 4: Fehler in einem GKE-Cluster beheben

Hinweis: Für diese Aufgabe müssen Sie sich im Cymbal-Projekt mit den Anmeldedaten des Cymbal Owner anmelden.

Nachdem der GKE-Cluster für die E-Commerce-Website bereitgestellt wurde, informiert Sie Ihr Team über einige bekannte Probleme mit dem GKE-Cluster, bei denen noch Handlungsbedarf besteht. Es wurden drei Fehler gefunden, die behoben werden müssen:

  • 1. Fehler: Zu hohe Latenz des Frontend-Diensts
  • 2. Fehler: Veraltete Bewertungen
  • 3. Fehler: Absturz des Empfehlungsdiensts

Sie wurden im Rahmen der Übernahme beauftragt, den zu beheben. Andere Entwickler aus Ihrem Team haben zu jedem der gefundenen Probleme weitere Informationen bereitgestellt, die Sie nutzen können, um den Fehler zu beheben.

Hinweise:

  • 1. Fehler: Prüfen Sie die externe IP-Adresse der Demoanwendung auf sichtbare Änderungen. Sie können auch Monitoring-Dashboards verwenden, um sich Messwerte zu jedem Dienst anzusehen.
  • 2. Fehler: Produktbewertungen werden über den „Bewertungsdienst“ verwaltet, der in der Google App Engine gehostet wird. Die Bewertungsdaten werden auf dem neuesten Stand gehalten, indem regelmäßig ein API-Endpunkt aufgerufen wird, der alle vor Kurzem gesendeten neuen Bewertungspunktzahlen für jedes Produkt erfasst und daraus eine Bewertung erstellt. Prüfen Sie anhand der Logs des App Engine-Diensts, ob der Bewertungsdienst normal funktioniert. Ein anderes Teammitglied hat darauf hingewiesen, dass dieser Fehler mit einem Problem in der Datei main.py zusammenhängen könnte.
  • 3. Fehler: Sehen Sie sich die Website an, bis Sie einen Fehler entdecken, und prüfen Sie in Cloud Logging die von jedem Dienst exportierten Logs. Ein anderes Teammitglied hat darauf hingewiesen, dass die Abstürze durch eine Ganzzahlkonvertierungsphase im Dienst verursacht werden könnten.

BigQuery-Logsenke erstellen

Bevor Sie das zugrunde liegende Problem beheben können, werden Sie gebeten, eine Logsenke zum Senden der Fehler des Dienstes zu erstellen. Anschließend müssen Sie über IAM Nutzern von Antern andere Zugriffsberechtigungen auf BigQuery gewähren, damit sie das Dataset öffnen und damit arbeiten können.

  1. Verwenden Sie den Log-Explorer, um die ausgeführte GKE-Anwendung und den fehlerhaften Dienst zu untersuchen. Hinweis: Halten Sie nach Logs mit dem Schweregrad ERROR Ausschau.

  2. Nachdem Sie die Fehlerlogs des Dienstes gefunden haben, erstellen Sie eine Senke, um die Logs an BigQuery zu senden.

    • Geben Sie der Senke den Namen .
    • Erstellen Sie als Ziel ein BigQuery-Dataset namens gke_app_errors_sink am Standort us (mehrere Regionen in den USA).
    • Der Einschlussfilter soll resource.type, und severity beinhalten.
Hinweis: Falls ein Berechtigungsfehler auftritt, prüfen Sie, ob Sie beim Cymbal-Projekt mit den Anmeldedaten des Cymbal Owner angemeldet sind.
  1. Gewähren Sie dem Nutzer Antern Editor für dieses Projekt die Rolle BigQuery Data Viewer. Sein Nutzername lautet: .

  2. Gewähren Sie dem Nutzer Antern Owner für dieses Projekt die Rolle BigQuery Admin. Sein Nutzername lautet: .

Klicken Sie auf Fortschritt prüfen. BigQuery-Logsenke erstellen

Fehler im GKE-Cluster beheben

Während Sie eine Logsenke in BigQuery für die Fehler im Dienst erstellt haben, haben Entwickler in Ihrem Team herausgefunden, wie sich das Problem beheben lässt. In dieser Aufgabe laden Sie den Lösungscode herunter und führen ihn aus, um den Fehler im Dienst Ihres GKE-Clusters zu beheben.

  1. Stellen Sie eine Verbindung zum GKE-Cluster cloud-ops-sandbox her und führen Sie die folgenden Befehle aus, um das Problem zu lösen. Beantworten Sie die Fragen, wenn Sie dazu aufgefordert werden.
git clone --depth 1 --branch csb_1220 https://github.com/GoogleCloudPlatform/cloud-ops-sandbox.git cd cloud-ops-sandbox/sre-recipes ./sandboxctl sre-recipes restore {{{ cymbal_project.startup_script.recipe_number | recipe number }}} ./sandboxctl sre-recipes verify {{{ cymbal_project.startup_script.recipe_number | recipe number }}}
  1. Prüfen Sie, ob der Onlineshop korrekt funktioniert.

Das wars!

Sie haben Ihre Aufgaben als Cloud Engineer erledigt. Sie haben eine PostgreSQL-Datenbank zu einer Cloud SQL for PostgreSQL-Instanz migriert, ein VPC-Netzwerk mit Subnetzwerken und Firewalls erstellt, Probleme in einem GKE-Cluster behoben und IAM-Nutzern Berechtigungen für mehrere Projekte gewährt.

Skill-Logo „Deploy and Manage Cloud Environments“

Nächstes Skill-Logo erwerben

Dieses Lab zum selbstbestimmten Lernen ist Teil des Kurses Set up a Google Cloud Network. Wenn Sie diesen Kurs abschließen, erhalten Sie das oben gezeigte Skill-Logo, das Sie in Ihren Lebenslauf oder Ihre Social-Media-Profile einfügen können. Teilen Sie Ihre Leistung mit #GoogleCloudBadge.

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 30. April 2024 aktualisiert Lab zuletzt am 30. 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.