In dieser Anleitung werden die ersten Schritte mit Compute Engine erläutert. Wenn Sie eine "Hello World"-Go-Webanwendung für Compute Engine bereitstellen möchten, folgen Sie dieser Anleitung. Hilfe zu den ersten Schritten mit App Engine finden Sie in der App Engine-Standardumgebung.
Lernziele
- Laden Sie mit Cloud Shell eine "Hello World"-Beispielanwendung herunter und stellen Sie sie bereit
- Mit Cloud Build eine „Hello World“-Beispielanwendung erstellen.
- "Hello World"-Beispielanwendung in einer einzelnen Compute Engine-Instanz bereitstellen
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Compute Engine and Cloud Build APIs aktivieren.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Compute Engine and Cloud Build APIs aktivieren.
-
Öffnen Sie die App in der Google Cloud Console über Cloud Shell.
Cloud Shell bietet Ihnen direkt über den Browser Befehlszeilenzugriff auf Ihre Cloud-Ressourcen.
-
Wenn Sie dem Klonen des Repositorys zustimmen, klicken Sie auf Bestätigen, um den Beispielcode herunterzuladen und zum Anwendungsverzeichnis zu wechseln.
-
Konfigurieren Sie in Cloud Shell die gcloud CLI so, dass Ihr neues Google Cloud-Projekt verwendet wird:
# Configure gcloud for your project gcloud config set project YOUR_PROJECT_ID
Anwendung in Cloud Shell ausführen
Starten Sie einen lokalen Webserver in Cloud Shell:
go build -o app ./app
Klicken Sie in Cloud Shell auf Webvorschau und wählen Sie dann Vorschau auf Port 8080 aus. Ein neues Fenster mit der ausgeführten Anwendung wird geöffnet.
In Ihrem Webbrowser sehen Sie
Hello, World!
.Wenn Sie fortfahren möchten, stoppen Sie den lokalen Webserver, wenn Sie in Cloud Shell Strg+C drücken.
Auf einer einzelnen Instanz bereitstellen
In diesem Abschnitt wird die Ausführung einer einzelnen Instanz der App in Compute Engine beschrieben.
Mit Cloud Shell können Sie eine einzelne Instanz in einer Compute Engine-VM bereitstellen, auf der Ihre Anwendung ausgeführt wird.
App mit Cloud Build erstellen
Mit Cloud Build können Sie die Anwendung erstellen, sie in einer TAR-Datei komprimieren und die Datei in einen Cloud Storage-Bucket hochladen. Buckets sind die grundlegenden Container, die Ihre Daten in Cloud Storage enthalten.
Erstellen Sie in Ihrem Terminalfenster einen Cloud Storage-Bucket, wobei
YOUR_BUCKET_NAME
der Name Ihres Buckets ist:gsutil mb gs://YOUR_BUCKET_NAME
Sie können für den Cloud Storage-Bucket einen beliebigen Namen verwenden. Es empfiehlt sich, für den Bucket-Namen die Projekt-ID zu verwenden. Da Bucket-Namen in der gesamten Google Cloud-Umgebung aber nur einmal vorkommen dürfen, ist die Verwendung der Projekt-ID nicht immer möglich.
Starten Sie den Cloud Build-Prozess:
gcloud builds submit --substitutions=_DEPLOY_DIR=gs://
YOUR_BUCKET_NAME
,_DEPLOY_FILENAME=app.tar.gzDer Befehl
gcloud builds submit
verwendet--substitutions
, um den Speicherort zum Hochladen der resultierenden TAR-Datei zu konfigurieren. Später wird die TAR-Datei in die Compute Engine-Instanz heruntergeladen.Cloud Build verwendet eine YAML-Konfigurationsdatei, um die erforderlichen Schritte für den Build festzulegen.
Instanz mithilfe eines Startskripts initialisieren
Sie müssen Ihre Instanz anweisen, den Code herunterzuladen und auszuführen. Eine Instanz kann ein Startskript haben, das bei jedem Start oder Neustart der Instanz ausgeführt wird.
Ein Startskript wird ausgeführt, wenn eine Instanz das erste Mal gestartet wird.
Das Startskript führt folgende Aufgaben durch:
Installiert den Cloud-Logging-Agent und konfiguriert ihn für das Monitoring der Anwendungslogs.
Lädt die TAR-Datei für die Bereitstellung herunter und extrahiert sie.
Startet einen
systemd
-Dienst, um die App auszuführen.
Compute Engine-Instanz erstellen und konfigurieren
Erstellen Sie eine Compute Engine-Instanz:
Linux/macOS
gcloud compute instances create my-app-instance \ --image-family=debian-10 \ --image-project=debian-cloud \ --machine-type=g1-small \ --scopes userinfo-email,cloud-platform \ --metadata-from-file startup-script=startup-script.sh \ --metadata app-location="gs://YOUR_BUCKET_NAME/app.tar.gz" \ --zone YOUR_ZONE \ --tags http-server
Ersetzen Sie
YOUR_ZONE
durch eine Entwicklungszone, beispielsweiseus-central1-a
. Weitere Informationen zu Regionen und Zonen finden Sie unter Geografie und Regionen.Das Flag
--metadata app-location
teilt dem Startskript mit, wo die TAR-Datei der Anwendung heruntergeladen werden soll.Windows
gcloud compute instances create my-app-instance ^ --image-family=debian-10 ^ --image-project=debian-cloud ^ --machine-type=g1-small ^ --scopes userinfo-email,cloud-platform ^ --metadata-from-file startup-script=startup-script.sh ^ --metadata app-location="gs://YOUR_BUCKET_NAME/app.tar.gz" ^ --zone YOUR_ZONE ^ --tags http-server
Ersetzen Sie
YOUR_ZONE
durch eine Entwicklungszone, beispielsweiseus-central1-a
. Weitere Informationen zu Regionen und Zonen finden Sie unter Geografie und Regionen.Das Flag
--metadata app-location
teilt dem Startskript mit, wo die TAR-Datei der Anwendung heruntergeladen werden soll.Hierdurch wird eine neue Instanz erstellt, deren Zugriff auf Google Cloud-Dienste ermöglicht und das Startskript ausgeführt. Der Instanzname lautet
my-app-instance
.Prüfen Sie den Fortschritt der Instanzerstellung:
gcloud compute instances get-serial-port-output my-app-instance --zone YOUR_ZONE
Wenn das Startskript abgeschlossen ist, sehen Sie folgende Meldung:
startup-script: INFO Finished running startup scripts.
Erstellen Sie eine Firewallregel, die Traffic zur Instanz zulässt:
gcloud compute firewall-rules create default-allow-http-80 \ --allow tcp:80 \ --source-ranges 0.0.0.0/0 \ --target-tags http-server \ --description "Allow port 80 access to http-server"
Rufen Sie die externe IP-Adresse der Instanz ab:
gcloud compute instances list
Geben Sie die folgende URL in Ihren Browser ein, wenn Sie Ihre ausgeführte Anwendung sehen möchten:
http://YOUR_INSTANCE_IP
Ersetzen Sie
YOUR_INSTANCE_IP
durch die externe IP-Adresse Ihrer Instanz.
Instanzen verwalten und beobachten
Mit der Google Cloud Console können Sie Ihre Instanz überwachen und verwalten.
- Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.
- Klicken Sie in der Liste der VM-Instanzen in der Zeile der Instanz, zu der Sie eine Verbindung herstellen möchten, auf SSH.
- Wenn Sie alle von Ihren Compute Engine-Ressourcen generierten Logs ansehen möchten, rufen Sie die Seite Log-Explorer auf.
Zum Log-Explorer
Cloud Logging wird automatisch so konfiguriert, dass Logs aus verschiedenen gängigen Diensten erfasst werden, einschließlich
syslog
.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Einzelne Ressourcen löschen
gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all gcloud compute firewall-rules delete default-allow-http-80
Nächste Schritte
Referenzarchitekturen, Diagramme und Best Practices zu Google Cloud kennenlernen. Weitere Informationen zu Cloud Architecture Center
Weitere Go-Ressourcen zum Erstellen von Anwendungen finden Sie hier:
- Verwalten und beobachten Sie Ihre Instanzgruppenbereitstellung unter Compute Engine > Instanzgruppen
- Verwalten Sie Ihre Load-Balancing-Konfiguration, einschließlich URL-Zuordnungen und Backend-Diensten, unter Netzwerkdienste > Lastenausgleich
- Anwendung in Google Kubernetes Engine bereitstellen
- Weitere Google Cloud-Dienste kennenlernen