App Hub einrichten

Dieses Dokument enthält eine Anleitung zum Einrichten von App Hub, um Anwendungen in Google Cloud zu erstellen, auszuführen und zu verwalten. Sie richtet sich an Personen, die App Hub einrichten und verwalten.

Wenn Sie App Hub einrichten, sind dies folgende Hauptaufgaben:

  1. Entscheiden Sie, ob Sie ein neues App Hub-Hostprojekt erstellen oder ein vorhandenes Projekt als Hostprojekt verwenden möchten.
    • Wenn Sie mehr als ein Hostprojekt haben möchten, empfehlen wir dringend, sie im selben Ordner zu erstellen.
    • Hostprojekte in App Hub sind nicht mit freigegebene VPC-Hostprojekten identisch und haben nicht die gleichen Anforderungen. Sie benötigen beispielsweise kein freigegebene VPC-Netzwerk, um App Hub zu verwenden. In diesem Dokument beziehen sich alle Verweise auf Hostprojekte auf App Hub-Hostprojekte.
    • Ein Hostprojekt kann kein anderes Dienstprojekt als sich selbst sein.
  2. Aktivieren Sie die App Hub API im Hostprojekt.
  3. Fügen Sie dem Hostprojekt ein oder mehrere App Hub-Dienstprojekte hinzu.
    • Dienstprojekte in App Hub sind nicht mit freigegebene VPC-Dienstprojekten identisch und haben nicht die gleichen Anforderungen. In diesem Dokument beziehen sich alle Verweise auf Dienstprojekte auf App Hub-Dienstprojekte.
  4. Legen Sie App Hub-Nutzer als App Hub-Administratoren, App Hub-Bearbeiter oder App Hub-Betrachter fest.
  5. Anwendungen erstellen
  6. Registrieren Sie Dienste und Arbeitslasten bei der Anwendung.

Dienste und Arbeitslasten

Mit App Hub stehen Ihnen die Ressourcen aus Dienstprojekten, die an das Hostprojekt angehängt sind, als Dienste und Arbeitslasten zur Verfügung. Wenn Sie Ihre Dienste und Arbeitslasten bei einer Anwendung registrieren, können Sie die Ressourcen beobachten und überwachen. Sie können die folgenden Ressourcen als App Hub-Dienste festlegen und sie in App Hub-Anwendungen registrieren:

  • Weiterleitungsregeln
  • URL-Zuordnungen
  • Backend-Dienste

Sie können verwaltete Instanzgruppen (MIGs), aber keine einzelnen VMs, als Arbeitslasten festlegen und sie in App Hub-Anwendungen registrieren.

App Hub unterstützt die regionalen externen und internen L7-Anwendungs-Load-Balancer mit HTTP- oder HTTPS-Traffic.

Arbeitslasten und Dienste, die Sie registrieren, müssen sich in derselben Region wie die Anwendung befinden. Daher wird bei den folgenden Anleitungen und Befehlen vorausgesetzt, dass sich alle Ressourcen in derselben Region befinden. Informationen dazu, welche Regionen Sie festlegen können, finden Sie unter Standorte.

Allgemeiner Einrichtungsprozess

