Diese Anleitung richtet sich an Personen, die App Hub: Sie sollten Erfahrung mit Cloud Load Balancing.
Lernziele
In diesem Anleitung werden die folgenden Aufgaben erläutert:- Google Cloud-Projekt erstellen oder auswählen. Dieses Projekt ist Ihr App Hub-Hostprojekt.
Mit Terraform ein VPC-Netzwerk, einen regionalen externen Application Load Balancer und eine MIG bereitstellen das den Endpunkt des Load-Balancers ist. Der regionale externe Application Load Balancer umfasst in den 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 werden als entdeckte Ressourcen im App Hub. Weitere Informationen finden Sie unter Konzepten und Datenmodellen.
Geben Sie die entsprechenden Rollen und Berechtigungen für das Hostprojekt an.
Hängen Sie das App Hub-Hostprojekt als Dienstprojekt an.
Erstellen Sie eine Anwendung im App Hub-Hostprojekt.
Infrastrukturressourcen als App Hub-Dienste und Arbeitsbelastungen.
Registrieren Sie Dienste und eine Arbeitslast aus dem Dienstprojekt auf der und Attribute zuweisen.
Details zu den registrierten Diensten und Arbeitslasten ansehen auf App Hub:
Kosten
Für eine Schätzung der Kosten der Google Cloud-Ressourcen, die von einer verwalteten VM-Lösung mit Load-Balancing verwendet wird, finden Sie in der 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 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 Projektersteller sind, müssen die erforderlichen Berechtigungen auf dem in das entsprechende Hauptkonto übertragen. Ein Hauptkonto kann z. B. ein Google-Konto (für Endnutzer) oder ein Dienstkonto (für Anwendungen und Arbeitslasten).
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 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. Ihr App Hub-Hostprojekt sein.
-
Aktivieren Sie die erforderlichen APIs.
gcloud
-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.
Achten Sie darauf, dass die neueste Version der Google Cloud CLI installiert ist. Ausführen den folgenden Befehl in Cloud Shell aus:
gcloud components update
Erstellen Sie ein Projekt oder wählen Sie ein neues aus.
HOST_PROJECT_ID
, um das Hostprojekt für App Hub zu sein.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. Terraform-Konfiguration herunterladen aus GitHub, passen Sie den Code nach Bedarf an und stellen Sie die Lösung dann mithilfe der Terraform-Befehlszeile Nachdem Sie die Lösung bereitgestellt haben, können Sie sie weiterhin mit Terraform verwalten.
<ph type="x-smartling-placeholder">Im Folgenden sehen Sie den Ablauf der Anfrageverarbeitung der Topologie, bei der die eine verwaltete VM-Lösung mit Load-Balancing bereitstellt.
Der Nutzer sendet eine Anfrage an die Anwendung, die auf der Compute Engine bereitgestellt ist. Cloud Load Balancing erhält diese Anfrage.
Cloud Load Balancing leitet den Traffic an die Compute Engine weiter verwalteten Instanzgruppe mithilfe von Informationen in der Weiterleitungsregel, der URL-Zuordnung, und Back-End-Dienst.
Terraform-Client einrichten
Sie können Terraform entweder in Cloud Shell oder auf Ihrem lokalen Host ausführen. Dieses wird beschrieben, wie Sie Terraform in Cloud Shell ausführen. Terraform ist 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 auf die Weiterleitung -Regel, URL-Zuordnung, Back-End-Dienst und eine Compute Engine-MIG. Backend Dienst, URL-Zuordnung und Weiterleitungsregeln zu erkannten Dienste im App Hub-Hostprojekt. Die 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
Stellen Sie die entsprechenden IAM-Rollen und -Berechtigungen für die App Hub-Hostprojekt.
Console
Um die Berechtigungen zu erhalten, die Sie für diesen Vorgang benötigen bitten Sie Ihren Administrator, Ihnen die erforderlichen IAM-Rollen für Ihr Projekt:
Ö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 in das Feld Neue Hauptkonten die E-Mail-Adresse des Person, die App Hub verwaltet die Rolle App Hub Admin im Hostprojekt.
Klicken Sie auf Rolle auswählen und geben Sie in das Feld Filter Folgendes ein:
App Hub
Wählen Sie die Rolle App Hub Admin (App Hub-Administrator) aus und klicken Sie auf Save (Speichern).
gcloud
Um die Rollen Personen zuzuweisen, die App Hub, wiederholen Sie den folgenden Befehl, indem Sie den IAM-Rollen nach Bedarf.
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 die Rolle „App Hub Admin“ im Hostprojekt. Dieser Wert hat Formatusername@yourdomain
, z. B.:robert.smith@example.com
.Gewähren Sie dem Nutzer im Dienstprojekt die Rolle „App Hub Admin“. Personen, die App Hub verwalten Sie müssen die Rolle „App Hub Admin“ zum Hinzufügen von Dienstprojekten zum Host Projekt arbeiten. Sie benötigen für jeden Dienst mindestens eine Person mit dieser Rolle Projekt arbeiten. In diesem Beispiel fungiert 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.
Dienstprojekt anhängen
Hängen Sie das Hostprojekt an, in dem Sie die Ressourcen als Dienst bereitgestellt haben Projekt arbeiten.
Console
Rufen Sie in der Google Cloud Console die App Hub-Einstellungen auf. Seite.
Klicken Sie auf der Seite Einstellungen auf Projekte anhängen.
Suchen Sie im daraufhin angezeigten Bereich in der angezeigten Liste nach Projekten. Klicken Sie auf das Kästchen für das Hostprojekt.
Klicken Sie auf Auswählen. In der Tabelle Angehängte Dienstprojekte wird der ausgewählte Host angezeigt. Projekt als Dienstprojekt festlegen.
Klicken Sie auf Schließen.
gcloud
Hostprojekt als Dienstprojekt in App Hub hinzufügen Hostprojekt.
gcloud apphub service-projects add HOST_PROJECT_ID \ --project=HOST_PROJECT_ID
Anwendung erstellen
Erstellen Sie eine Anwendung als Container für Ihre Dienste und Arbeitslasten.
Console
- Achten Sie darauf, dass Sie sich im Hostprojekt befinden.
Rufen Sie in der Google Cloud Console die Seite Anwendungen in App Hub auf.
Klicken Sie auf Anwendung erstellen. Der Bereich Create Application (Anwendung erstellen) angezeigt.
Wählen Sie in der Liste Region die Option us-west1 aus.
Geben Sie im Feld Anwendungsname den Wert
tutorial-application
ein.Klicken Sie auf Weiter.
Geben Sie im Abschnitt Attribute hinzufügen einen Anzeigenamen,
sample-application
Wählen Sie in der Liste Wichtigkeit die Option Hoch aus. Wichtigkeit gibt an. wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihr Unternehmen ist. Geschäftsabläufe.
Geben Sie im Feld Environment (Umgebung) die Phase der Software an. wählen Sie Produktion aus.
Klicken Sie auf Weiter.
Geben Sie im Abschnitt Inhaber hinzufügen die folgenden Informationen ein: für Entwicklerinhaber, Operator-Inhaber und Geschäftsinhaber. Beachten Sie, dass Sie die E-Mail-Adresse des Inhabers eingeben müssen, wenn Sie ein Display hinzufügen. Namen.
- Geben Sie den Anzeigenamen eines Inhabers ein.
- Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss
Format
username@yourdomain
, 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 erstellte Hostprojekt aus:
gcloud config set project HOST_PROJECT_ID
Erstellen Sie eine neue Anwendung mit dem Namen
tutorial-application
. in der Regionus-west1
und geben Sie ihm den AnzeigenamenTutorial
: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 Hostprojekt auf.
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID: tutorial-application DISPLAY_NAME: Tutorial CREATE_TIME: 2023-10-31T18:33:48
Aktualisieren Sie Ihre Anwendung mit dem
criticality-type
,environment-type
, und Inhaberattribute: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 der Entwickler, Betreiber und Geschäftsinhaber.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
undEMAIL-NAME-BUSINESS
: E-Mail-Adressen der Entwickler, Betreiber und Geschäftsinhaber. Diese Werte müssen das Formatusername@yourdomain
haben, z. B.:222larabrown@gmail.com
.
Hinweise:
criticality-type
: gibt an, wie wichtig eine Anwendung ist. Dienst oder Arbeitslast für Ihre Geschäftstätigkeiten ist.environment-type
: gibt die Phasen der Software an Lebenszyklus.
Rufen Sie Details zu der 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
Durch das Registrieren von Diensten und Arbeitslasten werden sie einer Anwendung hinzugefügt.
Console
Rufen Sie in der Google Cloud Console die Seite Anwendungen in App Hub auf.
Klicken Sie auf den Namen Ihrer Anwendung: sample-application. Der Tab Dienste und Arbeitslasten wird mit einer Liste der registrierten Dienste und Arbeitslasten, die sich in Ihren Dienstprojekten befinden.
So registrieren Sie einen Dienst:
- Klicken Sie auf dem Tab Dienste und Arbeitslasten auf Dienst/Arbeitslast registrieren
- Führen Sie im Bereich Dienst oder Arbeitslast registrieren im Menü Dienst oder Arbeitslast auswählen klicken Sie auf den Namen der l7-xlb-backend-service und klicken Sie auf Weiter.
- Geben Sie im Abschnitt Attribute hinzufügen den Namen des Attributs ein.
sample-service-backend
- Geben Sie als Anzeigename
service-backend
ein. - In der Liste Wichtigkeit wird die Wichtigkeit des Elements High (Hoch) aus.
- Geben Sie im Feld Environment (Umgebung) die Phase der Software an. wählen Sie Produktion aus.
- Klicken Sie auf Weiter.
- Fügen Sie nach Bedarf die folgenden Informationen für Entwicklerinhaber hinzu:
Operator-Inhaber und Geschäftsinhaber Sie müssen
E-Mail-Adresse des Inhabers, wenn Sie einen Anzeigenamen hinzufügen.
- Geben Sie den Anzeigenamen eines Inhabers ein.
- Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss
Format
username@yourdomain
, z. B.222larabrown@gmail.com
- Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.
- Klicken Sie auf Registrieren.
Wählen Sie auf dem Tab Dienste und Arbeitslasten Registrierte Dienste und Arbeitslasten sehen Sie die neuen hinzugefügt.
Wiederholen Sie die vorherigen Schritte, um die anderen Dienste als sample-service-forwarding-rule und sample-service-url-map .
Arbeitslast registrieren, indem Sie die vorherigen Schritte zur Registrierung eines Dienstes wiederholen mit folgenden Ausnahmen:
- Führen Sie im Bereich Dienst oder Arbeitslast registrieren im Menü Dienst oder Arbeitslast auswählen klicken Sie auf den Namen der l7-xlb-backend-example und klicken Sie auf Weiter.
- Geben Sie im Abschnitt Attribute hinzufügen den Namen des Attributs ein.
sample-workload
- Geben Sie als Anzeigename
workload-instance-group
ein.
Wählen Sie auf dem Tab Dienste und Arbeitslasten Registrierte Dienste und Arbeitslasten sehen Sie die neuen Arbeitslast hinzugefügt.
gcloud
Fügen Sie eine Person mit der Berechtigung „App Hub-Bearbeiter“ 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 mit der Rolle „App Hub-Bearbeiter“ im Hostprojekt. Dieser Wert hat den Wert Formatusername@yourdomain
, z. B.robert.smith@example.com
.Listen Sie alle erkannten Dienste im Hostprojekt auf. Dieser Befehl gibt Dienste, die für eine Anwendung registriert werden können.
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID:
71dd6fa4-5644-43ee-918f-c5fda03ffe24
SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'} ID:fe831ba4-ec16-4eb8-9ea4-b394fd30f561
SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'} ID:637a3216-c6cc-410e-8bf9-83b7ef66a62f
SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}Kopieren Sie den Dienst
ID
, z. B.71dd6fa4-5644-43ee-918f-c5fda03ffe24
. aus der Ausgabe für den nächsten Schritt.Registrieren Sie die Dienste aus dem vorherigen Schritt bei Ihrer Anwendung. Kopieren die Dienst-IDs aus dem Ausgabefeld im vorherigen Schritt.
gcloud apphub applications services create sample-service-backend \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='service-backend' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create sample-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='service-forwarding-rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create sample-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 Dienst-ID
des den Sie registrieren möchten.FORWARDING_RULE_SERVICE_ID
: der DienstID
von die Weiterleitungsregel, die Sie registrieren möchten.URL_MAP_SERVICE_ID
: Dienst-ID
der URL die Sie registrieren möchten.
Hiermit werden alle registrierten Dienste in der Anwendung aufgelistet.
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID: sample-service-backend DISPLAY_NAME: service-backend SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} CREATE_TIME: 2024-02-13T00:31:45 ID: sample-service-forwarding-rule DISPLAY_NAME: service-forwarding-rule SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} CREATE_TIME: 2024-02-13T00:31:45 ID: sample-service-url-map DISPLAY_NAME: url-map SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} CREATE_TIME: 2024-02-13T00:31:45
Registriert, aber getrennte Dienste werden durch einen leeren Wert in der
SERVICE_REFERENCE
. Weitere Informationen zur finden Sie in der Properties und Attribute von App Hub.Listen Sie alle erkannten Arbeitslasten im Hostprojekt auf. Dieser Befehl gibt Arbeitslasten, die für eine Anwendung registriert werden können.
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=us-west1
Die Ausgabe sollte in etwa so aussehen:
ID: c9c08669-0fd2-4f7c-b2b1-2cf3c57662c2 WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} WORKLOAD_PROPERTIES: {'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.
Arbeitslast aus dem vorherigen Schritt bei Ihrer Anwendung registrieren als
sample-workload
. Kopieren Sie die Arbeitslast-ID aus dem im vorherigen Schritt.gcloud apphub applications workloads create sample-workload \ --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.Listen Sie 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: sample-workload DISPLAY_NAME: workload-instance-group WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} CREATE_TIME: 2024-02-13T00:31:45
Registriert, aber getrennte Arbeitslasten werden durch einen leeren Wert in der
WORKLOAD_REFERENCE
. Weitere Informationen zur finden Sie in der Properties und Attribute von App Hub.
Alle Dienste und Arbeitslasten ansehen
Sie können Details zu den Diensten und Arbeitslasten aller Dienste Projekte, die an das Hostprojekt angehängt sind.
Rufen Sie in der Google Cloud Console den App Hub auf. Seite Dienste und Arbeitslasten
Wählen Sie in der Liste Region die Option us-west1 aus. Die Arbeitslast workload-instance-group wird mit Details wie App Hub Type, Wichtigkeit und Registriert auf:
So filtern Sie die Dienste oder Arbeitslasten anhand ihres Status:
- Wählen Sie im Feld Filter Filter wie Registrierungsstatus aus.
- Klicken Sie auf Registriert. Liste der registrierten Dienste und Arbeitslasten erscheint.
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
Wechseln Sie in der Google Cloud Console zur App Hub-Seite Anwendungen.
Klicken Sie auf den Namen einer Anwendung: sample-application.
Wählen Sie auf dem Tab Dienste und Arbeitslasten Registrierte Dienste und Arbeitslasten auf den Namen des service-forwarding-rule.
Klicken Sie auf der Seite Dienste und Arbeitslasten auf Registrierung aufheben.
In einer Benachrichtigung werden Sie darüber informiert, dass der Dienst nicht registriert ist.
Wählen Sie auf dem Tab Dienste und Arbeitslasten Registrierte Dienste und Arbeitslasten auf den Namen des Arbeitslast: workload-instance-group.
Klicken Sie auf dem Tab Details auf Registrierung aufheben.
Eine Benachrichtigung informiert Sie darüber, dass die Arbeitslast nicht registriert ist.
Rufen Sie im App Hub die Seite Anwendungen auf.
Klicken Sie auf den Namen einer Anwendung.
Klicken Sie auf der Seite tutorial-application auf Löschen.
Rufen Sie in der Google Cloud Console die App Hub-Einstellungen auf. Seite.
Aktivieren Sie auf der Seite Einstellungen das Kontrollkästchen für die SERVICE_PROJECT_ID, die Sie aus dem 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
Heben Sie die Registrierung der Dienste bei der Anwendung auf:
gcloud apphub applications services delete sample-service-backend \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services delete sample-service-forwarding-rule \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services delete sample-service-url-map \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Die Dienste werden jetzt erkannte Dienste, die im .
Listen Sie die registrierten Arbeitslasten in der Anwendung auf:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Heben Sie die Registrierung der Arbeitslast von der Anwendung auf:
gcloud apphub applications workloads delete sample-workload \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Die Arbeitslast ist jetzt eine erkannte Arbeitslast, die im .
Löschen Sie die Anwendung:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Entfernen Sie das Dienstprojekt aus dem 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
<ph type="x-smartling-placeholder">Console
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, die Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden Sie, um das Projekt zu löschen.
gcloud
Löschen Sie ein Google Cloud-Projekt:
gcloud projects delete PROJECT_ID
Ersetzen Sie PROJECT_ID
durch HOST_PROJECT_ID
.