Überblick
In diesem Lab erstellen Sie einen Cloud Storage-Bucket und legen dort ein Bild ab. Außerdem konfigurieren Sie eine in der Compute Engine ausgeführte Anwendung, damit sie eine von Cloud SQL verwaltete Datenbank verwendet. Sie richten dazu einen Webserver mit PHP ein, einer Webentwicklungsumgebung, auf der viele beliebte Blogging-Softwarelösungen basieren. In der Praxis verwenden Sie zur Konfiguration solcher Pakete ähnliche Verfahren.
Dann konfigurieren Sie den Webserver so, dass er auf das Bild im Cloud Storage-Bucket verweist.
Lernziele
Zu erlernende Aufgaben in diesem Lab:
- Cloud Storage-Bucket erstellen und ein Bild dort ablegen
- Cloud SQL-Instanz erstellen und konfigurieren
- Webserver mit der Cloud SQL-Instanz verbinden
- Bild im Cloud Storage-Bucket auf einer Webseite verwenden
Aufgabe 1: In der Google Cloud Console anmelden
Für jedes Lab werden Ihnen ein neues Google Cloud-Projekt und die entsprechenden Ressourcen für eine bestimmte Zeit kostenlos zur Verfügung gestellt.
-
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
-
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 eine Liste der Google Cloud-Produkte und ‑Dienste aufrufen möchten, klicken Sie oben links auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Aufgabe 2: VM-Instanz für Webserver bereitstellen
Bei dieser Aufgabe stellen Sie mit Compute Engine eine VM-Instanz bereit, konfigurieren sie mit einem Webserver (Apache) und verwenden ein Startscript für die notwendigen Scripting-Aufgaben zur Ersteinrichtung. Als Nächstes notieren Sie sich die Netzwerk-IDs.
-
Klicken Sie in der Cloud Console im Navigationsmenü (
) auf Compute Engine > VM-Instanzen.
-
Klicken Sie auf Instanz erstellen.
-
Geben Sie unter Name den Wert bloghost ein.
-
Wählen Sie bei Region die Option aus.
-
Wählen Sie bei Zone die Option aus.
-
Wählen Sie als Maschinentyp die Option e2-standard-2 aus.
-
Klicken Sie im linken Bereich auf Betriebssystem und Speicher. Wenn das angezeigte Image nicht Debian GNU/Linux 12 (Bookworm) ist, klicken Sie auf Ändern und wählen Sie die Version Debian GNU/Linux 12 (Bookworm) aus.
-
Klicken Sie auf Netzwerke.
-
Klicken Sie unter Firewall auf HTTP-Traffic zulassen.
-
Klicken Sie im linken Bereich auf Erweitert.
-
Fügen Sie unter Automatisierung das folgende Script als Wert für das Startscript ein:
apt-get install apache2 php php-mysql -y
service apache2 restart
Hinweis: Achten Sie darauf, dieses Script als Wert in das Feld Startscript anzugeben. Wenn Sie ein anderes Feld benutzen, wird das Script beim Starten der VM-Instanz nicht ausgeführt.
- Lassen Sie alle anderen Einstellungen unverändert und klicken Sie auf Erstellen.
Hinweis: Es kann etwa zwei Minuten dauern, bis die Instanz gestartet wird und verfügbar ist.
- Kopieren Sie auf der Seite VM-Instanzen die interne und die externe IP-Adresse der bloghost-VM-Instanz in einen Texteditor. Sie benötigen die Adressen später in diesem Lab.
Klicken Sie auf Fortschritt prüfen.
VM-Instanz für Webserver bereitstellen
Aufgabe 3: Cloud Storage-Bucket mit der gcloud storage-Befehlszeile erstellen
In dieser Aufgabe verwenden Sie das gcloud storage-Befehlszeilentool, um einen global eindeutigen Cloud Storage-Bucket zu erstellen, seinen Standort festzulegen, ein öffentliches Bild hochzuladen und dieses bestimmte Objekt öffentlich lesbar zu machen.
Der Name des Cloud Storage-Buckets muss global eindeutig sein. Der Einfachheit halber verwenden wir in dieser Anleitung als Namen die Google Cloud-Projekt-ID, die ebenfalls global eindeutig ist.
Cloud Storage-Buckets können einer Region oder einem multiregionalen Standort zugewiesen werden: US, EU oder ASIA. Hier weisen Sie Ihren Bucket dem multiregionalen Standort zu, der der Region und Zone, die Ihnen in Qwiklabs oder von Ihrem Kursleiter zugewiesen wurden, am nächsten ist.
-
Klicken Sie in der Google Cloud Console in der Symbolleiste rechts oben auf Cloud Shell aktivieren
. Wenn ein Dialogfeld angezeigt wird, klicken Sie auf Fortfahren.
-
Zur Vereinfachung können Sie Ihren ausgewählten Standort in eine Umgebungsvariable mit dem Namen LOCATION einsetzen. Geben Sie einen der folgenden Befehle ein:
export LOCATION=US
oder
export LOCATION=EU
oder
export LOCATION=ASIA
- In Cloud Shell enthält die Umgebungsvariable DEVSHELL_PROJECT_ID Ihre Projekt-ID. Mit dem folgenden Befehl erstellen Sie einen Bucket, der nach Ihrer Projekt-ID benannt ist:
gcloud storage buckets create -l $LOCATION gs://$DEVSHELL_PROJECT_ID
Wenn Sie dazu aufgefordert werden, klicken Sie auf Autorisieren, um fortzufahren.
- Rufen Sie aus einem öffentlich zugänglichen Cloud Storage-Speicherort ein Bannerbild ab:
gcloud storage cp gs://cloud-training/gcpfci/my-excellent-blog.png my-excellent-blog.png
- Kopieren Sie das Banner-Bild in Ihren neu erstellten Cloud Storage-Bucket:
gcloud storage cp my-excellent-blog.png gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png
- Ändern Sie die Access Control List des eben erstellten Objekts so, dass jeder Nutzer Lesezugriff hat:
gsutil acl ch -u allUsers:R gs://$DEVSHELL_PROJECT_ID/my-excellent-blog.png
Klicken Sie auf Fortschritt prüfen.
Cloud Storage-Bucket mit der gcloud storage-Befehlszeile erstellen
Aufgabe 4: Cloud SQL-Instanz erstellen
In dieser Aufgabe erstellen und konfigurieren Sie eine verwaltete MySQL-Datenbankinstanz mit Cloud SQL und richten ein bestimmtes Nutzerkonto ein. Vor allem aber autorisieren Sie die externe IP-Adresse Ihres zukünftigen Webservers für die Netzwerkverbindung.
-
Klicken Sie im Navigationsmenü (
) der Google Cloud Console auf Cloud SQL.
-
Klicken Sie auf Instanz erstellen.
-
Wählen Sie unter Datenbankmodul auswählen die Option MySQL auswählen aus.
-
Klicken Sie unter Cloud SQL-Version auswählen auf Enterprise und wählen Sie unter Versionsvoreinstellung im Drop-down-Menü die Option Sandbox aus.
-
Geben Sie als Instanz-ID den Wert blog-db ein und als Passwort den Wert Passw0rd1!.
-
Wählen Sie unter Region die Option aus.
-
Wählen Sie unter Zonale Verfügbarkeit die Option Einzelne Zone aus.
-
Maximieren Sie Zonen angeben und wählen Sie unter Primäre Zone die Option aus.
Hinweis: Das ist dieselbe Region und Zone, in der Sie auch die bloghost-Instanz gestartet haben. Die beste Leistung wird erreicht, wenn Client und Datenbank möglichst nahe beieinander sind.
-
Maximieren Sie unter „Instanz anpassen“ die Option Konfigurationsoptionen einblenden.
-
Maximieren Sie Sicherheit und klicken Sie dann auf Unverschlüsselten Netzwerktraffic zulassen (nicht empfohlen).
Hinweis: In diesem Lab wird kein SSL verwendet. Achten Sie also darauf, die oben genannte Option festzulegen.
- Klicken Sie auf Instanz erstellen.
Hinweis: Warten Sie, bis die Instanz bereitgestellt ist. Das dauert einige Minuten.
Nutzer und Verbindungen konfigurieren
-
Kopieren Sie auf der Seite mit den SQL-Instanzdetails unter Mit dieser Instanz verbinden die öffentliche IP-Adresse Ihrer SQL-Instanz in einen Texteditor. Sie wird in diesem Lab später noch benötigt.
-
Klicken Sie im linken Bereich auf Nutzer und dann auf Nutzerkonto hinzufügen.
-
Geben Sie unter Nutzername den Wert blogdbuser ein.
-
Geben Sie unter Passwort den Wert Passw0rd1! ein.
-
Klicken Sie auf Hinzufügen, um der Datenbank das Nutzerkonto hinzuzufügen.
Hinweis: Warten Sie, bis der Nutzer erstellt ist.
-
Klicken Sie im linken Bereich auf Verbindungen und dann auf den Tab Netzwerk.
-
Klicken Sie auf Netzwerk hinzufügen.
Hinweis: Wenn Sie zwischen einer Verbindung mit privater IP-Adresse und einer mit öffentlicher IP-Adresse wählen können, verwenden Sie für dieses Lab die öffentliche IP-Adresse.
Hinweis: Der Button Netzwerk hinzufügen ist nicht verfügbar, wenn die Erstellung des Nutzerkontos noch nicht abgeschlossen ist.
-
Geben Sie unter Name den Wert web front end ein.
-
Geben Sie unter Netzwerk die externe IP-Adresse Ihrer bloghost-VM-Instanz ein, gefolgt von /32
Das Ergebnis sieht so aus:
35.192.208.2/32
Hinweis: Verwenden Sie die externe IP-Adresse Ihrer VM-Instanz, gefolgt von „/32“, Geben Sie nicht die interne IP-Adresse der VM-Instanz oder die hier genannte Beispiel-IP-Adresse ein.
-
Klicken Sie auf Fertig, um die Definition des autorisierten Netzwerks zu beenden.
-
Speichern Sie die Konfigurationsänderung.
Hinweis: Falls die Meldung Ein anderer Vorgang ist in Bearbeitung angezeigt wird, warten Sie ein paar Minuten, bis neben blog-db ein grünes Häkchen zu sehen ist. Dann können Sie die Konfiguration speichern.
Klicken Sie auf Fortschritt prüfen.
Cloud SQL-Instanz erstellen
Aufgabe 5: Anwendung in einer Compute Engine-Instanz für die Verwendung von Cloud SQL konfigurieren
Bei dieser Aufgabe stellen Sie eine sichere Verbindung zwischen dem Apache-Webserver, der auf Ihrer VM-Instanz ausgeführt wird, und der Cloud SQL-Datenbank her. Dazu ändern Sie den PHP-Anwendungscode (index.php) so, dass die IP-Adresse und die Anmeldedaten der Datenbank enthalten sind.
-
Klicken Sie im Navigationsmenü (
) auf Compute Engine und dann auf VM-Instanzen.
-
Klicken Sie in der Liste der VM-Instanzen bei bloghost auf SSH. Klicken Sie auf Autorisieren, wenn Sie dazu aufgefordert werden.
-
Wechseln Sie in Ihrer SSH-Sitzung auf bloghost in das Dokumentenstammverzeichnis des Webservers:
cd /var/www/html
- Bearbeiten Sie mit dem nano-Texteditor die Datei index.php:
sudo nano index.php
- Kopieren Sie den folgenden Code und fügen Sie ihn in die Datei ein:
<html>
<head><title>Welcome to my excellent blog</title></head>
<body>
<h1>Welcome to my excellent blog</h1>
<?php
$dbserver = "CLOUDSQLIP";
$dbuser = "blogdbuser";
$dbpassword = "DBPASSWORD";
// In a production blog, we would not store the MySQL
// password in the document root. Instead, we would store
// it in a Secret Manger. For more information see
// https://cloud.google.com/sql/docs/postgres/use-secret-manager
try {
$conn = new PDO("mysql:host=$dbserver;dbname=mysql", $dbuser, $dbpassword);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch(PDOException $e) {
echo "Database connection failed:: " . $e->getMessage();
}
?>
</body></html>
Hinweis: Später werden Sie die IP-Adresse Ihrer Cloud SQL-Instanz und Ihr Datenbankpasswort in dieser Datei speichern. Vorerst bleibt die Datei jedoch unverändert.
-
Drücken Sie Strg + O und dann die Eingabetaste, um die bearbeitete Datei zu speichern.
-
Drücken Sie Strg + X, um den nano-Texteditor zu verlassen.
-
Starten Sie den Webserver neu:
sudo service apache2 restart
- Öffnen Sie im Webbrowser einen neuen Tab und fügen Sie die externe IP-Adresse Ihrer bloghost-VM-Instanz gefolgt von /index.php in die Adresszeile ein. Die URL sieht so aus:
35.192.208.2/index.php
Hinweis: Verwenden Sie die externe IP-Adresse Ihrer VM-Instanz, gefolgt von /index.php. Geben Sie nicht die interne IP-Adresse der VM-Instanz oder die hier genannte Beispiel-IP-Adresse ein.
Falls Ihnen die Meldung angezeigt wird, dass die IP-Adresse keine verschlüsselte Verbindung unterstützt, klicken Sie auf Weiter zur Website.
Beim Laden der Seite wird Ihnen auffallen, dass dort eine Fehlermeldung angezeigt wird, die mit folgenden Worten beginnt:
Database connection failed: ...
Hinweis: Das weist daraufhin, dass die Verbindung von PHP zu Ihrer Cloud SQL-Instanz noch nicht konfiguriert wurde.
- Kehren Sie zu Ihrer SSH-Sitzung auf bloghost zurück. Bearbeiten Sie index.php wieder mit dem nano-Texteditor. Achten Sie darauf, dass Sie sich im Verzeichnis „/var/www/html“ befinden.
sudo nano index.php
-
Ersetzen Sie im nano-Texteditor CLOUDSQLIP durch die öffentliche IP-Adresse der Cloud SQL-Instanz (blog-db), die Sie oben notiert haben. Übernehmen Sie die Anführungszeichen vor und nach dem Wert.
-
Ersetzen Sie im nano-Texteditor DBPASSWORD durch das Datenbankpasswort von Cloud SQL, das Sie oben notiert haben, also Passw0rd1!. Übernehmen Sie die Anführungszeichen vor und nach dem Wert.
-
Drücken Sie Strg + O und dann die Eingabetaste, um die bearbeitete Datei zu speichern.
-
Drücken Sie Strg + X, um den nano-Texteditor zu verlassen.
-
Starten Sie den Webserver neu:
sudo service apache2 restart
- Kehren Sie zum Tab des Webbrowsers zurück, in dem Sie die externe IP-Adresse Ihrer bloghost-VM-Instanz geöffnet haben. Beim Laden der Seite erscheint die folgende Nachricht:
Connected successfully
Hinweis: In einem realen Blog würden Besucher den Verbindungsstatus zur Datenbank natürlich nicht sehen. Für die Datenbankverbindung ist nur der Administrator verantwortlich.
Aufgabe 6: Anwendung in einer Compute Engine-Instanz für die Verwendung eines Cloud Storage-Objekts konfigurieren
In dieser Aufgabe binden Sie das öffentlich zugängliche Bild, das in Ihrem Cloud Storage-Bucket gespeichert ist, in Ihre Webanwendung ein. Dazu bearbeiten Sie die Datei „index.php“ auf der Compute Engine-Instanz und fügen in der Datei die richtige Bildquellen-URL ein.
-
Klicken Sie in der Google Cloud Console auf Cloud Storage > Buckets.
-
Klicken Sie auf den nach Ihrem Google Cloud-Projekt benannten Bucket.
-
In diesem Bucket befindet sich ein Objekt namens my-excellent-blog.png. Kopieren Sie die URL, die hinter dem Linksymbol in der Spalte Öffentlicher Zugriff oder ggf. hinter „Öffentlicher Link“ angezeigt wird.
Hinweis: Wenn weder ein Linksymbol noch ein „öffentlicher Link“ zu sehen ist, aktualisieren Sie den Browser. Ist das Linksymbol dann immer noch nicht zu sehen, kehren Sie zu Cloud Shell zurück und überprüfen Sie, ob Ihr Versuch, die Access Control List mit dem Befehl gsutil acl ch zu ändern, erfolgreich war.
-
Kehren Sie zur SSH-Sitzung auf Ihrer bloghost-VM-Instanz zurück.
-
Wechseln Sie mit dem folgenden Befehl in das Dokumentenstammverzeichnis auf dem Webserver:
cd /var/www/html
- Bearbeiten Sie index.php mit dem nano-Texteditor:
sudo nano index.php
-
Bewegen Sie den Cursor mit den Pfeiltasten in die Zeile, die das Element h1 enthält. Drücken Sie die Eingabetaste, um eine neue leere Bildschirmzeile zu öffnen. Fügen Sie dann die URL, die Sie zuvor kopiert haben, in diese Zeile ein.
-
Fügen Sie unmittelbar vor der URL folgendes HTML-Markup ein:
<img src='
- Fügen Sie am Ende der URL ein einfaches Anführungszeichen oben und eine schließende spitze Klammer hinzu:
'>
Die vollständige Zeile sieht dann so aus:
<img src='https://storage.googleapis.com/qwiklabs-gcp-0005e186fa559a09/my-excellent-blog.png'>
Dadurch wird die Zeile mit <img src='...'> direkt vor die Zeile mit <h1>...</h1> platziert.
Hinweis: Kopieren Sie nicht die hier gezeigte URL, sondern verwenden Sie stattdessen die URL, die im Storage-Browser Ihres Cloud Platform-Projekts angezeigt wird.
-
Drücken Sie Strg + O und dann die Eingabetaste, um die bearbeitete Datei zu speichern.
-
Drücken Sie Strg + X, um den nano-Texteditor zu verlassen.
-
Starten Sie den Webserver neu:
sudo service apache2 restart
- Kehren Sie zum Tab des Webbrowsers zurück, in dem Sie die externe IP-Adresse Ihrer bloghost-VM-Instanz geöffnet haben. Wenn Sie die Seite laden, enthält sie jetzt das Bannerbild.
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben eine Cloud SQL-Instanz konfiguriert und eine Anwendung in einer Compute Engine-Instanz damit verbunden. Außerdem haben Sie mit einem Cloud Storage-Bucket gearbeitet.
Lab beenden
Wenn Sie das Lab abgeschlossen haben, klicken Sie auf Lab beenden. Google Cloud Skills Boost entfernt daraufhin die von Ihnen genutzten Ressourcen und bereinigt das Konto.
Anschließend erhalten Sie die Möglichkeit, das Lab zu bewerten. Wählen Sie die entsprechende Anzahl von Sternen aus, schreiben Sie einen Kommentar und klicken Sie anschließend auf Senden.
Die Anzahl der Sterne hat folgende Bedeutung:
- 1 Stern = Sehr unzufrieden
- 2 Sterne = Unzufrieden
- 3 Sterne = Neutral
- 4 Sterne = Zufrieden
- 5 Sterne = Sehr zufrieden
Wenn Sie kein Feedback geben möchten, können Sie das Dialogfeld einfach schließen.
Verwenden Sie für Feedback, Vorschläge oder Korrekturen den Tab Support.
© 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.
Weitere Ressourcen
Google Cloud Platform-Dokumentation zu Cloud SQL
Google Cloud Platform-Dokumentation zu Cloud Storage