In der folgenden Liste sind die Schritte zur Einrichtung von App Hub zusammengefasst:

  1. Bestimmen Sie, welche vorhandenen Ressourcen in die Anwendung aufgenommen werden sollen und zu welchen Projekten sie gehören.
  2. Erstellen Sie ein App Hub-Hostprojekt und aktivieren Sie die App Hub API im Projekt. Optional können Sie je nach Organisationsstruktur Ihres Unternehmens mehr als ein Hostprojekt erstellen. Wenn Sie mehrere Projekte erstellen, empfehlen wir, sie in einem neuen Ordner zu erstellen.
  3. Dienstprojekte anhängen Nachdem Sie ein Hostprojekt konfiguriert haben, hängen Sie Dienstprojekte mit den zugrunde liegenden Ressourcen, die Ihre Anwendungen benötigen, an das Hostprojekt an. Beachten Sie Folgendes:
    1. Die Dienstprojekte müssen sich in derselben Organisation wie das Hostprojekt befinden. Nachdem Sie ein Dienstprojekt an ein Hostprojekt angehängt haben, können Sie es nicht mehr in eine andere Organisation verschieben. Wenn Sie das Dienstprojekt in eine andere Organisation verschieben möchten, folgen Sie der Anleitung in diesem Dokument, um den Dienstprojektanhang vom Hostprojekt zu entfernen oder zu trennen. Anschließend können Sie das Dienstprojekt einer anderen Organisation zuordnen.
    2. Ein Dienstprojekt kann nicht an mehr als ein Hostprojekt angehängt werden.
    3. Ein Hostprojekt kann ein eigenes Dienstprojekt sein, aber kein Dienstprojekt für ein anderes Hostprojekt.
    4. Nachdem Sie Dienstprojekte an ein Hostprojekt angehängt haben, werden bei der Abfrage von Diensten oder Arbeitslasten an das Hostprojekt automatisch alle Dienste und Arbeitslasten in allen Dienstprojekten zurückgegeben.
  4. Erstellen Sie eine Anwendung, um mehrere Arbeitslasten und Dienste zu organisieren. Wichtige Hinweise:
    1. Der Name der Anwendung muss im Hostprojekt und am Standort eindeutig sein.
    2. Ein Dienstprojekt kann an ein Hostprojekt mit mehreren Anwendungen angehängt werden, seine einzelnen Ressourcen lassen sich jedoch nur bei einer Anwendung registrieren.
  5. Dienste und Arbeitslasten abfragen und in der Anwendung registrieren Nachdem Sie eine Anwendung erstellt haben, fragen Sie das Hostprojekt nach verfügbaren Diensten und Arbeitslasten ab. Die Abfragen werden für das Hostprojekt und alle Dienstprojekte ausgeführt, die an das Hostprojekt angehängt sind. Außerdem werden alle Dienste und Arbeitslasten in diesen Projekten zurückgegeben. Beachten Sie Folgendes:
    1. Sie können einen Dienst oder eine Arbeitslast nur bei einer einzelnen Anwendung registrieren.
    2. Alle Arbeitslasten und Dienste, die Sie registrieren, müssen sich in derselben Region wie die Anwendung befinden.
    3. Registrierte Dienste und Arbeitslasten sind von Aktualisierungen der zugrunde liegenden Infrastrukturressource nicht betroffen. Mit anderen Worten: Wenn Sie die zugrunde liegenden Ressourcen löschen, die als Dienste und Arbeitslasten fungieren, löscht App Hub die zugehörigen Arbeitslasten und Dienste nicht aus Ihrer Anwendung. Sie müssen die Registrierung der Arbeitslast oder des Dienstes separat aufheben.

Vorbereitung

Führen Sie die folgenden Aufgaben aus, bevor Sie den App Hub einrichten.

  1. Entscheiden Sie, welches vorhandene Projekt das Hostprojekt ist, oder erstellen Sie ein neues Projekt als Hostprojekt. Wir empfehlen Ihnen dringend, ein neues Projekt zu erstellen.
  2. Prüfen Sie, welche Personen die IAM-Rollen (Identity and Access Management) für App Hub haben: App Hub-Administrator, App Hub-Bearbeiter und App Hub-Betrachter.

Wichtige Hinweise:

  • An Hostprojekte können ein oder mehrere Dienstprojekte angehängt werden.
  • Ein Dienstprojekt kann nicht an mehr als ein Hostprojekt angehängt werden.
  • Die Person, die ein Dienstprojekt an ein Hostprojekt anhängt, muss sowohl im Dienstprojekt als auch im Hostprojekt die IAM-Rolle „App Hub Admin“ haben. Weitere Informationen finden Sie unter App Hub-Rollen und -Berechtigungen.

App Hub einrichten

In diesem Abschnitt erstellen Sie eine App Hub-Beispielarchitektur.

In diesem Beispiel hat eine Organisation drei Dienstprojekte, deren Infrastrukturressourcen so in den Projekten bereitgestellt werden:

  • Dienstprojekt 1 hat zwei Infrastrukturressourcen: Dienst 1 und Dienst 2.
  • Dienstprojekt 2 hat drei Infrastrukturressourcen: Dienst 3, Arbeitslast 1 und Arbeitslast 2.
  • Dienstprojekt 3 hat drei Infrastrukturressourcen: Dienst 4, Arbeitslast 3 und Arbeitslast 4.

