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 (MIG) bereit. Anschließend sehen Sie sich die Infrastrukturressourcen als Dienste und Arbeitslasten in Anwendungen im App Hub-Hostprojekt an.

Diese Anleitung richtet sich an Personen, die 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-Hostprojekt.
  2. Verwenden Sie Terraform, um ein VPC-Netzwerk, einen regionalen externen Application Load Balancer und eine MIG bereitzustellen, die den Endpunkt des Load-Balancers ist. Der regionale externe Application Load Balancer enthält die folgenden Ressourcen:

    • HTTP-Systemdiagnose
    • Weiterleitungsregel
    • URL-Zuordnung
    • Ziel-Proxy
    • 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 im App Hub als erkannte Ressourcen verfügbar. Weitere Informationen finden Sie unter Konzepte und Datenmodell.

  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. Informieren Sie sich über 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 von der verwalteten VM-Lösung 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 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 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 Sie ein Google Cloud-Projekt aus oder erstellen Sie eines als App Hub-Hostprojekt.

  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. Achten Sie darauf, dass 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) oder wählen Sie eines aus, das als Hostprojekt für App Hub festgelegt werden soll.

    • 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 den Code nach Bedarf an und stellen Sie die Lösung dann ü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 Ablauf der Anfrageverarbeitung 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. Cloud Load Balancing erhält diese Anfrage.

  2. Cloud Load Balancing leitet den Traffic mithilfe von Informationen in 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 zu erkannten 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

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

Console

  1. Bitten Sie Ihren Administrator, 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. Das ist die Rolle App Hub-Administrator 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 Admin (App Hub-Administrator) aus und klicken Sie auf Save (Speichern).

gcloud

  1. Wiederholen Sie den folgenden Befehl, um die Rollen Personen zuzuweisen, die App Hub verwalten. Dazu ersetzen Sie 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 Admin“ hat. Dieser Wert hat das Format username@yourdomain, z. B. robert.smith@example.com.

  2. Gewähren Sie den Personen, die App Hub verwalten, im Dienstprojekt die Rolle „App Hub-Administrator“. Er muss die Rolle „App Hub Admin“ haben, um dem Hostprojekt Dienstprojekte hinzuzufügen. Sie benötigen für jedes Dienstprojekt 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 von HOST_PROJECT_ID.

Dienstprojekt anhängen

Hängen Sie das Hostprojekt, in dem Sie die Ressourcen bereitgestellt haben, als Dienstprojekt an.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Einstellungen von App Hub auf.

    Einstellungen aufrufen

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

  3. Suchen Sie im angezeigten Bereich in der angezeigten Liste nach Projekten und klicken Sie 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 dem App Hub-Hostprojekt Ihr Hostprojekt als Dienstprojekt hinzu.

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

  1. Achten Sie darauf, dass Sie sich im Hostprojekt befinden.
  2. Rufen Sie in der Google Cloud Console die Seite Anwendungen in App Hub 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 Region die Option us-west1 aus.

  5. Geben Sie im Feld Anwendungsname den Wert tutorial-application ein.

  6. Klicken Sie auf Weiter.

  7. Geben Sie im Abschnitt Add Attribute (Attribute hinzufügen) einen Anzeigenamen (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äftsvorgänge ist.

  9. Wählen Sie im Feld Umgebung die Option 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, Operator-Inhaber und Geschäftsinhaber ein. Wenn Sie einen Anzeigenamen hinzufügen, müssen Sie die E-Mail-Adresse des Inhabers eingeben.

    1. Geben Sie den Anzeigenamen eines Inhabers 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 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 der Entwickler, Operatoren bzw. Geschäftsinhaber.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR und EMAIL-NAME-BUSINESS: E-Mail-Adressen des Entwicklers, Operators bzw. Geschäftsinhabers. 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 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

Durch das Registrieren von Diensten und Arbeitslasten werden sie einer Anwendung hinzugefügt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Anwendungen in App Hub 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 l7-xlb-backend-service aus und klicken Sie auf Weiter.
    3. Geben Sie im Abschnitt Attribute hinzufügen den Namen des Attributs ein: sample-service-backend.
    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 Umgebung die Option Produktion aus, um die Phase des Softwarelebenszyklus anzugeben.
    7. Klicken Sie auf Weiter.
    8. Machen Sie je nach Bedarf die folgenden Angaben für Entwicklerinhaber, Operator-Inhaber und Geschäftsinhaber. Wenn Sie einen Anzeigenamen hinzufügen, müssen Sie die E-Mail-Adresse des Inhabers eingeben.
      1. Geben Sie den Anzeigenamen eines Inhabers ein.
      2. Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss das Format username@yourdomain haben, z. B. 222larabrown@gmail.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 den neu hinzugefügten Dienst.

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

  5. Zum Registrieren einer Arbeitslast wiederholen Sie die vorherigen Schritte, um einen Dienst zu registrieren. Dabei gelten folgende Ausnahmen:

    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 ein: sample-workload.
    3. Geben Sie als Anzeigename workload-instance-group ein.

    Auf dem Tab Dienste und Arbeitslasten im Abschnitt Registrierte Dienste und Arbeitslasten sehen Sie die neu hinzugefügte Arbeitslast.

gcloud

  1. 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, der im Hostprojekt die Rolle „App Hub-Bearbeiter“ hat. Dieser Wert hat das Format username@yourdomain, z. B. robert.smith@example.com.

  2. Listen Sie alle erkannten Dienste im Hostprojekt auf. 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 aus der Ausgabe, um ihn im nächsten Schritt zu verwenden, z. B. 71dd6fa4-5644-43ee-918f-c5fda03ffe24.

  3. Registrieren Sie die Dienste aus dem vorherigen Schritt bei 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
    

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

  5. Listen Sie alle erkannten Arbeitslasten im Hostprojekt auf. Dieser Befehl gibt Arbeitslasten zurück, 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 zu verwenden.

  6. Registrieren Sie die Arbeitslast aus dem vorherigen Schritt bei Ihrer Anwendung als sample-workload. 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 durch einen leeren Wert im Feld WORKLOAD_REFERENCE 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 Seite Dienste und Arbeitslasten für App Hub 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 Type, Criticality und Registered to angezeigt.

  3. So filtern Sie die Dienste oder Arbeitslasten anhand ihres Status:

    1. Wählen Sie im Feld Filter Filter wie Registrierungsstatus aus.
    2. Klicken Sie auf Registriert. Eine Liste der bei der Anwendung registrierten Dienste und Arbeitslasten wird 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 Seite Anwendungen in App Hub 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 des Dienstes aufheben. In einer Benachrichtigung werden Sie darüber informiert, 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 dem Tab Details auf Arbeitslast abmelden. Eine Benachrichtigung informiert Sie darüber, dass die Arbeitslast nicht registriert ist.

  7. Rufen Sie im App Hub die 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 von 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 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 unter der 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 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 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

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 dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, 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.

Nächste Schritte