App Hub-Anwendung mit einem einzelnen Projekt erstellen


In dieser Anleitung erfahren Sie, wie Sie eine App Hub-Anwendung in einem einzelnen Projekt einrichten. In einem Dienstprojekt, das als App Hub-Hostprojekt fungiert, stellen Sie eine verwaltete Instanzgruppe mit Load-Balancing bereit. Anschließend sehen Sie die Infrastrukturressourcen als Dienste und Arbeitslasten in Anwendungen im App Hub-Hostprojekt an.

Diese Anleitung richtet sich an Nutzer, die App Hub einrichten und verwalten. Es wird erwartet, dass Sie sich mit Load-Balancern auskennen.

Lernziele

In dieser Anleitung erfahren Sie, wie Sie die folgenden Aufgaben ausführen:
  1. Google Cloud-Projekt erstellen. Dieses Projekt ist Ihr App Hub-Hostprojekt.
  2. Stellen Sie in Google Cloud mit Terraform eine MIG mit Load-Balancing bereit.
  3. Geben Sie die entsprechenden Rollen und Berechtigungen für das Hostprojekt an.
  4. Hängen Sie das App Hub-Hostprojekt als Dienstprojekt an.
  5. Erstellen Sie eine Anwendung im App Hub-Hostprojekt.
  6. Entdecken Sie die Infrastrukturressourcen als App Hub-Dienste und -Arbeitslasten.
  7. Registrieren Sie Dienste und eine Arbeitslast aus dem Dienstprojekt in der Anwendung und weisen Sie Attribute zu.
  8. Sehen Sie sich Details zu den registrierten Diensten und Arbeitslasten im App Hub an.

Kosten