Die Projekte, die Sie zum Erstellen des Beispiels auswählen, müssen die in diesem Abschnitt beschriebenen Ressourcen enthalten. Andernfalls müssen Sie das Beispiel anpassen, während Sie die Anleitung durcharbeiten.

In den folgenden Abschnitten wird beschrieben, wie Sie ein App Hub-Beispiel erstellen. Sie erstellen ein Hostprojekt und fügen ihm Dienstprojekte hinzu. Anschließend erstellen Sie eine Anwendung und hängen Dienste und Arbeitslasten an die Anwendung an. Das Beispiel enthält drei Dienstprojekte, aber Sie können weniger oder mehr hinzufügen.

In diesem Beispiel wird davon ausgegangen, dass alle von Ihnen hinzugefügten Dienstprojekte bereits vorhanden sind und Dienste und Arbeitslasten enthalten, die Sie Ihrer Anwendung hinzufügen. Bestimmen Sie vor dem Erstellen des Beispiels, welche Dienstprojekte die Dienste und Arbeitslasten enthalten, die Sie in die Anwendung aufnehmen möchten.

App Hub aktivieren

In diesem Abschnitt wählen Sie ein Hostprojekt aus oder erstellen ein neues, aktivieren die App Hub API und gewähren Personen in Ihrer Organisation die entsprechenden Rollen und Berechtigungen. Außerdem hängen Sie Dienstprojekte an das Hostprojekt an.

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

    Aktivieren Sie die API

  4. Wenn Sie der Projektersteller sind, wird Ihnen die einfache Rolle "Inhaber" (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 Compute-Arbeitslasten) sein. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zu gewähren, damit Sie die Berechtigungen 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, also 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 Admin“ (App Hub-Administrator) aus und klicken Sie auf Save (Speichern).

    6. Weisen Sie in jedem App Hub-Dienstprojekt demselben Nutzer die Rolle „App Hub Admin“ zu.

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

    Einstellungen aufrufen

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

  7. Führen Sie einen der folgenden Schritte aus:

    • Klicken Sie in der Projektliste die Kästchen für die Projekte an, die Sie als Dienstprojekte hinzufügen möchten.
    • Suchen Sie nach Projekten und wählen Sie dann die Projekte aus, die Sie als Dienstprojekte hinzufügen möchten.
  8. Klicken Sie auf Auswählen. In der Tabelle Angehängte Dienstprojekte werden die ausgewählten Dienstprojekte angezeigt.

  9. Klicken Sie auf Schließen.

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 App Hub API im gerade erstellten Hostprojekt.

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    
  5. Wenn Sie der Projektersteller sind, wird Ihnen die einfache Rolle "Inhaber" (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 Compute-Arbeitslasten) sein. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Ausführen dieser Anleitung benötigen:

    1. Gewähren Sie den Personen, die App Hub verwalten werden, optional die Rolle „App Hub-Administrator“ im Hostprojekt. Wiederholen Sie den folgenden Befehl für jeden Administrator.

      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, in den Dienstprojekten 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. Eine einzelne Person kann die Rolle in mehreren Dienstprojekten übernehmen.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_2 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      
      gcloud projects add-iam-policy-binding SERVICE_PROJECT_3 \
          --member='user:HOST_PROJECT_ADMIN' \
          --role='roles/apphub.admin'
      

      Ersetzen Sie Folgendes:

      • SERVICE_PROJECT_1: das erste von drei Dienstprojekten in diesem Beispiel.
      • SERVICE_PROJECT_2: das zweite von drei Dienstprojekten in diesem Beispiel.
      • SERVICE_PROJECT_3: das dritte von drei Dienstprojekten in diesem Beispiel.
  6. Fügen Sie Ihre Dienstprojekte dem App Hub-Hostprojekt hinzu.

    gcloud apphub service-projects add SERVICE_PROJECT_1 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2 \
        --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3 \
        --project=HOST_PROJECT_ID
    

