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 die folgenden Hauptaufgaben:

  1. Entscheiden Sie, ob Sie ein neues App Hub-Hostprojekt erstellen oder ein vorhandenes Projekt als Hostprojekt verwenden möchten.
    • Wenn Sie mehrere Hostprojekte haben möchten, empfehlen wir dringend, diese im selben Ordner zu erstellen.
    • Hostprojekte in App Hub sind nicht mit freigegebene VPC-Hostprojekten identisch und haben nicht dieselben Anforderungen. Für die Verwendung von App Hub benötigen Sie beispielsweise kein freigegebene VPC-Netzwerk. In diesem Dokument beziehen sich alle Verweise auf Hostprojekte auf App Hub-Hostprojekte.
    • Ein Hostprojekt kann kein anderes Dienstprojekt als für 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 Dienstprojekten der freigegebene VPC identisch und haben nicht dieselben 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. Dienste und Arbeitslasten in der Anwendung registrieren

Dienste und Arbeitslasten

In 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 in App Hub-Anwendungen registrieren:

  • Weiterleitungsregeln
  • URL-Zuordnungen
  • Backend-Dienste

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

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

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

Allgemeine Einrichtung

In der folgenden Liste sind die Schritte zum Einrichten von App Hub zusammengefasst:

  1. Bestimmen Sie, welche vorhandenen Ressourcen in Ihre 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, diese in einem neuen Ordner zu erstellen.
  3. Dienstprojekte anhängen Nachdem Sie ein Hostprojekt konfiguriert haben, hängen Sie Dienstprojekte mit 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 Anhang des Dienstprojekts an das Hostprojekt zu entfernen oder zu trennen. Anschließend können Sie das Dienstprojekt an eine andere Organisation anhängen.
    2. Ein Dienstprojekt kann nur an 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 einer Abfrage des Hostprojekts nach Diensten oder Arbeitslasten automatisch alle Dienste und Arbeitslasten in allen Dienstprojekten zurückgegeben.
  4. Anwendung zum Organisieren mehrerer Arbeitslasten und Dienste erstellen Wichtige Hinweise:
    1. Achten Sie darauf, dass die Anwendung einen Namen hat, der im Hostprojekt und am Standort eindeutig ist.
    2. Ein Dienstprojekt kann an ein Hostprojekt mit mehreren Anwendungen angehängt werden. Die einzelnen Ressourcen können jedoch nur für eine Anwendung registriert werden.
  5. Dienste und Arbeitslasten abfragen und bei Ihrer 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. Sie geben auch alle Dienste und Arbeitslasten in diesen Projekten zurück. Beachten Sie Folgendes:
    1. Sie können einen Dienst oder eine Arbeitslast nur bei einer einzelnen Anwendung registrieren.
    2. Alle von Ihnen registrierten Arbeitslasten und Dienste müssen sich in derselben Region wie die Anwendung befinden.
    3. Registrierte Dienste und Arbeitslasten sind von Aktualisierungen der zugrunde liegenden Infrastrukturressource nicht betroffen. Wenn Sie also 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 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. Achten Sie darauf, dass Sie ausgewählt haben, 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 nur an 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-Administrator“ haben. Weitere Informationen finden Sie unter App Hub-Rollen und -Berechtigungen.

App Hub einrichten

In diesem Abschnitt erstellen Sie eine Beispielarchitektur für App Hub.

In diesem Beispiel hat eine Organisation drei Dienstprojekte, wobei die 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. Sie können das Beispiel auch anpassen, während Sie die Schritte durchgehen.

Die folgenden Abschnitte enthalten eine Anleitung zum Erstellen eines App Hub-Beispiels. Sie erstellen ein Hostprojekt, fügen diesem Projekt Dienstprojekte hinzu, erstellen dann eine Anwendung und hängen Dienste und Arbeitslasten an die Anwendung an. Das Beispiel enthält drei Dienstprojekte, Sie können jedoch weniger oder mehr hinzufügen.

In diesem Beispiel wird davon ausgegangen, dass alle von Ihnen hinzugefügten Dienstprojekte bereits vorhanden sind und sie Dienste und Arbeitslasten enthalten, die Sie Ihrer Anwendung hinzufügen. Ermitteln 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 oder erstellen Sie ein neues Hostprojekt, 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 oder erstellen Sie ein Google Cloud-Projekt, das Ihr App Hub-Hostprojekt sein soll.

  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. Diese Rolle enthält standardmäßig die Berechtigungen für den vollen Zugriff auf die meisten Google Cloud-Ressourcen.

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

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

  5. Rufen Sie in der Google Cloud Console die Seite Einstellungen für den 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 Liste der Projekte auf die Kästchen für die Projekte, die Sie als Dienstprojekte hinzufügen möchten.
    • Suchen Sie nach Projekten und wählen Sie dann die Projekte aus, die als Dienstprojekte hinzugefügt werden sollen.
  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. 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 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. Diese Rolle enthält standardmäßig die Berechtigungen für den vollen Zugriff auf die meisten Google Cloud-Ressourcen.

    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 zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Ausführen dieser Anleitung benötigen:

    1. Optional können Sie den Personen, die App Hub verwalten, die Rolle „App Hub-Administrator“ im Hostprojekt gewähren. 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-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“ in den Dienstprojekten. 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. Eine einzelne Person kann die Rolle in mehreren Dienstprojekten haben.

      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, die als Container für Ihre Dienste und Arbeitslasten dienen soll, falls Sie noch keine haben.

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 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. Optional können Sie in den folgenden Feldern weitere Details für die Anwendung hinzufügen. 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. Mit dem Flag --scope-type wird definiert, welche Dienste und Arbeitslasten bei einer Anwendung registriert werden können. Es wird nur REGIONAL 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 alphanumerische Zeichen in Kleinschreibung ohne Leerzeichen enthalten.
    • APPLICATION_DISPLAY_NAME: der Anzeigename Ihrer Anwendung.
    • REGION: Region der Anwendung. Weisen Sie ihr den Wert us-east1 zu.
  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, ähnlich wie im folgenden Beispiel.

    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 nach dem Erstellen der Anwendung aktualisieren.

