App Hub-Anwendung mit einem einzelnen Projekt erstellen


Mit App Hub können Sie Infrastrukturressourcen aus Google Cloud-Projekten über App Hub-Anwendungen verwalten und ansehen. Zum Erstellen dieser App Hub-Anwendungen benötigen Sie ein App Hub-Hostprojekt, an das Sie Dienstprojekte anhängen können, die Google Cloud-Ressourcen enthalten.

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:

  1. 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.
  2. 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.

  3. Weisen Sie diesem Projekt die entsprechenden Rollen und Berechtigungen zu, damit es als App Hub-Hostprojekt fungieren kann.

  4. 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.

  5. Erstellen Sie eine regionale App Hub-Anwendung im App Hub-Hostprojekt.

  6. Registrieren Sie erkannte Dienste und eine Arbeitslast aus dem Dienstprojekt in der App Hub-Anwendung und weisen Sie Attribute zu.

  7. 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:

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

  1. Rufen Sie in der Google Cloud Console die Seite für die Projektauswahl auf.

    Zur Projektauswahl

  2. Wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines, das als Hostprojekt für den App Hub verwendet werden soll.

  3. Enable the required APIs.

    Enable the APIs

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    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.

  2. 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

  3. 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
  4. 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.

App Hub-Arbeitslasten und ‑Dienste mit einem Load Balancer und einer verwalteten Instanzgruppe
Abbildung 1. App Hub-Arbeitslasten und ‑Dienste mit einem Load Balancer und einer verwalteten Instanzgruppe

Im Folgenden wird der Anfrageverarbeitungsablauf der Topologie dargestellt, die von der Lösung „Verwaltete VMs mit Load Balancing“ bereitgestellt wird.

  1. Der Nutzer sendet eine Anfrage an die Anwendung, die auf der Compute Engine bereitgestellt ist. Cloud Load Balancing empfängt diese Anfrage.

  2. 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.

  1. Klonen Sie in Cloud Shell das GitHub-Repository in Cloud Shell.

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. 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 
    
  3. 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

  1. 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.

  2. 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.
    
  3. 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 und terraform plan noch einmal aus.

Ressourcen bereitstellen

Wenn keine weiteren Änderungen an der Terraform-Konfiguration erforderlich sind, stellen Sie die Ressourcen bereit.

  1. 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.

  2. Wenden Sie die Terraform-Konfiguration an:

    terraform apply
    

    Terraform zeigt eine Liste der Ressourcen an, die erstellt werden.

  3. 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:

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen

  2. Klicken Sie auf Zugriff gewähren. Der Bereich Zugriff gewähren wird geöffnet.

  3. 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.

  4. Klicken Sie auf Rolle auswählen und geben Sie im Feld Filter App Hub ein.

  5. Wählen Sie die Rolle App Hub-Administrator aus.

  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie in der Liste Rolle auswählen die Option Monitoring-Betrachter aus.

  7. Klicken Sie auf Speichern.

gcloud

  1. 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 Format username@yourdomain, z. B. 222larabrown@gmail.com.

  2. 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.

  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Einstellungen des App Hubs auf.

    Einstellungen aufrufen

  2. Klicken Sie auf der Seite Einstellungen auf Projekte anhängen.

  3. 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.

  4. Klicken Sie auf Auswählen. In der Tabelle Angehängte Dienstprojekte wird das ausgewählte Hostprojekt als Dienstprojekt angezeigt.

  5. 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

  1. Achten Sie darauf, dass Sie sich im App Hub-Hostprojekt befinden.
  2. Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.

    Wechseln Sie zu „Anwendungen“

  3. Klicken Sie auf Anwendung erstellen.

  4. Wählen Sie auf der Seite Anwendung erstellen im Bereich Region und Name der Anwendung auswählen die Option Regional aus.

  5. Wählen Sie in der Liste Region die Option us-west1 aus.

  6. 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.

  7. 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.

  8. 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.

  9. Wählen Sie im Feld Umgebung die Option Produktion aus, um die Phase des Softwarelebenszyklus anzugeben.

  10. Klicken Sie auf Weiter.

  11. 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.

    1. Geben Sie den Anzeigenamen eines Eigentümers ein.
    2. Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss das Format username@yourdomain haben, z. B. 222larabrown@gmail.com.
  12. Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.

  13. Klicken Sie auf Erstellen.

Die neue Anwendung wird erstellt und auf der Seite Anwendungen aufgeführt.