Anwendung erstellen

Erstellen Sie eine Anwendung als Container für Ihre Dienste und Arbeitslasten, falls Sie noch keine haben.

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 eine Region aus.

  5. Geben Sie den Namen der Anwendung ein und klicken Sie auf Weiter.

  6. Geben Sie im Abschnitt Attribute hinzufügen den Anzeigenamen ein.

  7. Geben Sie optional in den folgenden Feldern weitere Details für die Anwendung ein. Weitere Informationen finden Sie in diesem Dokument unter Vorhandene App Hub-Anwendung aktualisieren.

  8. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie eine neue Anwendung mit dem Namen APPLICATION_NAME und geben Sie ihr den Anzeigenamen APPLICATION_DISPLAY_NAME. Das Flag --scope-type definiert, welche Dienste und Arbeitslasten in einer Anwendung registriert werden können. Nur REGIONAL wird unterstützt. Das bedeutet, dass nur Dienste und Arbeitslasten aus derselben Region wie die Anwendung registriert werden können.

    gcloud apphub applications create APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --scope-type=REGIONAL \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Ersetzen Sie Folgendes:

    • APPLICATION_NAME ist der Name Ihrer Anwendung. Der Name muss kleingeschriebene alphanumerische Zeichen ohne Leerzeichen enthalten.
    • APPLICATION_DISPLAY_NAME: der Anzeigename Ihrer Anwendung.
    • REGION ist die Region der Anwendung. Geben Sie dafür den Wert us-east1 an.
  2. Listen Sie die Anwendungen in Ihrem Hostprojekt auf.

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Die Ausgabe sieht in etwa so aus:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    
  3. Rufen Sie Details zu der von Ihnen erstellten Anwendung ab.

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Der Befehl gibt Informationen im YAML-Format zurück, die in etwa so aussehen.

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

Vorhandene App Hub-Anwendung aktualisieren

Sie können die Attribute Ihrer Anwendung auch aktualisieren, nachdem die Anwendung erstellt wurde.

Console

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

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie in der Liste der Anwendungen bei der Anwendung, die Sie aktualisieren möchten, auf Bearbeiten.

  3. Bearbeiten Sie die Felder nach Bedarf und klicken Sie auf Speichern.

  4. Optional: Wählen Sie in der Liste Wichtigkeit eine der folgenden Optionen aus, um die Wichtigkeit der Anwendung anzugeben:

    • Missionskritisch
    • Hoch
    • Mittel
    • Niedrig
  5. Optional: Wählen Sie im Feld Umgebung eine der folgenden Optionen aus, um die Phase des Softwarelebenszyklus anzugeben:

    • Produktion
    • Phase
    • Entwicklung
    • Test
  6. Optional: 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. robert.smith@example.com.
  7. Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.

  8. Klicken Sie auf Speichern.

gcloud

  1. Aktualisieren Sie Ihre Anwendung mit den Attributen criticality-type, environment-type und Inhabertyp:

    gcloud apphub applications update APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Ersetzen Sie Folgendes:

    • CRITICALITY_LEVEL: gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihren Geschäftsbetrieb ist. Geben Sie einen der folgenden Werte an:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: gibt die Phasen des Softwarelebenszyklus an. Geben Sie einen der folgenden Werte an:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • 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. robert.smith@example.com.
  2. Lassen Sie die Anwendungen auflisten, bei denen das Attribut environment-type den Wert PRODUCTION hat.

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    Die Ausgabe sieht in etwa so aus:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    

Dienste und Arbeitslasten registrieren