Eine Schätzung der Kosten der Google Cloud-Ressourcen, die die verwaltete VM-Lösung mit Load-Balancing verwendet, finden Sie in der vorausberechneten 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 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 dem entsprechenden Hauptkonto die erforderlichen Berechtigungen für das Projekt gewährt werden. Ein Hauptkonto kann beispielsweise ein Google-Konto (für Endnutzer) oder ein Dienstkonto (für Anwendungen und Computing-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 verwalten.

Möglicherweise können Sie 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 oder erstellen Sie ein Google Cloud-Projekt, das Ihr App Hub-Hostprojekt sein soll.

  3. Aktivieren Sie die erforderlichen APIs.

    Aktivieren Sie die APIs

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    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.

  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 Sie ein neues Projekt (HOST_PROJECT_ID), das als Hostprojekt für App Hub verwendet werden soll, oder wählen Sie ein neues aus.

    • Erstellen Sie ein Google Cloud-Projekt:

      gcloud projects create HOST_PROJECT_ID
    • Wählen Sie das 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 den Code bei Bedarf an und stellen Sie dann die Lösung über die Terraform-Befehlszeile bereit. Nachdem Sie die Lösung bereitgestellt haben, können Sie sie weiterhin 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 sehen Sie den Anfrageverarbeitungsablauf der Topologie, die von der verwalteten VM-Lösung mit Load-Balancing bereitgestellt wird.

  1. Der Nutzer sendet eine Anfrage an die Anwendung, die auf der Compute Engine bereitgestellt ist. Die Anfrage erreicht zuerst Cloud Load Balancing.

  2. Cloud Load Balancing leitet den Traffic mithilfe von Informationen aus der Weiterleitungsregel, der URL-Zuordnung und dem Back-End-Dienst an die von Compute Engine verwaltete Instanzgruppe weiter.

Terraform-Client einrichten

Sie können Terraform entweder in Cloud Shell oder auf Ihrem lokalen Host ausführen. In dieser Anleitung 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 auf 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 erkannte Dienste. 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

Geben Sie bei Bedarf die entsprechenden IAM-Rollen und -Berechtigungen für das App Hub-Hostprojekt an.

Console

  1. Optional können Sie Ihren Administrator bitten, Ihnen die erforderlichen IAM-Rollen für Ihr Projekt zu gewähren, 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 App Hub verwalten wird. Dies ist die Rolle „App Hub-Administrator“ im Hostprojekt.

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

    5. Wählen Sie die Rolle „App Hub-Administrator“ aus und klicken Sie auf Speichern.

gcloud

  1. Optional können Sie den folgenden Befehl wiederholen, um die Rollen Personen zuzuweisen, die App Hub verwalten. Ersetzen Sie dabei die 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 im Hostprojekt die Rolle „App Hub-Administrator“ hat. Dieser Wert hat das Format username@yourdomain, z. B. robert.smith@example.com.

  2. Gewähren Sie den Nutzern, die App Hub verwalten, die Rolle „App Hub-Administrator“ im Dienstprojekt. Er benötigt die Rolle „App Hub Admin“, um dem Hostprojekt Dienstprojekte hinzuzufügen. Für jedes Dienstprojekt benötigen Sie mindestens eine Person mit dieser Rolle. 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, auf dem Sie die Ressourcen bereitgestellt haben, als Dienstprojekt an.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Einstellungen für den App Hub auf.

    Einstellungen aufrufen

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

  3. Suchen Sie im angezeigten Bereich nach Projekten oder klicken Sie in der angezeigten Liste das Kästchen für das Hostprojekt an.

  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 das Hostprojekt als Dienstprojekt dem App Hub-Hostprojekt hinzu.

gcloud apphub service-projects add HOST_PROJECT_ID \
  --project=HOST_PROJECT_ID

Anwendung erstellen

Erstellen Sie eine Anwendung, die als Container für Ihre Dienste und Arbeitslasten dienen soll.

Console

  1. Prüfen Sie, ob Sie sich im Hostprojekt befinden.
  2. Rufen Sie in der Google Cloud Console die App Hub-Seite Anwendungen auf.

    Wechseln Sie zu „Anwendungen“

  3. Klicken Sie auf Anwendung erstellen. Der Bereich Create Application (Anwendung erstellen) wird angezeigt.

  4. Wählen Sie in der Liste Standort die Option us-west1 aus.

  5. Geben Sie im Feld Application Name (Anwendungsname) tutorial-application ein.

  6. Klicken Sie auf Weiter.

  7. Geben Sie im Abschnitt Attribute hinzufügen unter Anzeigename den Namen sample-application ein.

  8. Wählen Sie in der Liste Wichtigkeit die Option Hoch aus. Die Wichtigkeit gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihre Geschäftsabläufe ist.

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

  10. Klicken Sie auf Weiter.

  11. Geben Sie im Abschnitt Inhaber hinzufügen die folgenden Informationen für Entwicklerinhaber, Operatorinhaber und Geschäftsinhaber ein. Beachten Sie, dass Sie die E-Mail-Adresse des Inhabers eingeben müssen, wenn Sie einen Anzeigenamen hinzufügen.

    1. Geben Sie den Anzeigenamen des Inhabers ein.
    2. Geben Sie die E-Mail-Adresse des Eigentümers ein. Dieser Wert muss das Format username@yourdomain haben, z. B. robert.smith@example.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 Programme aufgeführt.

gcloud

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

    gcloud config set project HOST_PROJECT_ID
  2. Erstellen Sie eine neue Anwendung mit dem Namen tutorial-application in der Region us-west1 und geben Sie ihr den Anzeigenamen Tutorial:

    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 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
    
  4. Aktualisieren Sie Ihre Anwendung mit den Attributen criticality-type, environment-type und Inhaber:

    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 bzw. Geschäftsinhabers.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR und EMAIL-NAME-BUSINESS: die E-Mail-Adressen des Entwicklers, Betreibers bzw. Geschäftsinhabers. Diese Werte müssen das Format username@yourdomain haben, z. B. robert.smith@example.com.

    Hinweise:

    • criticality-type: Gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihren Geschäftsbetrieb ist.
    • environment-type: gibt die Phasen des Softwarelebenszyklus an.
  5. 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

Wenn Sie Dienste und Arbeitslasten registrieren, werden sie einer Anwendung hinzugefügt.

Console

  1. Rufen Sie in der Google Cloud Console die App Hub-Seite Anwendungen auf.

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie auf den Namen Ihrer Anwendung: sample-application. Der Tab Dienste und Arbeitslasten wird mit einer Liste der registrierten Dienste und Arbeitslasten angezeigt, die sich in Ihren Dienstprojekten befinden.

  3. So registrieren Sie einen Dienst:

    1. Klicken Sie auf dem Tab Dienste und Arbeitslasten auf Dienst/Arbeitslast registrieren.
    2. Wählen Sie im Bereich Dienst oder Arbeitslast registrieren im Abschnitt Dienst oder Arbeitslast auswählen den Namen des Dienstes aus (l7-xlb-backend-service) und klicken Sie auf Weiter.
    3. Geben Sie im Abschnitt Attribute hinzufügen den Namen des Attributs sample-service-backend ein.
    4. Geben Sie als Anzeigename service-backend ein.
    5. Wählen Sie in der Liste Wichtigkeit die Option Hoch aus, um die Wichtigkeit der Anwendung anzugeben.
    6. Wählen Sie im Feld Environment (Umgebung) die Option Production (Produktion) aus, um die Phase des Softwarelebenszyklus anzugeben.
    7. Klicken Sie auf Weiter.
    8. Fügen Sie nach Bedarf die folgenden Informationen für Entwicklerinhaber, Inhaberinhaber und Geschäftsinhaber hinzu. Beachten Sie, dass Sie die E-Mail-Adresse des Inhabers eingeben müssen, wenn Sie einen Anzeigenamen hinzufügen.
      1. Geben Sie den Anzeigenamen des Inhabers ein.
      2. Geben Sie die E-Mail-Adresse des Eigentümers ein. Dieser Wert muss das Format username@yourdomain haben, z. B. robert.smith@example.com.
    9. Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.
    10. Klicken Sie auf Registrieren.

    Auf dem Tab Dienste und Arbeitslasten im Abschnitt Registrierte Dienste und Arbeitslasten sehen Sie, wie der neue Dienst hinzugefügt wurde.

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

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

    1. Wählen Sie im Bereich Dienst oder Arbeitslast registrieren im Abschnitt Dienst oder Arbeitslast auswählen den Namen der Arbeitslast (l7-xlb-backend-example) aus und klicken Sie auf Weiter.
    2. Geben Sie im Abschnitt Attribute hinzufügen den Namen des Attributs sample-workload ein.
    3. Geben Sie im Feld Anzeigename workload-instance-group ein.

    Auf dem Tab Dienste und Arbeitslasten im Abschnitt Registrierte Dienste und Arbeitslasten sehen Sie, wie die neue Arbeitslast hinzugefügt wurde.

gcloud

  1. Fügen Sie eine Person mit App Hub-Bearbeiterberechtigungen 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 im Hostprojekt die Rolle „App Hub-Bearbeiter“ hat. Dieser Wert hat das Format username@yourdomain, z. B. robert.smith@example.com.

  2. Alle erkannten Dienste im Hostprojekt auflisten. Dieser Befehl gibt Dienste zurück, 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, um ihn im nächsten Schritt zu verwenden.

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

    Registrierte, aber getrennte Dienste werden im Feld SERVICE_REFERENCE durch einen leeren Wert gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Attribute und Attribute von App Hub.

  5. Alle erkannten Arbeitslasten im Hostprojekt auflisten. Dieser Befehl gibt Arbeitslasten zurück, die bei einer 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 zu verwenden.

  6. Registrieren Sie die Arbeitslast aus dem vorherigen Schritt als sample-workload in Ihrer Anwendung. Kopieren Sie die Arbeitslast-ID aus dem Ausgabefeld 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.

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

    Registrierte, aber getrennte Arbeitslasten werden im Feld WORKLOAD_REFERENCE durch einen leeren Wert gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Attribute und Attribute von App Hub.

Alle Dienste und Arbeitslasten ansehen

Sie können Details zu den Diensten und Arbeitslasten aus allen Dienstprojekten ansehen, die an das Hostprojekt angehängt sind.

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

    Zur Seite „Dienste und Arbeitslasten“

    Es werden alle Dienste und Arbeitslasten aus den angehängten Dienstprojekten angezeigt.

  2. Wählen Sie in der Liste Region die Option us-west1 aus. Die Arbeitslast workload-instance-group wird mit Details wie App Hub-Typ, Wichtigkeit und Registriert für angezeigt.

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

    1. Wählen Sie im Feld Filter Filter aus, z. B. Registrierungsstatus.
    2. Klicken Sie auf Registriert. Es wird eine Liste der für die Anwendung registrierten Dienste und Arbeitslasten angezeigt.

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 App Hub-Seite Anwendungen auf.

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie auf den Namen einer Anwendung, sample-application.

  3. Klicken Sie auf dem Tab Dienste und Arbeitslasten im Abschnitt Registrierte Dienste und Arbeitslasten auf den Namen des Dienstes service-forwarding-rule.

  4. Klicken Sie auf der Seite Dienste und Arbeitslasten auf Registrierung aufheben. In einer Benachrichtigung wird darauf hingewiesen, dass der Dienst nicht registriert ist.

  5. Klicken Sie auf dem Tab Dienste und Arbeitslasten im Abschnitt Registrierte Dienste und Arbeitslasten auf den Namen der Arbeitslast workload-instance-group.

  6. Klicken Sie auf der Seite Dienste und Arbeitslasten auf Registrierung aufheben. Es wird eine Benachrichtigung angezeigt, dass die Arbeitslast nicht registriert ist.

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

    Wechseln Sie zu „Anwendungen“

  8. Klicken Sie auf den Namen einer Anwendung.

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

  10. Rufen Sie in der Google Cloud Console die Seite Einstellungen für den App Hub auf.

    Einstellungen aufrufen

  11. Klicken Sie auf der Seite Einstellungen das Kästchen für die SERVICE_PROJECT_ID an, die Sie aus dem 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. Heben Sie die Registrierung der Dienste in 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 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. Heben Sie die Registrierung der Arbeitslast bei 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 bei der Anwendung registriert werden kann.

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

    Google Cloud-Projekt löschen:

    gcloud projects delete PROJECT_ID

Ersetzen Sie PROJECT_ID durch HOST_PROJECT_ID.

Nächste Schritte