gcloud

  1. Wählen Sie das von Ihnen erstellte App Hub-Hostprojekt aus:

    gcloud config set project HOST_PROJECT_ID
  2. Erstellen Sie in der Region us-west1 eine neue Anwendung namens tutorial-application und geben Sie ihr den Anzeigenamen Tutorial. 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
    
  3. 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
    
  4. 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 und DISPLAY-NAME-BUSINESS: Anzeigenamen des Entwicklers, Betreibers und Inhabers des Unternehmens.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR und EMAIL-NAME-BUSINESS: E-Mail-Adressen des Entwicklers, Betreibers und des Unternehmensinhabers. Diese Werte müssen das Format username@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.
  5. 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

  1. Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.

    Wechseln Sie zu „Anwendungen“

  2. 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.

  3. So registrieren Sie einen Dienst:

    1. Klicken Sie auf dem Tab Dienste und Arbeitslasten auf Dienst/Arbeitslast registrieren.
    2. 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.
    3. Wählen Sie im Bereich Ressource auswählen den Namen des Dienstes, l7-xlb-backend-service, aus und klicken Sie auf Auswählen.
    4. Geben Sie im Bereich Ressource auswählen den Namen der Ressource ein, tutorial-service-backend.
    5. Geben Sie einen Anzeigenamen, Backend service, ein und klicken Sie auf Weiter.
    6. Wählen Sie im Bereich Attribute hinzufügen in der Liste Kritisch die Option Hoch aus, um die Wichtigkeit der Anwendung anzugeben.
    7. Wählen Sie im Feld Umgebung die Option Produktion aus, um die Phase des Softwarelebenszyklus anzugeben.
    8. Klicken Sie auf Weiter.
    9. 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.
      1. Geben Sie den Anzeigenamen eines Eigentümers ein.
      2. Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss das Format username@yourdomain haben, z. B. 222larabrown@gmail.com.
    10. Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.
    11. Klicken Sie auf Registrieren.

    Auf dem Tab Dienste und Arbeitslasten sehen Sie im Bereich Registrierte Dienste und Arbeitslasten den hinzugefügten neuen Dienst.

  4. Wiederholen Sie die vorherigen Schritte, um die anderen Dienste als tutorial-service-forwarding-rule und tutorial-service-url-map zu registrieren.

  5. Registrieren Sie eine Arbeitslast, indem Sie die vorherigen Schritte zum Registrieren eines Dienstes wiederholen. Beachten Sie dabei die folgenden Ausnahmen:

    1. 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.
    2. Geben Sie im Bereich Ressource auswählen den Namen der Ressource ein, tutorial-workload-mig.
    3. 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

  1. 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 Format username@yourdomain, z. B. 222larabrown@gmail.com.

  2. Liste aller erkannten Dienste im App Hub-Hostprojekt. 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-IDs, z. B. BACKEND_SERVICE_SP2_ID, aus der Ausgabe für den nächsten Schritt.

  3. 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 Dienst ID des Backend-Dienstes, den Sie registrieren möchten.
    • FORWARDING_RULE_SERVICE_ID: der Dienst ID der Weiterleitungsregel, die Sie registrieren möchten.
    • URL_MAP_SERVICE_ID: Der Dienst ID der URL-Zuordnung, die Sie registrieren möchten.
  4. 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 sind durch einen leeren Wert im Feld SERVICE_REFERENCE gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Eigenschaften und Attribute des App Hub.

  5. 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.

  6. 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.

  7. 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.

  1. Rufen Sie in der Google Cloud Console die Seite Dienste und Arbeitslasten des App Hubs auf.

    Zu „Dienste und Arbeitslasten“

    Alle Dienste und Arbeitslasten aus den angehängten App Hub-Dienstprojekten werden angezeigt.

  2. 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.

  3. So filtern Sie die Dienste oder Arbeitslasten nach Status:

    1. Wählen Sie im Feld Filter Filter wie Registrierungsstatus aus.
    2. 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.

  1. Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.

    Wechseln Sie zu „Anwendungen“

  2. 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.

  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Anwendungen des App Hubs auf.

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie auf den Namen einer Anwendung, Anleitung.

  3. Klicken Sie auf dem Tab Dienste und Arbeitslasten im Bereich Registrierte Dienste und Arbeitslasten auf den Namen eines Dienstes.

  4. 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.

  5. Klicken Sie auf dem Tab Dienste und Arbeitslasten im Bereich Registrierte Dienste und Arbeitslasten auf den Namen einer Arbeitslast.

  6. Klicken Sie auf dem Tab Details auf Registrierung aufheben.

    Sie werden durch eine Benachrichtigung darüber informiert, dass die Arbeitslast nicht registriert ist.

  7. Rufen Sie die Seite Anwendungen im App Hub auf.

    Wechseln Sie zu „Anwendungen“

  8. Klicken Sie auf den Namen einer Anwendung.

  9. Klicken Sie auf der Seite tutorial-application auf Delete (Löschen).

  10. Rufen Sie in der Google Cloud Console die Seite Einstellungen des App Hubs auf.

    Einstellungen aufrufen

  11. Klicken Sie auf der Seite Einstellungen das Kästchen für das Dienstprojekt an, das Sie aus dem App Hub-Hostprojekt entfernen möchten.

  12. Klicken Sie auf Projekte trennen.

gcloud

  1. Listen Sie die registrierten Dienste in der Anwendung auf:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. 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.

  3. Listen Sie die registrierten Arbeitslasten in der Anwendung auf:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. 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.

  5. So löschen Sie die Anwendung:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. 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.

  1. 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.

  2. Entfernen Sie die von Terraform bereitgestellten Ressourcen:

    terraform destroy
    

    Terraform zeigt eine Liste der Ressourcen an, die gelöscht werden.

  3. 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

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. 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.

Nächste Schritte