Wenn Sie Infrastrukturdienste und -arbeitslasten bei einer Anwendung registrieren, werden die Dienste und Arbeitslasten als App Hub-Ressourcen registriert. Wenn Sie die Platzhalter zum Erstellen der Anwendung mit der gcloud CLI verwenden, lauten die Dienste und Arbeitslasten in den drei Dienstprojekten so:

  • Dienstprojekt 1 hat zwei Infrastrukturressourcen: Dienst 1 und Dienst 2.
  • Dienstprojekt 2 hat drei Infrastrukturressourcen: Dienst 3, Arbeitslast 1 und Arbeitslast 2.
  • Dienstprojekt 3 hat drei Infrastrukturressourcen: Dienst 4, Arbeitslast 3 und Arbeitslast 4.

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. Der Tab Dienste und Arbeitslasten wird mit einer Liste der registrierten Dienste und Arbeitslasten angezeigt, die sich in Ihren Dienstprojekten befinden.

  3. Gehen Sie für jeden Dienst oder jede Arbeitslast, den Sie registrieren möchten, so vor:

    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 Dienst oder die Arbeitslast aus und klicken Sie auf Weiter.
    3. Geben Sie im Abschnitt Attribute hinzufügen einen Namen für den Dienst oder die Arbeitslast ein.
    4. Geben Sie in den folgenden Feldern optional weitere Details zum Dienst oder zur Arbeitslast ein. Weitere Informationen finden Sie in diesem Dokument unter Vorhandene App Hub-Anwendung aktualisieren. Beachten Sie, dass Sie einen der angegebenen Werte für die Felder Wichtigkeit und Umgebung angeben müssen. Der Wert kann sich jedoch von den Werten unterscheiden, die Sie beim Erstellen der Anwendung festgelegt haben.
    5. Klicken Sie auf Registrieren.
    6. Aktualisieren Sie die Seite, damit der Registrierungsstatus des Dienstes oder der Arbeitslast auf Registriert aktualisiert wird. Weitere Informationen zu den Registrierungsstatus finden Sie unter Attribute und Attribute von App Hub.

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. Erkannte Arbeitslasten aus Dienstprojekt 2 auflisten, das an das Hostprojekt angehängt ist. Dieser Befehl gibt Arbeitslasten zurück, die in einer Anwendung registriert werden können.

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Die Ausgabe sieht in etwa so aus, einschließlich nicht registrierter MIGs:

    ID: [DISCOVERED_WORKLOAD_ID_1]
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    
    ID: [DISCOVERED_WORKLOAD_ID_2]
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    

    Kopieren Sie die Arbeitslast-ID aus der Ausgabe, um sie im nächsten Schritt zu verwenden.

  3. Registrieren Sie eine Arbeitslast aus dem vorherigen Schritt bei Ihrer Anwendung.

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \
      --display-name='mywebserver-deployment1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Ersetzen Sie Folgendes:

    • WORKLOAD_NAME: ein Name, unter dem die Arbeitslast registriert werden soll.
    • DISCOVERED_WORKLOAD_ID_2: die Arbeitslast-ID aus der Ausgabe des vorherigen Schritts.
  4. Wiederholen Sie die vorherigen beiden Schritte, um die gewünschten Arbeitslasten aus Dienstprojekt 3 zu filtern und zu registrieren.

  5. Optional: Sie können die Arbeitslasten mit den Attributen criticality-type, environment-type und Inhaberattribute aktualisieren.

    gcloud apphub applications workloads update WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Beachten Sie, dass Sie einen der angegebenen Werte für criticality-type und environment-type angeben müssen. Der Wert kann sich jedoch von den Werten unterscheiden, die Sie beim Erstellen der Anwendung festgelegt haben.

  6. Listen Sie registrierte Arbeitslasten in der Anwendung auf.

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Die Ausgabe sieht in etwa so aus:

    ID: WORKLOAD_NAME
    DISPLAY_NAME: mywebserver-deployment1
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    CREATE_TIME: 2023-10-31T18:34:23
    

    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.

  7. Listen Sie die erkannten Dienste mit Weiterleitungsregeln im Dienstprojekt 1 auf, das an das Hostprojekt angehängt ist. Dieser Befehl gibt Dienste zurück, die für eine Anwendung registriert werden können.

    gcloud apphub discovered-services list \
      --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Die Ausgabe sieht in etwa so aus:

    ID: [DISCOVERED_SERVICE_ID_1]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    
    ID: [DISCOVERED_SERVICE_ID_2]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    Kopieren Sie die Dienst-ID DISCOVERED_SERVICE_ID_2 aus der Ausgabe, um sie im nächsten Schritt zu verwenden.

  8. Registrieren Sie die Weiterleitungsregel testing-forwarding-rule-2 in Dienstprojekt 1 als Dienst.

    gcloud apphub applications services create SERVICE_NAME \
      --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \
      --display-name='mywebserver-service1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Ersetzen Sie Folgendes:

    • SERVICE_NAME: ein Name, unter dem der Dienst registriert werden soll.
    • DISCOVERED_SERVICE_ID_2: die Dienst-ID aus der Ausgabe des vorherigen Schritts.
  9. Wiederholen Sie die vorherigen Schritte, um Dienste aufzulisten, diese Dienste zu filtern und die Dienste in den Dienstprojekten 1, 2 und 3 zu registrieren.

  10. Aktualisieren Sie einen Dienst mit den Attributen criticality-type und environment-type.

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. Listen Sie registrierte Dienste in der Anwendung APPLICATION_NAME und im Hostprojekt HOST_PROJECT_ID auf.

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Die Ausgabe für jeden Dienst sieht in etwa so aus:

    ID: SERVICE_NAME
    DISPLAY_NAME: mywebserver-service1
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    CREATE_TIME: 2023-11-01T21:38:08
    

    Registriert, aber getrennte Dienste werden durch einen leeren Wert im Feld SERVICE_REFERENCE gekennzeichnet.

  12. Filtern Sie die Dienste in der Anwendung APPLICATION_NAME und im Hostprojekt HOST_PROJECT_ID so, dass das Attribut environment-type auf PRODUCTION gesetzt ist.

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

