In dieser Anleitung erfahren Sie, wie Sie eine App Hub-Anwendung in einem einzigen Projekt einrichten, das als App Hub-Host- und Dienstprojekt dient. In einem Dienstprojekt stellen Sie eine leistungsoptimierte verwaltete Instanzgruppe (MIG) bereit und hängen das Dienstprojekt an das App Hub-Hostprojekt an. Anschließend registrieren und überwachen Sie in einer Anwendung im App Hub-Hostprojekt alle Infrastrukturressourcen aus dem Dienstprojekt als App Hub-Dienste und -Arbeitslasten.
Diese Anleitung richtet sich an Nutzer, die den App Hub einrichten und verwalten. Sie sollten Erfahrung mit Cloud Load Balancing haben.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:- Google Cloud-Projekt erstellen oder auswählen. Dieses Projekt ist Ihr App Hub-Host- und Dienstprojekt. Aktivieren Sie in diesem Projekt die App Hub API.
In diesem Projekt verwenden Sie Terraform, um ein VPC-Netzwerk, einen regionalen externen Application Load Balancer und ein MIG-Backend für den Load Balancer bereitzustellen. Der regionale externe Application Load Balancer umfasst die folgenden Ressourcen:
- HTTP-Systemdiagnose
- Weiterleitungsregel
- URL-Zuordnung
- Zielproxy
- Backend-Dienst mit einer verwalteten Instanzgruppe als Backend
- SSL-Zertifikat (für HTTPS)
Nur die Weiterleitungsregel, die URL-Zuordnung, der Back-End-Dienst und die MIG sind als entdeckte Ressourcen im App Hub verfügbar. Weitere Informationen finden Sie unter Konzepte und Datenmodell.
Weisen Sie diesem Projekt die entsprechenden Rollen und Berechtigungen zu, damit es als App Hub-Hostprojekt fungieren kann.
Hängen Sie das App Hub-Hostprojekt als App Hub-Dienstprojekt an, um Google Cloud-Ressourcen aus dem Dienstprojekt als erkannte Dienste und Arbeitslasten zu erkennen.
Erstellen Sie eine regionale App Hub-Anwendung im App Hub-Hostprojekt.
Registrieren Sie erkannte Dienste und eine Arbeitslast aus dem Dienstprojekt in der App Hub-Anwendung und weisen Sie Attribute zu.
Details zu den registrierten Diensten und Arbeitslasten im App Hub ansehen
Kosten
Eine Schätzung der Kosten für die Google Cloud-Ressourcen, die von der Lösung „Verwaltete VMs mit Load Balancing“ verwendet werden, finden Sie in der vorab berechneten Schätzung im Google Cloud-Preisrechner.
Verwenden Sie die vorab berechnete Schätzung als Ausgangspunkt, um die Kosten Ihrer Bereitstellung zu berechnen. Sie können die Schätzung ändern, um alle Konfigurationsänderungen widerzuspiegeln, die Sie für die in der Lösung verwendeten Ressourcen vornehmen möchten.
Die vorab berechnete Schätzung basiert auf Annahmen für bestimmte Faktoren, darunter:
- Die Google Cloud-Standorte, an denen die Ressourcen bereitgestellt werden.
- Die Zeitdauer der Verwendung der Ressourcen.
Weitere Informationen zu den Kosten für den App Hub finden Sie auf der Seite Preise.
Hinweise
Wenn Sie der Projektersteller sind, wird Ihnen die einfache "Owner" Rolle (roles/owner
) zugewiesen. Standardmäßig enthält diese IAM-Rolle (Identity and Access Management) die Berechtigungen, die für den vollständigen Zugriff auf die meisten Google Cloud-Ressourcen erforderlich sind.
Wenn Sie nicht der Project Creator sind, müssen dem entsprechenden Hauptkonto die erforderlichen Berechtigungen für das Projekt erteilt werden. Ein Hauptkonto kann beispielsweise ein Google-Konto (für Endnutzer) oder ein Dienstkonto (für Anwendungen und Arbeitslasten) sein.
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieser Anleitung benötigen:
-
Service Usage Admin (
roles/serviceusage.services.enable
) -
Service Account Admin (
roles/iam.serviceAccounts.create
) -
Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
App Hub-Administrator (
roles/apphub.admin
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Console
Rufen Sie in der Google Cloud Console die Seite für die Projektauswahl auf.
Wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines, das als Hostprojekt für den App Hub verwendet werden soll.
-
Enable the required APIs.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Prüfen Sie, ob die neueste Version der Google Cloud CLI installiert ist. Führen Sie in Cloud Shell den folgenden Befehl aus:
gcloud components update
Erstellen oder wählen Sie ein neues Projekt namens
HOST_PROJECT_ID
als Hostprojekt für den App Hub aus.Erstellen Sie ein Google Cloud-Projekt:
gcloud projects create HOST_PROJECT_ID
Wählen Sie das von Ihnen erstellte Google Cloud-Projekt aus:
gcloud config set project HOST_PROJECT_ID
Aktivieren Sie die APIs:
gcloud services enable apphub.googleapis.com \ cloudresourcemanager.googleapis.com \ compute.googleapis.com \ config.googleapis.com \ serviceusage.googleapis.com
Umgebung vorbereiten
Damit Sie diese Lösung mit minimalem Aufwand bereitstellen können, wird in GitHub eine Terraform-Konfiguration bereitgestellt. Die Terraform-Konfiguration definiert alle Google Cloud-Ressourcen, die für die Lösung erforderlich sind. Laden Sie die Terraform-Konfiguration von GitHub herunter, passen Sie optional den Code nach Bedarf an und stellen Sie die Lösung mit der Terraform-Befehlszeile bereit. Nachdem Sie die Lösung bereitgestellt haben, können Sie sie mit Terraform verwalten.
Im Folgenden wird der Anfrageverarbeitungsablauf der Topologie dargestellt, die von der Lösung „Verwaltete VMs mit Load Balancing“ bereitgestellt wird.
Der Nutzer sendet eine Anfrage an die Anwendung, die auf der Compute Engine bereitgestellt ist. Cloud Load Balancing empfängt diese Anfrage.
Cloud Load Balancing leitet Traffic an die von der Compute Engine verwalteten Instanzgruppen weiter. Dabei werden Informationen aus der Weiterleitungsregel, der URL-Zuordnung und dem Back-End-Dienst verwendet.
Terraform-Client einrichten
Sie können Terraform entweder in Cloud Shell oder auf Ihrem lokalen Host ausführen. In diesem Tutorial wird beschrieben, wie Sie Terraform in Cloud Shell ausführen. Dort ist Terraform vorinstalliert und für die Authentifizierung bei Google Cloud konfiguriert.
Der Terraform-Code für diese Lösung ist in einem GitHub-Repository verfügbar.
Klonen Sie in Cloud Shell das GitHub-Repository in Cloud Shell.
git clone https://github.com/terraform-google-modules/terraform-docs-samples
Prüfen Sie in Cloud Shell, ob das aktuelle Arbeitsverzeichnis
terraform-docs-samples/lb/regional_external_http_load_balancer
ist. Dies ist das Verzeichnis, das die Terraform-Konfigurationsdateien für die Lösung enthält. Wenn Sie in dieses Verzeichnis wechseln müssen, führen Sie den folgenden Befehl aus:cd terraform-docs-samples/lb/regional_external_http_load_balancer
Initialisieren Sie Terraform mit dem folgenden Befehl:
terraform init
Warten Sie, bis folgende Meldung angezeigt wird:
Terraform has been successfully initialized!
Terraform-Konfiguration validieren und prüfen
Prüfen Sie, ob das aktuelle Arbeitsverzeichnis
terraform-docs-samples/lb/regional_external_http_load_balancer
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Prüfen Sie, ob die Terraform-Konfiguration Fehler enthält:
terraform validate
Wenn der Befehl einen Fehler zurückgibt, nehmen Sie die erforderlichen Korrekturen in der Konfiguration vor und führen Sie den Befehl
terraform validate
noch einmal aus. Wiederholen Sie diesen Schritt, bis der Befehl die folgende Meldung zurückgibt:Success! The configuration is valid.
Sehen Sie sich die Ressourcen an, die in der Konfiguration definiert sind:
terraform plan
Die Ausgabe des Befehls
terraform plan
ist eine Liste der Ressourcen, die Terraform beim Anwenden der Konfiguration bereitstellt.Wenn Sie Änderungen vornehmen möchten, bearbeiten Sie die Konfiguration und führen Sie dann die Befehle
terraform validate
undterraform plan
noch einmal aus.
Ressourcen bereitstellen
Wenn keine weiteren Änderungen an der Terraform-Konfiguration erforderlich sind, stellen Sie die Ressourcen bereit.
Prüfen Sie, ob das aktuelle Arbeitsverzeichnis
terraform-docs-samples/lb/regional_external_http_load_balancer
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Wenden Sie die Terraform-Konfiguration an:
terraform apply
Terraform zeigt eine Liste der Ressourcen an, die erstellt werden.
Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie
yes
ein.In Terraform werden Nachrichten angezeigt, die den Fortschritt der Bereitstellung anzeigen.
Wenn die Bereitstellung nicht abgeschlossen werden kann, zeigt Terraform die Fehler an, die den Fehler verursacht haben. Prüfen Sie die Fehlermeldungen und aktualisieren Sie die Konfiguration, um die Fehler zu beheben. Führen Sie den Befehl
terraform apply
dann noch einmal aus.Nachdem alle Ressourcen erstellt wurden, zeigt Terraform die folgende Meldung an:
Apply complete!
Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.
Cloud Load Balancing verteilt den Traffic an die Weiterleitungsregel, die URL-Zuordnung, den Back-End-Dienst und eine Compute Engine-MIG. Der Back-End-Dienst, die URL-Zuordnung und die Weiterleitungsregeln werden im App Hub-Hostprojekt zu entdeckten Diensten. Die Compute Engine MIG wird zu einer erkannten Arbeitslast im App Hub-Hostprojekt.
Wenn Sie die Lösung nicht mehr benötigen, können Sie die Bereitstellung löschen, um weitere Kosten für die Google Cloud-Ressourcen zu vermeiden. Weitere Informationen finden Sie unter Bereitstellung löschen.
IAM-Berechtigungen gewähren
Weisen Sie dem App Hub-Hostprojekt die entsprechenden IAM-Rollen und Berechtigungen zu.
Console
Bitten Sie Ihren Administrator, Ihnen die erforderlichen IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieser Anleitung benötigen:
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie auf
Zugriff gewähren. Der Bereich Zugriff gewähren wird geöffnet.Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Person ein, die den App Hub verwalten soll, also die Rolle App Hub Admin im Hostprojekt.
Klicken Sie auf Rolle auswählen und geben Sie im Feld Filter
App Hub
ein.Wählen Sie die Rolle App Hub-Administrator aus.
Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie in der Liste Rolle auswählen die Option Monitoring-Betrachter aus.
Klicken Sie auf Speichern.
gcloud
Wenn Sie die Rollen Personen zuweisen möchten, die den App Hub verwenden, wiederholen Sie den folgenden Befehl und ersetzen Sie die IAM-Rollen nach Bedarf. Weitere Informationen finden Sie unter App Hub-Rollen und ‑Berechtigungen.
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Ersetzen Sie
HOST_PROJECT_ADMIN
durch den Nutzer, der im Hostprojekt die Rolle „App Hub-Administrator“ hat. Dieser Wert hat das Formatusername@yourdomain
, z. B.222larabrown@gmail.com
.Weisen Sie den Personen, die den App Hub verwalten, die Rolle „App Hub Admin“ im Dienstprojekt zu. Sie müssen die Rolle „App Hub Admin“ haben, um dem Hostprojekt Dienstprojekte hinzuzufügen. Für jedes Dienstleistungsprojekt ist mindestens eine Person mit dieser Rolle erforderlich. In diesem Beispiel dient das Hostprojekt als Dienstprojekt.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/apphub.admin'
Ersetzen Sie
SERVICE_PROJECT_ID
durch den Namen des HOST_PROJECT_ID.Weisen Sie den Personen, die den App Hub verwalten, die Rolle „Monitoring-Betrachter“ im Hostprojekt zu. Sie benötigen die Rolle „Monitoring Viewer“ für das Hostprojekt, um Messwerte aufzurufen.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/monitoring.viewer'
Dienstprojekt anhängen
Dienstprojekte sind Google Cloud-Projekte, die Infrastrukturressourcen enthalten, die Sie bei einer App Hub-Anwendung registrieren können. Weitere Informationen finden Sie unter Dienstprojekte. Da wir für diese Anleitung nur ein einziges Projekt haben, hängen Sie das Projekt, in dem Sie die Ressourcen bereitgestellt haben, als App Hub-Dienstprojekt an.
Console
Rufen Sie in der Google Cloud Console die Seite Einstellungen des App Hubs auf.
Klicken Sie auf der Seite Einstellungen auf Projekte anhängen.
Suchen Sie im angezeigten Bereich nach Projekten in der Liste und setzen Sie ein Häkchen in die Kästchen für die App Hub-Dienstprojekte.
Klicken Sie auf Auswählen. In der Tabelle Angehängte Dienstprojekte wird das ausgewählte Hostprojekt als Dienstprojekt angezeigt.
Klicken Sie auf Schließen.
gcloud
Fügen Sie Ihr Hostprojekt als Dienstprojekt zum App Hub-Hostprojekt hinzu.
gcloud apphub service-projects add HOST_PROJECT_ID \ --project=HOST_PROJECT_ID
Nachdem Sie das Dienstprojekt an das App Hub-Hostprojekt angehängt haben, können Sie alle Google Cloud-Ressourcen aus dem angehängten Dienstprojekt als erkannte App Hub-Dienste und ‑Arbeitslasten aufrufen. Weitere Informationen zum Ansehen dieser gefundenen Dienste und Arbeitslasten finden Sie unter Vorhandene Anwendungen, Dienste und Arbeitslasten ansehen.
Anwendung erstellen
Erstellen Sie eine Anwendung, die als Container für Ihre Dienste und Arbeitslasten dient. Wenn Sie eine Anwendung erstellen, können Sie ihr unveränderliche Eigenschaften wie einen Gültigkeitsbereich oder einen Speicherort zuweisen, unter dem Sie Ressourcen registrieren möchten, sowie variable Attribute wie Wichtigkeit und Umgebung. Mit den Variablenattributen können Sie die Anwendungen filtern. Weitere Informationen finden Sie unter Properties und Attribute.
Console
- Achten Sie darauf, dass Sie sich im App Hub-Hostprojekt befinden.
Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.
Klicken Sie auf Anwendung erstellen.
Wählen Sie auf der Seite Anwendung erstellen im Bereich Region und Name der Anwendung auswählen die Option Regional aus.
Wählen Sie in der Liste Region die Option us-west1 aus.
Geben Sie im Feld Name der Anwendung den Namen
tutorial-application
ein. Dieser Name ist eine eindeutige Kennung und kann nach dem Erstellen der Anwendung nicht mehr geändert werden.Geben Sie einen Anzeigenamen,
Tutorial
, ein und klicken Sie auf Weiter. Dies ist ein nutzerfreundlicher Name, den Sie aktualisieren können. Weitere Informationen finden Sie unter Vorhandene Anwendung aktualisieren.Wählen Sie im Bereich Attribute hinzufügen in der Liste Kritisch die Option Hoch aus. Die Kritischkeit gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihren Geschäftsbetrieb ist.
Wählen Sie im Feld Umgebung die Option Produktion aus, um die Phase des Softwarelebenszyklus anzugeben.
Klicken Sie auf Weiter.
Fügen Sie im Bereich Inhaber hinzufügen die folgenden Details für Entwicklerinhaber, Betreiberinhaber und Inhaber von Unternehmen hinzu. Wenn Sie einen Anzeigenamen hinzufügen, müssen Sie die E-Mail-Adresse des Inhabers eingeben.
- Geben Sie den Anzeigenamen eines Eigentümers ein.
- Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss das Format
username@yourdomain
haben, z. B.222larabrown@gmail.com
.
Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.
Klicken Sie auf Erstellen.
Die neue Anwendung wird erstellt und auf der Seite Anwendungen aufgeführt.
gcloud
Wählen Sie das von Ihnen erstellte App Hub-Hostprojekt aus:
gcloud config set project HOST_PROJECT_ID
Erstellen Sie in der Region
us-west1
eine neue Anwendung namenstutorial-application
und geben Sie ihr den AnzeigenamenTutorial
. Dieser Anwendungsname,tutorial-application
, ist eine eindeutige Kennung und kann nach dem Erstellen der Anwendung nicht mehr geändert werden. Der AnzeigenameTutorial
ist ein nutzerfreundlicher Name,den Sie aktualisieren können. Weitere Informationen finden Sie unter Vorhandene Anwendung aktualisieren.gcloud apphub applications create tutorial-application \ --display-name='Tutorial' \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=us-west1
Listen Sie die Anwendungen in Ihrem App Hub-Hostprojekt auf:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
Aktualisieren Sie Ihre Anwendung mit den Attributen
criticality-type
,environment-type
und „owner“:gcloud apphub applications update tutorial-application \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \ --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \ --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \ --project=HOST_PROJECT_ID \ --location=us-west1
Ersetzen Sie Folgendes:
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
undDISPLAY-NAME-BUSINESS
: Anzeigenamen des Entwicklers, Betreibers und Inhabers des Unternehmens.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
undEMAIL-NAME-BUSINESS
: E-Mail-Adressen des Entwicklers, Betreibers und des Unternehmensinhabers. Diese Werte müssen das Formatusername@yourdomain
haben, z. B.222larabrown@gmail.com
.
Hinweise:
criticality-type
: Gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihr Unternehmen ist.environment-type
: gibt die Phasen des Softwarelebenszyklus an.
Rufen Sie Details zur von Ihnen erstellten Anwendung ab:
gcloud apphub applications describe tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Der Befehl gibt Informationen im YAML-Format zurück, die in etwa so aussehen:
attributes: businessOwners: – displayName: [DISPLAY-NAME-BUSINESS] email: [EMAIL-BUSINESS] criticality: type: HIGH developerOwners: – displayName: [DISPLAY-NAME-DEVELOPER] email: [EMAIL-DEVELOPER] environment: type: PRODUCTION operatorOwners: – displayName: [DISPLAY-NAME-OPERATOR] email: [EMAIL-OPERATOR] createTime: '2023-10-31T18:33:48.199394108Z' displayName: Tutorial name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application scope: type: REGIONAL state: ACTIVE uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73 updateTime: '2023-10-31T18:33:48.343303819Z'
Dienste und eine Arbeitslast registrieren
Wenn Sie Dienste und Arbeitslasten registrieren, werden sie einer Anwendung hinzugefügt, mit der Sie die hinzugefügten Ressourcen überwachen können.
Console
Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.
Klicken Sie auf den Namen Ihrer Anwendung, Tutorial. Auf dem Tab Dienste und Arbeitslasten wird eine Liste der registrierten Dienste und Arbeitslasten angezeigt, die sich in Ihren App Hub-Dienstprojekten befinden.
So registrieren Sie einen Dienst:
- Klicken Sie auf dem Tab Dienste und Arbeitslasten auf Dienst/Arbeitslast registrieren.
- Klicken Sie auf der Seite Dienst oder Arbeitslast registrieren im Bereich Ressource auswählen auf Durchsuchen, um den Dienst oder die Arbeitslast als Ressource auszuwählen.
- Wählen Sie im Bereich Ressource auswählen den Namen des Dienstes, l7-xlb-backend-service, aus und klicken Sie auf Auswählen.
- Geben Sie im Bereich Ressource auswählen den Namen der Ressource ein,
tutorial-service-backend
. - Geben Sie einen Anzeigenamen,
Backend service
, ein und klicken Sie auf Weiter. - Wählen Sie im Bereich Attribute hinzufügen in der Liste Kritisch die Option Hoch aus, um die Wichtigkeit der Anwendung anzugeben.
- Wählen Sie im Feld Umgebung die Option Produktion aus, um die Phase des Softwarelebenszyklus anzugeben.
- Klicken Sie auf Weiter.
- Geben Sie im Bereich Inhaber hinzufügen die erforderlichen Details für Entwicklerinhaber, Betreiberinhaber und Inhaber von Unternehmen ein.
Wenn Sie einen Anzeigenamen hinzufügen, müssen Sie die E-Mail-Adresse des Inhabers eingeben.
- Geben Sie den Anzeigenamen eines Eigentümers ein.
- Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss das Format
username@yourdomain
haben, z. B.222larabrown@gmail.com
.
- Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.
- Klicken Sie auf Registrieren.
Auf dem Tab Dienste und Arbeitslasten im Bereich Registrierte Dienste und Arbeitslasten sehen Sie den hinzugefügten neuen Dienst.
Wiederholen Sie die vorherigen Schritte, um die anderen Dienste als tutorial-service-forwarding-rule und tutorial-service-url-map zu registrieren.
Registrieren Sie eine Arbeitslast, indem Sie die vorherigen Schritte zum Registrieren eines Dienstes wiederholen. Beachten Sie dabei die folgenden Ausnahmen:
- Wählen Sie im Bereich Dienst oder Arbeitslast registrieren unter Dienst oder Arbeitslast auswählen den Namen der Arbeitslast, l7-xlb-backend-example, aus und klicken Sie auf Weiter.
- Geben Sie im Bereich Ressource auswählen den Namen der Ressource ein,
tutorial-workload-mig
. - Geben Sie einen Anzeigenamen,
Workload instance group
, ein und klicken Sie auf Weiter. Auf dem Tab Dienste und Arbeitslasten sehen Sie im Bereich Registrierte Dienste und Arbeitslasten die neu hinzugefügte Arbeitslast.
gcloud
So fügen Sie eine Person mit App Hub-Berechtigungen hinzu:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member='user:APP_HUB_EDITOR' \ --role='roles/apphub.editor'
Ersetzen Sie
APP_HUB_EDITOR
durch den Nutzer, der die Rolle „App Hub-Bearbeiter“ im App Hub-Hostprojekt hat. Dieser Wert hat das Formatusername@yourdomain
, z. B.222larabrown@gmail.com
.Liste aller erkannten Dienste im App Hub-Hostprojekt auflisten Dieser Befehl gibt Dienste zurück, die für die Registrierung bei einer Anwendung verfügbar sind.
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID SERVICE_REFERENCE SERVICE_PROPERTIES
BACKEND_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}FORWARDING_RULE_SERVICE_ID"
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}URL_MAP_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}Kopieren Sie die Dienst-
ID
s, z. B.BACKEND_SERVICE_SP2_ID
, aus der Ausgabe für den nächsten Schritt.Registrieren Sie die Dienste aus dem vorherigen Schritt in Ihrer Anwendung. Kopieren Sie die Dienst-IDs aus dem Ausgabefeld im vorherigen Schritt.
gcloud apphub applications services create tutorial-service-backend \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='Backend service' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='Forwarding rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-url-map \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \ --display-name='URL map' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Ersetzen Sie Folgendes:
BACKEND_SERVICE_ID
: Der DienstID
des Backend-Dienstes, den Sie registrieren möchten.FORWARDING_RULE_SERVICE_ID
: der DienstID
der Weiterleitungsregel, die Sie registrieren möchten.URL_MAP_SERVICE_ID
: Der DienstID
der URL-Zuordnung, die Sie registrieren möchten.
Listet alle registrierten Dienste in der Anwendung auf.
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-service-backend Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} 2024-02-13T00:31:45 tutorial-service-forwarding-rule Forwarding rule {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} 2024-02-13T00:31:45 tutorial-service-url-map URL map {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} 2024-02-13T00:31:45
Registrierte, aber getrennte Dienste werden durch einen leeren Wert im Feld
SERVICE_REFERENCE
gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Eigenschaften und Attribute des App Hub.Listet alle erkannten Arbeitslasten im App Hub-Hostprojekt auf. Dieser Befehl gibt Arbeitslasten zurück, die für die Registrierung bei einer Anwendung verfügbar sind.
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES
INSTANCE_GROUP_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}Kopieren Sie die Arbeitslast-ID aus der Ausgabe, um sie im nächsten Schritt zu verwenden.
Registrieren Sie die Arbeitslast aus dem vorherigen Schritt in Ihrer Anwendung als
tutorial-workload-mig
. Kopieren Sie die Workload-ID aus dem Ausgabefeld im vorherigen Schritt.gcloud apphub applications workloads create tutorial-workload-mig \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \ --display-name='Workload instance group' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Ersetzen Sie
WORKLOAD_ID
durch die ID der Arbeitslast, die Sie registrieren möchten.Listet alle registrierten Arbeitslasten in der Anwendung auf.
gcloud apphub applications workloads list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME tutorial-workload-mig Workload instance group {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} 2024-02-13T00:31:45
Registrierte, aber getrennte Arbeitslasten werden durch einen leeren Wert im Feld
WORKLOAD_REFERENCE
gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Eigenschaften und Attribute des App Hub.
Alle Dienste und Arbeitslasten ansehen
Sie können Details zu den Diensten und Arbeitslasten aus den Dienstprojekten aufrufen, die an das App Hub-Hostprojekt angehängt sind.
Rufen Sie in der Google Cloud Console die Seite Dienste und Arbeitslasten des App Hubs auf.
Wählen Sie in der Liste Region die Option us-west1 aus. Die Arbeitslast Workload Instance Group (Arbeitslastinstanzgruppe) wird mit Details wie App Hub Type (App Hub-Typ), Criticality (Kritisch) und Registered to (Registriert bei) angezeigt.
So filtern Sie die Dienste oder Arbeitslasten nach Status:
- Wählen Sie im Feld Filter Filter wie Registrierungsstatus aus.
- Klicken Sie auf Registriert. Eine Liste der für die Anwendung registrierten Dienste und Arbeitslasten wird angezeigt.
Anwendungsmesswerte ansehen
Sie können die Systemmesswerte für die Anwendungen aufrufen, die in Ihrem App Hub-Hostprojekt erstellt wurden. Diese Messwerte entsprechen den Goldenen Signalen: Traffic, Fehler, Latenz und Sättigung, mit denen sich die Leistung und der Zustand der Anwendung überwachen lassen.
Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.
Klicken Sie auf den Namen der Anwendung,
Tutorial
.Auf dem Tab Dienste und Arbeitslasten werden die Metadaten der Dienste und Arbeitslasten angezeigt, die für Ihre Anwendung registriert sind.
Klicken Sie auf Messwerte, um die Systemmesswerte der registrierten Dienste und Arbeitslasten aufzurufen.
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.
App Hub-Ressourcen löschen
Console
Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.
Klicken Sie auf den Namen einer Anwendung, Anleitung.
Klicken Sie auf dem Tab Dienste und Arbeitslasten im Bereich Registrierte Dienste und Arbeitslasten auf den Namen eines Dienstes.
Klicken Sie auf der Seite Dienste und Arbeitslasten auf Registrierung aufheben.
Sie werden in einer Benachrichtigung darüber informiert, dass der Dienst nicht registriert ist.
Klicken Sie auf dem Tab Dienste und Arbeitslasten im Bereich Registrierte Dienste und Arbeitslasten auf den Namen einer Arbeitslast.
Klicken Sie auf dem Tab Details auf Registrierung aufheben.
Sie werden durch eine Benachrichtigung darüber informiert, dass die Arbeitslast nicht registriert ist.
Rufen Sie die Seite Anwendungen im App Hub auf.
Klicken Sie auf den Namen einer Anwendung.
Klicken Sie auf der Seite tutorial-application auf Delete (Löschen).
Rufen Sie in der Google Cloud Console die Seite Einstellungen des App Hubs auf.
Klicken Sie auf der Seite Einstellungen das Kästchen für das Dienstprojekt an, das Sie aus dem App Hub-Hostprojekt entfernen möchten.
Klicken Sie auf Projekte trennen.
gcloud
Listen Sie die registrierten Dienste in der Anwendung auf:
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Melden Sie die Dienste von der Anwendung ab:
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Ersetzen Sie
SERVICE_NAME
durch den Namen Ihres Dienstes.Die Dienste sind jetzt erkannte Dienste, die für die Anwendung registriert werden können.
Listen Sie die registrierten Arbeitslasten in der Anwendung auf:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
So melden Sie die Arbeitslast von der Anwendung ab:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Ersetzen Sie
WORKLOAD_NAME
durch den Namen Ihrer Arbeitslast.Die Arbeitslast ist jetzt eine erkannte Arbeitslast, die bei der Anwendung registriert werden kann.
So löschen Sie die Anwendung:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Entfernen Sie das Dienstprojekt aus dem App Hub-Hostprojekt:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Bereitstellung löschen
Wenn Sie die Lösung nicht mehr benötigen, löschen Sie alle Ressourcen, um weitere Kosten für die in dieser Lösung erstellten Ressourcen zu vermeiden.
Verwenden Sie dieses Verfahren, wenn Sie die Lösung mit der Terraform-Befehlszeile bereitgestellt haben.
Prüfen Sie in Cloud Shell, ob das aktuelle Arbeitsverzeichnis
terraform-docs-samples/lb/regional_external_http_load_balancer
ist. Ist dies nicht der Fall, wechseln Sie zu diesem Verzeichnis.Entfernen Sie die von Terraform bereitgestellten Ressourcen:
terraform destroy
Terraform zeigt eine Liste der Ressourcen an, die gelöscht werden.
Wenn Sie aufgefordert werden, die Aktionen auszuführen, geben Sie
yes
ein.Terraform zeigt Nachrichten mit dem Fortschritt an. Nachdem alle Ressourcen gelöscht wurden, zeigt Terraform die folgende Meldung an:
Destroy complete!
Wenn Sie das für die Lösung verwendete Google Cloud-Projekt nicht mehr benötigen, können Sie das Projekt löschen.
Projekt löschen
Console
- 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 auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.
gcloud
So löschen Sie ein Google Cloud-Projekt:
gcloud projects delete PROJECT_ID
Ersetzen Sie PROJECT_ID
durch die Projekt-IDs des Host- oder Dienstprojekts.