Console

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

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie in der Liste der Anwendungen neben 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 Environment (Umgebung) eine der folgenden Optionen aus, um die Phase des Softwarelebenszyklus anzugeben:

    • Produktion
    • Staging
    • Entwicklung
    • Test
  6. Optional: Fügen Sie die folgenden erforderlichen Informationen für Entwicklerinhaber, Betreiberinhaber 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.
  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 Ihre Geschäftstätigkeiten 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 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.
  2. Listen Sie die Anwendungen auf, in 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 verwenden, um die Anwendung mit der gcloud CLI zu erstellen, sind 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 App Hub-Seite Anwendungen 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. Führen Sie für jeden Dienst oder jede Arbeitslast, die Sie registrieren möchten, die folgenden Schritte aus:

    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. Optional können Sie in den folgenden Feldern weitere Details zum Dienst oder zur Arbeitslast hinzufügen. Weitere Informationen finden Sie in diesem Dokument unter Vorhandene App Hub-Anwendung aktualisieren. Sie müssen für die Felder Criticality und Environment einen der angegebenen Werte angeben. 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 in Registriert angezeigt wird. Weitere Informationen zu den Registrierungsstatus finden Sie unter Attribute und Attribute von App Hub.

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. Listen Sie die erkannten Arbeitslasten aus Dienstprojekt 2 auf, das an das Hostprojekt angehängt ist. Dieser Befehl gibt Arbeitslasten zurück, die für eine 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 und enthält nicht registrierte 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 für Ihre 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 Arbeitslasten zu filtern und zu registrieren, die Sie vom Dienstprojekt 3 benötigen.

  5. Optional: Sie können die Arbeitslasten mit den Attributen criticality-type, environment-type und Inhaber 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
    

    Sie müssen für criticality-type und environment-type einen der angegebenen Werte angeben. 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 im Feld WORKLOAD_REFERENCE durch einen leeren Wert gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Attribute und Attribute von App Hub.

  7. Listen Sie erkannte 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 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 sieht für jeden Dienst 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
    

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

  12. Filtern Sie die Dienste in der Anwendung APPLICATION_NAME und dem Hostprojekt HOST_PROJECT_ID nach den Diensten, bei denen das Attribut environment-type auf PRODUCTION festgelegt ist.

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

Die Einrichtung von App Hub ist abgeschlossen.

Dienstprojekte hinzufügen oder entfernen

Sie können Dienstprojektanhänge ändern, um verschiedene Infrastrukturressourcen zum Gruppieren 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 App Hub-Seite Einstellungen 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 die Kästchen für die Projekte an, 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 App Hub-Seite Einstellungen 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 zeigt nur die Projekte an, die noch an das Hostprojekt angehängt sind.

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 die Anwendungen in einem Projekt ansehen und Dienste und Arbeitslasten in einer Anwendung auflisten.

Console

  • Wenn Sie Anwendungen in einem Projekt ansehen möchten, rufen Sie in der Google Cloud Console die App Hub-Seite Anwendungen auf.

    Wechseln Sie zu „Anwendungen“

  • So listen Sie Dienste und Arbeitslasten auf:

    Anwendungen

    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. Es wird eine Seite mit einer Liste der für Ihre Anwendung registrierten Dienste und Arbeitslasten 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 Wichtigkeit, die bei der Anwendung registriert sind, wird angezeigt.

    Dienste und Arbeitslasten

    1. Rufen Sie in der Google Cloud Console die App Hub-Seite Dienste und Arbeitslasten 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.
        Es wird eine Liste der Dienste und Arbeitslasten in der Produktionsumgebung angezeigt, die für eine Anwendung registriert sind.

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 die mit dem Projekt verknüpften Ressourcen zu entfernen. Dadurch wird die automatische Erkennung von Ressourcen im Dienstprojekt beendet.

Dazu müssen Sie zuerst Arbeitslasten und Dienste löschen, die für die Anwendung registriert sind.

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. Es wird eine Liste der für die Anwendung registrierten Dienste und Arbeitslasten angezeigt.

  3. Registrierung eines Dienstes oder einer Arbeitslast aufheben

    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 Arbeitslast geöffnet wird, auf Registrierung aufheben, um den Dienst oder die Arbeitslast als Erkannte Ressource zu aktualisieren.
      Auf dem Tab Dienste und Arbeitslasten wird in einer Benachrichtigung angezeigt, dass die Arbeitslast nicht registriert ist.
    3. Wiederholen Sie diese Anleitung für jeden Dienst und jede Arbeitslast.
  4. Rufen Sie die App Hub-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 bei 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 für die Anwendung registriert werden kann.

  6. Wiederholen Sie den vorherigen Befehl, um die Registrierung der verbleibenden registrierten Dienste von 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