Die Einrichtung des App Hub ist abgeschlossen.

Dienstprojekte hinzufügen oder entfernen

Sie können Dienstprojekte ändern, um verschiedene Infrastrukturressourcen für die Gruppierung in einer Anwendung verfügbar zu machen.

Console

So fügen Sie einem Hostprojekt ein Dienstprojekt hinzu:

  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 nach Projekten oder wählen Sie in der angezeigten Liste die Kästchen für die Projekte aus, die Sie als Dienstprojekte hinzufügen möchten.

  4. Klicken Sie auf Auswählen. In der Tabelle Angehängte Dienstprojekte werden die ausgewählten Projekte als Dienstprojekte für das Hostprojekt angezeigt.

  5. Klicken Sie auf Schließen.

So entfernen Sie ein Dienstprojekt aus einem Hostprojekt:

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

    Einstellungen aufrufen

  2. Klicken Sie auf der Seite Einstellungen die Kästchen für alle Projekte an, die Sie als Dienstprojekte entfernen möchten.

  3. Klicken Sie auf Projekte trennen. Die Tabelle Angehängte Dienstprojekte wird aktualisiert und es werden nur die Projekte angezeigt, die an das Hostprojekt angehängt bleiben.

gcloud

So fügen Sie einem Hostprojekt ein Dienstprojekt hinzu:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
Ersetzen Sie SERVICE_PROJECT_ID durch den Namen des Dienstprojekts, das Sie dem Hostprojekt hinzufügen möchten. So entfernen Sie ein Dienstprojekt aus dem Hostprojekt:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

Vorhandene Anwendungen, Dienste und Arbeitslasten ansehen

Sie können Anwendungen in einem Projekt ansehen und Dienste und Arbeitslasten in einer Anwendung auflisten.

Console

  • Rufen Sie in der Google Cloud Console die Seite Anwendungen im App Hub auf, um die Anwendungen in einem Projekt anzusehen.

    Wechseln Sie zu „Anwendungen“

  • So listen Sie Dienste und Arbeitslasten auf:

    Anwendungen

    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. Eine Seite mit einer Liste der für Ihre Anwendung registrierten Dienste und Arbeitslasten wird angezeigt.

    3. Optional: So filtern Sie die Dienste oder Arbeitslasten:

      1. Wählen Sie im Feld Filter einen Filter aus, z. B. Wichtigkeit.
      2. Wählen Sie als Wert Hoch aus.
        Eine Liste der Dienste und Arbeitslasten von hoher Bedeutung, die für die Anwendung registriert sind, wird angezeigt.

    Dienste und Arbeitslasten

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

      Zur Seite „Dienste und Arbeitslasten“

    2. Wählen Sie in der Liste Region die Regionen aus, aus denen Sie die Dienste und Arbeitslasten ansehen möchten. Wählen Sie beispielsweise us-east1 aus.
      Auf der Seite Dienste und Arbeitslasten werden alle Dienste und Arbeitslasten aus den angehängten Dienstprojekten angezeigt, die mit us-east1 verknüpft sind.

    3. Optional: So filtern Sie die Dienste oder Arbeitslasten:

      1. Wählen Sie im Feld Filter einen Filter aus, z. B. Umgebung.
      2. Wählen Sie als Wert Produktion aus.
        Eine Liste der Dienste und Arbeitslasten in der Produktionsumgebung, die bei einer Anwendung registriert sind, wird angezeigt.

gcloud

So rufen Sie Anwendungen in einem Projekt auf:

gcloud apphub applications list \
    --project=HOST_PROJECT_ID \
    --location=REGION

So listen Sie registrierte Dienste in einer Anwendung auf:

gcloud apphub applications services list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

So listen Sie registrierte Arbeitslasten in einer Anwendung auf:

gcloud apphub applications workloads list \
    --application=APPLICATION_NAME \
    --project=HOST_PROJECT_ID \
    --location=REGION

Bereinigen

Bereinigen Sie eine vorhandene Anwendung und entfernen Sie einen Dienstprojektanhang aus dem Hostprojekt, um mit dem Projekt verknüpfte Ressourcen zu entfernen. Dadurch wird die automatische Erkennung von Ressourcen im Dienstprojekt gestoppt.

Dazu müssen Sie zuerst die für die Anwendung registrierten Arbeitslasten und Dienste 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. Eine Liste der für die Anwendung registrierten Dienste und Arbeitslasten wird angezeigt.

  3. Heben Sie die Registrierung eines Dienstes oder einer Arbeitslast auf.

    1. Klicken Sie auf dem Tab Dienste und Arbeitslasten im Abschnitt Registrierte Dienste und Arbeitslasten auf den Namen des Dienstes oder der Arbeitslast, deren Registrierung Sie aufheben möchten.
    2. Klicken Sie auf der Seite, die für den registrierten Dienst oder die registrierte Arbeitslast geöffnet wird, auf Registrierung aufheben, um den Dienst oder die Arbeitslast als Ressource Erkannt zu aktualisieren.
      Auf dem Tab Dienste und Arbeitslasten wird eine Benachrichtigung darüber angezeigt, dass die Arbeitslast abgemeldet ist.
    3. Wiederholen Sie diese Anleitung für jeden Dienst und jede Arbeitslast.
  4. Rufen Sie im App Hub die Seite Anwendungen auf.

    Wechseln Sie zu „Anwendungen“

  5. Klicken Sie auf den Namen einer Anwendung.

  6. Klicken Sie auf der Seite mit den Anwendungsdetails auf Löschen.

  7. Folgen Sie in diesem Dokument der Anleitung unter Dienstprojekte hinzufügen oder entfernen, um die Dienstprojekte aus Ihrem Hostprojekt zu entfernen.

gcloud

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

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. Heben Sie die Registrierung der Arbeitslast von der Anwendung auf:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Die Arbeitslast ist jetzt eine erkannte Arbeitslast, die bei der Anwendung registriert werden kann.

  3. Wiederholen Sie den vorherigen Befehl, um die verbleibenden registrierten Arbeitslasten aus der Anwendung zu löschen.

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

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. Heben Sie die Registrierung des Dienstes bei der Anwendung auf:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Der Dienst ist jetzt ein erkannter Dienst, der in der Anwendung registriert werden kann.

  6. Wiederholen Sie den vorherigen Befehl, um die Registrierung der verbleibenden registrierten Dienste bei der Anwendung aufzuheben.

  7. Löschen Sie die Anwendung:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. Entfernen Sie ein Dienstprojekt aus dem Hostprojekt:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. Wiederholen Sie den vorherigen Befehl, um alle Dienstprojekte aus dem Hostprojekt zu entfernen.

Nächste Schritte