Infrastrukturressourcen mit einer globalen App im App Hub im Blick behalten


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

In dieser Anleitung erfahren Sie, wie Sie eine globale App Hub-Anwendung für mehrere Projekte einrichten und dann die Ressourcen der Anwendung aufrufen. Sie richten mit mehreren Dienstprojekten einen internen Application Load Balancer in einer freigegebene VPC-Umgebung ein. Anschließend registrieren und überwachen Sie in einer globalen Anwendung im App Hub-Hostprojekt alle Infrastrukturressourcen aus den Dienstprojekten als App Hub-Dienste und -Arbeitslasten.

Diese Anleitung richtet sich an Nutzer, die den App Hub einrichten und verwalten. Sie sollten Erfahrung mit Cloud Load Balancing haben.

Lernziele

  • Richten Sie eine globale App Hub-Anwendung ein, die Ressourcen aus mehreren Projekten enthält.
  • Überwachen Sie die Ressourcen über Systemmesswerte für die Anwendung.

Kosten

Eine Schätzung der Kosten für die Google Cloud -Ressourcen, die von der Lösung „Verwaltete VMs mit Load Balancing“ verwendet werden, finden Sie in der vorab berechneten Schätzung im Google Cloud -Preisrechner.

Verwenden Sie die vorab berechnete Schätzung als Ausgangspunkt, um die Kosten Ihrer Bereitstellung zu berechnen. Sie können die Schätzung ändern, um alle Konfigurationsänderungen widerzuspiegeln, die Sie für die in der Lösung verwendeten Ressourcen vornehmen möchten.

Die vorab berechnete Schätzung basiert auf Annahmen für bestimmte Faktoren, darunter:

  • Die Google Cloud -Standorte, an denen die Ressourcen bereitgestellt werden.
  • Die Zeitdauer der Verwendung der Ressourcen.

Weitere Informationen zu den Kosten für den App Hub finden Sie auf der Seite Preise.

Hinweise

Bevor Sie mit dieser Anleitung beginnen, legen Sie die Rollen und Berechtigungen für Ihre Projekte fest und erstellen Sie dann vier Google Cloud -Projekte. Eines dieser Projekte ist das App Hub-Hostprojekt und die anderen drei sind App Hub-Dienstprojekte.

Erforderliche Rollen und Berechtigungen

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 Project Creator sind, müssen dem entsprechenden Hauptkonto die erforderlichen Berechtigungen für das Projekt erteilt werden. Ein Hauptkonto kann beispielsweise ein Google-Konto (für Endnutzer) oder ein Dienstkonto (für Anwendungen und Arbeitslasten) sein.

Um die Berechtigungen zu erhalten, die Sie für die Verwaltung des Zugriffs auf ein Projekt, einen Ordner oder eine Organisation benötigen, bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für die Ressource (Projekt, Ordner oder Organisation) zu gewähren, für die Sie den Zugriff verwalten möchten:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

App Hub-Host- und Dienstprojekte erstellen

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 ein solches, das als App Hub-Hostprojekt dienen soll.

  3. Enable the App Hub, Compute Engine, Service Management, and Service Usage APIs.

    Enable the APIs

  4. Erstellen Sie im selben Ordner wie das App Hub-Hostprojekt drei neue Google Cloud -Projekte. Dies sind die App Hub-Dienstprojekte für das App Hub-Hostprojekt.

  5. Die Abrechnung muss für alle Ihre Google Cloud -Projekte aktiviert sein.

  6. Enable the App Hub, Compute Engine, Service Management, and Service Usage APIs.

    Enable the APIs

gcloud

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

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Prüfen Sie, ob die neueste Version der Google Cloud CLI installiert ist. Führen Sie in Cloud Shell den folgenden Befehl aus:

      gcloud components update

  3. Erstellen oder wählen Sie ein neues Projekt namens HOST_PROJECT_ID als Hostprojekt für den App Hub aus.

    • So 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. Die Abrechnung muss für alle Ihre Google Cloud -Projekte aktiviert sein.

  5. Aktivieren Sie die App Hub API, die Compute Engine API, die Service Management API und die Service Usage API:

    gcloud services enable apphub.googleapis.com \
       compute.googleapis.com \
       servicemanagement.googleapis.com \
       serviceusage.googleapis.com
  6. Erstellen Sie drei neue Google Cloud -Projekte als App Hub-Dienstprojekte für das App Hub-Hostprojekt.

    1. So erstellen Sie ein Dienstprojekt:

      gcloud projects create SERVICE_PROJECT_1_ID

      Ersetzen Sie SERVICE_PROJECT_1_ID durch die ID von Dienstprojekt 1.

    2. Wählen Sie das von Ihnen erstellte Dienstprojekt aus:

      gcloud config set project SERVICE_PROJECT_1_ID
    3. Aktivieren Sie die Compute Engine API, die Service Management API und die Service Usage API:

      gcloud services enable compute.googleapis.com \
        servicemanagement.googleapis.com \
        serviceusage.googleapis.com
    4. Legen Sie die in dieser Anleitung verwendete Konfigurationsvariable fest:

      export SERVICE_PROJECT_1_NUMBER= $(gcloud projects describe $(gcloud config get-value project) --format='value(projectNumber)')
    5. Wiederholen Sie die vorherigen Schritte, um SERVICE_PROJECT_2_ID und SERVICE_PROJECT_3_ID zu erstellen, die APIs zu aktivieren und die Konfigurationsvariable festzulegen.

Umgebung vorbereiten

Wenn Sie bereits einen internen Application Load Balancer in einer freigegebene VPC-Umgebung in mehreren Projekten eingerichtet haben, fahren Sie mit dem Abschnitt IAM-Berechtigungen gewähren in diesem Dokument fort.

Andernfalls gehen Sie so vor, um einen internen Application Load Balancer in einer Umgebung mit freigegebene VPC einzurichten:

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 verwalteten Instanzgruppen in einer freigegebenen VPC
  1. Konfigurieren Sie in Dienstprojekt 1 ein freigegebene VPC-Netzwerk und zwei Subnetze.
  2. Erstellen Sie in Dienstprojekt 2 den Back-End-Dienst des Load Balancers mit zwei verwalteten Instanzgruppen als Back-Ends.
  3. Erstellen Sie in Dienstprojekt 3 den Back-End-Dienst eines anderen Load Balancers mit zwei verwalteten Instanzgruppen als Back-Ends.
  4. Erstellen Sie in Dienstprojekt 1 die Frontend-Komponenten und die URL-Zuordnung des Load Balancers.

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

  1. Über das freigegebene VPC-Netzwerk sendet die Client-VM eine HTTP-Anfrage an den internen Application Load Balancer in Dienstprojekt 1.

  2. Der Load Balancer verwendet die Informationen in der URL-Zuordnung und die Back-End-Dienste, um die Anfrage an die Back-Ends der verwalteten Instanzgruppe weiterzuleiten.

Netzwerk und Subnetze im freigegebene VPC-Hostprojekt konfigurieren

Sie benötigen ein freigegebenes VPC-Netzwerk mit zwei Subnetzen: eines für das Frontend und die Back-Ends des Load-Balancers und das andere für die Proxys des Load-Balancers.

In diesem Beispiel werden die folgenden Netzwerke, Regionen und Subnetze verwendet:

  • Netzwerk: Das Netzwerk hat den Namen lb-network.

  • Subnetz für das Frontend und die Back-Ends des Load-Balancers: Ein Subnetz mit dem Namen lb-frontend-and-backend-subnet in der Region us-west1 verwendet 10.1.2.0/24 für seinen primären IP-Bereich.

  • Subnetz für Proxys Ein Subnetz mit dem Namen proxy-only-subnet in der Region us-west1 verwendet 10.129.0.0/23 für seinen primären IP-Bereich.

In dieser Anleitung wird Dienstprojekt 1 als Hostprojekt der freigegebene VPC festgelegt. Alle Schritte in diesem Abschnitt müssen in Dienstprojekt 1 ausgeführt werden.

Subnetz für das Frontend und die Back-Ends des Load-Balancers konfigurieren

Dieser Schritt muss nicht jedes Mal ausgeführt werden, wenn Sie einen neuen Load-Balancer erstellen möchten. Sie müssen nur sicherstellen, dass die Dienstprojekte Zugriff auf ein Subnetz im freigegebene VPC-Netzwerk haben (zusätzlich zum Nur-Proxy-Subnetz).

Console

  1. Rufen Sie in der Google Cloud -Konsole die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.
  3. Geben Sie im Feld Name lb-network ein.
  4. Legen Sie Modus für Subnetzerstellung auf Benutzerdefiniert fest.
  5. Geben Sie im Bereich Neues Subnetz folgende Informationen ein:

    • Name: lb-frontend-and-backend-subnet

    • Region: us-west1

    • IP-Adressbereich: 10.1.2.0/24

  6. Klicken Sie auf Fertig.

  7. Klicken Sie auf Erstellen.

gcloud

  1. Legen Sie das Projekt als Dienstprojekt 1 fest:

      gcloud config set project SERVICE_PROJECT_1_ID

  2. Erstellen Sie mit dem Befehl gcloud compute networks create ein VPC-Netzwerk:

    gcloud compute networks create lb-network --subnet-mode=custom
    
  3. Erstellen Sie ein Subnetz im Netzwerk lb-network in der Region us-west1:

    gcloud compute networks subnets create lb-frontend-and-backend-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-west1
    

Nur-Proxy-Subnetz konfigurieren

Das Nur-Proxy-Subnetz wird von allen regionalen Envoy-basierten Load-Balancern in der Region us-west1 im VPC-Netzwerk lb-network verwendet. Pro Region und Netzwerk kann nur ein Nur-Proxy-Subnetz aktiv sein.

Führen Sie diesen Schritt nicht aus, wenn bereits ein Nur-Proxy-Subnetz in der Region us-west1 in diesem Netzwerk reserviert ist.

Console

  1. Rufen Sie in der Google Cloud -Konsole die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf den Namen des freigegebenen VPC-Netzwerks: lb-network.
  3. Klicken Sie auf den Tab Subnetze und dann auf Subnetz hinzufügen.
  4. Geben Sie im Bereich Subnetz hinzufügen im Feld Name den Wert proxy-only-subnet ein.
  5. Wählen Sie in der Liste Region us-west1 aus.
  6. Setzen Sie Zweck auf Regional verwalteter Proxy.
  7. Geben Sie im Feld IP-Adressbereich den Wert 10.129.0.0/23 ein.
  8. Klicken Sie auf Hinzufügen.

gcloud

Erstellen Sie das Nur-Proxy-Subnetz mit dem Befehl gcloud compute networks subnets create.

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=us-west1 \
    --network=lb-network \
    --range=10.129.0.0/23

Gewähren Sie Dienstprojektadministratoren Zugriff auf das Backend-Subnetz

Dienstprojektadministratoren benötigen Zugriff auf das Subnetz lb-frontend-and-backend-subnet, damit sie die Back-Ends des Load-Balancers bereitstellen können.

Ein Administrator der freigegebenen VPC muss Dienstprojektadministratoren Zugriff auf das Backend-Subnetz gewähren (oder auch Entwicklern, die Ressourcen und Backends bereitstellen, die das Subnetz verwenden). Eine Anleitung finden Sie unter Dienstprojektadministratoren für bestimmte Subnetze.

Firewallregeln in Dienstprojekt 1 konfigurieren

In diesem Beispiel werden die folgenden Firewallregeln verwendet:

  • fw-allow-health-check: Eine Ingress-Regel, die für die Instanzen mit Load Balancing gilt und allen TCP-Traffic von den Systemdiagnosesystemen von Google Cloudin 130.211.0.0/22 und 35.191.0.0/16 zulässt. In diesem Beispiel wird das Ziel-Tag load-balanced-backend verwendet, um die Instanzen zu identifizieren, auf die sie angewendet werden soll.

  • fw-allow-proxies: Eine Regel für eingehenden Traffic, die für die Instanzen mit Load-Balancing gilt und TCP-Traffic über Ports 80 ,443 und 8080 aus den verwalteten Proxys des Load-Balancers zulässt. In diesem Beispiel wird das Ziel-Tag load-balanced-backend verwendet, um die Instanzen zu identifizieren, auf die sie angewendet werden soll.

  • fw-allow-ssh: Eine Regel für eingehenden Traffic, die für die Instanzen mit Load-Balancing gilt und eingehende SSH-Verbindungen über TCP-Port 22 von jeder Adresse aus ermöglicht. Sie können einen restriktiveren Quell-IP-Bereich für diese Regel auswählen. Sie können beispielsweise nur die IP-Bereiche des Systems angeben, von dem aus Sie SSH-Sitzungen initiieren. In diesem Beispiel wird das Ziel-Tag allow-ssh verwendet, um die VMs zu identifizieren, auf welche die Firewallregel angewendet wird.

Ohne diese Firewallregeln blockiert die Standardregel zum Ablehnen von eingehendem Traffic den eingehenden Traffic zu den Back-End-Instanzen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Google Cloud -Systemdiagnosen zulässt:
    • Name: fw-allow-health-check
    • Netzwerk: lb-network
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Zieltags
    • Zieltags: load-balanced-backend
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 130.211.0.0/22 und 35.191.0.0/16
    • Protokolle und Ports:
      • Wählen Sie Angegebene Protokolle und Ports aus.
      • Klicken Sie das Kästchen TCP an und geben Sie 80 als Portnummer ein.
      • Sie sollten diese Regeln nur auf Protokolle und Ports beschränken, die mit den von Ihren Systemdiagnosen verwendeten übereinstimmen. Wenn Sie tcp:80 für das Protokoll und den Port verwenden,kann Google Cloud mit HTTP auf Port 80 Ihre VMs kontaktieren. Es kann jedoch nicht HTTPS auf Port 443 verwenden, um den Kontakt herzustellen.

  3. Klicken Sie auf Erstellen.
  4. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Google Cloud -Systemdiagnosen zulässt:
    • Name: fw-allow-proxies
    • Netzwerk: lb-network
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Zieltags
    • Zieltags: load-balanced-backend
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 10.129.0.0/23
    • Protokolle und Ports:
      • Wählen Sie Angegebene Protokolle und Ports aus.
      • Klicken Sie das Kästchen TCP an und geben Sie 80, 443, 8080 als Portnummer ein.
  5. Klicken Sie auf Erstellen.
  6. Klicken Sie auf Firewallregel erstellen, um die Regel zu erstellen, die Google Cloud -Systemdiagnosen zulässt:
    • Name: fw-allow-ssh
    • Netzwerk: lb-network
    • Trafficrichtung: Eingehend
    • Aktion bei Übereinstimmung: Zulassen
    • Ziele: Angegebene Zieltags
    • Zieltags: allow-ssh
    • Quellfilter: IPv4-Bereiche.
    • IPv4-Quellbereiche: 0.0.0.0/0
    • Protokolle und Ports:
      • Wählen Sie Angegebene Protokolle und Ports aus.
      • Klicken Sie das Kästchen TCP an und geben Sie 22 als Portnummer ein.
  7. Klicken Sie auf Erstellen.

gcloud

  1. Erstellen Sie die Firewallregel fw-allow-health-check, umGoogle Cloud -Systemdiagnosen zuzulassen. In diesem Beispiel wird der gesamte TCP-Traffic von Systemdiagnoseprüfern zugelassen. Sie können jedoch Ihren Anforderungen entsprechend eine kleinere Gruppe von Ports konfigurieren:

    gcloud compute firewall-rules create fw-allow-health-check \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --source-ranges=130.211.0.0/22,35.191.0.0/16 \
       --target-tags=load-balanced-backend \
       --rules=tcp
    
  2. Erstellen Sie die Firewallregel fw-allow-proxies, um Traffic von dem Nur-Proxy-Subnetz zuzulassen, das Ihre Back-Ends erreicht:

    gcloud compute firewall-rules create fw-allow-proxies \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --source-ranges=10.129.0.0/23 \
       --target-tags=load-balanced-backend \
       --rules=tcp:80,tcp:443,tcp:8080
    
  3. Erstellen Sie die Firewallregel fw-allow-ssh, um SSH-Verbindungen zu VMs mit dem Netzwerk-Tag allow-ssh zu ermöglichen:

    gcloud compute firewall-rules create fw-allow-ssh \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --target-tags=allow-ssh \
       --rules=tcp:22
    

Statische interne IPv4-Adresse reservieren

Dienstprojektadministratoren können in einem Subnetz eines freigegebene VPC-Netzwerks eine interne IPv4- oder IPv6-Adresse reservieren. Das Konfigurationsobjekt für IP-Adressen wird im Dienstprojekt erstellt und dessen Wert stammt aus dem Bereich der IPv4-Adressen, die in dem jeweiligen freigegebenen Subnetz verfügbar sind.

Führen Sie die folgenden Schritte aus, um eine eigenständige interne IP-Adresse im Dienstprojekt zu reservieren.

Console

  1. Freigegebene VPC einrichten.
  2. Rufen Sie in der Google Cloud -Konsole die Seite Freigegebene VPC auf.

    Zu Shared VPC gehen

  3. Melden Sie sich als Administrator für freigegebene VPC an.

  4. Wählen Sie das Dienstprojekt in der Projektauswahl aus.

  5. Gehen Sie zu VPC-Netzwerk >IP-Adressen.

  6. Klicken Sie auf der Seite IP-Adressen auf Interne statische IP-Adresse reservieren.

  7. Geben Sie im Feld Name den Namen l7-ilb-ip-address für die IP-Adresse ein.

  8. Wählen Sie in der Liste IP-Version die Option IPv4 aus.

  9. Wählen Sie unter Netzwerk die Option lb-network aus.

  10. Wählen Sie in den Listen Subnetzwerk die Option lb-frontend-and-backend-subnet aus.

  11. Klicken Sie auf Reservieren.

gcloud

  1. Falls noch nicht geschehen, authentifizieren Sie sich bei der Google Cloud CLI als Administrator eines Dienstprojekts mit freigegebener VPC.

    gcloud auth login SERVICE_PROJECT_ADMIN
    

    Ersetzen Sie SERVICE_PROJECT_ADMIN durch den Namen des Administrators des Dienstprojekts für freigegebene VPC. Diese Werte müssen das Format „Nutzername@IhreDomain“ haben, z. B. 222larabraun@gmail.com.

  2. Verwenden Sie den Befehl compute addresses create, um eine IP-Adresse zu reservieren:

    
    gcloud compute addresses create l7-ilb-ip-address \
        --project SERVICE_PROJECT_1_ID \
        --subnet=lb-frontend-and-backend-subnet \
        --region=us-west1 \
        --ip-version=IPV4
    

Weitere Informationen zum Erstellen von IP-Adressen finden Sie in der SDK-Dokumentation.

Freigegebene VPC in Dienstprojekt 1 einrichten

Wenn Sie eine freigegebene VPC in Dienstprojekt 1 einrichten möchten, legen Sie Dienstprojekt 1 als Hostprojekt der freigegebenen VPC und Dienstprojekte 2 und 3 als Dienstprojekte der freigegebenen VPC fest. Wenn Sie später in dieser Anleitung die MIG-Back-Ends in den Dienstprojekten 2 und 3 erstellen, können Sie dasselbe VPC-Netzwerk und dieselben Subnetze verwenden, die Sie zuvor in Dienstprojekt 1 erstellt haben.

  1. Hostprojekt aktivieren.
  2. Dienstprojekt anhängen
  3. Weisen Sie den Dienstprojekten 2 und 3 die Rolle Compute-Netzwerknutzer (roles/compute.networkUser) zu:

    Console

    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 SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com ein.

      Die Nummern der Dienstprojekte finden Sie im Dashboard des Projekts:

      Zu Google Dashboard

    4. Klicken Sie auf Rolle auswählen und geben Sie im Feld Filter Compute Network User ein.

    5. Wählen Sie die Rolle Compute-Netzwerknutzer aus und klicken Sie auf Speichern.

    6. Wiederholen Sie die vorherigen Schritte, um der Rolle „Dienstprojekt 3“ (SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com) die Rolle Compute Network User zuzuweisen.

    gcloud

    1. Gewähren Sie in Dienstprojekt 1 Dienstprojekt 2 die Rolle „Compute-Netzwerknutzer“.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1_ID \
       --member='serviceAccount:SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com' \
       --role='roles/compute.networkUser'
      

      Ersetzen Sie SERVICE_PROJECT_2_NUMBER durch die Projektnummer von Dienstprojekt 2.

    2. Weisen Sie in Dienstprojekt 1 Dienstprojekt 3 die Rolle „Compute-Netzwerknutzer“ zu.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1_ID \
       --member='serviceAccount::SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com' \
       --role='roles/compute.networkUser'
      

      Ersetzen Sie SERVICE_PROJECT_3_NUMBER durch die Projektnummer von Dienstprojekt 3.

Backend-Dienst und MIGs in Dienstprojekt 2 erstellen

Alle Schritte in diesem Abschnitt müssen in Dienstprojekt 2 ausgeführt werden.

Console

  1. Erstellen Sie eine Instanzvorlage. Rufen Sie in der Google Cloud -Konsole die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

    1. Klicken Sie auf Instanzvorlage erstellen.
    2. Geben Sie einen Namen für die Instanzvorlage ein: tutorial-ig-template-sp2.
    3. Wählen Sie im Bereich Standort die Option Regional (empfohlen) und us-west1(Oregon) als Region aus.
    4. Wählen Sie im Abschnitt Maschinenkonfiguration die Serie N2 aus.
    5. Das Bootlaufwerk sollte auf ein Debian-Image wie Debian GNU/Linux 12 (bookworm) eingestellt sein. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B. apt-get. Wenn Sie das Bootlaufwerk ändern müssen, klicken Sie auf Ändern.
      1. Wählen Sie als Betriebssystem die Option Debian aus.
      2. Wählen Sie für Version eines der verfügbaren Debian-Images aus, z. B. Debian GNU/Linux 12 (bookworm).
      3. Klicken Sie auf Auswählen.
    6. Klicken Sie auf Erweiterte Optionen und dann auf Netzwerk.
    7. Geben Sie die folgenden Netzwerk-Tags ein: allow-ssh,load-balanced-backend.
    8. Wählen Sie im Bereich Netzwerkschnittstellen die Option Für mich freigegebene Netzwerke (von Hostprojekt: SERVICE_PROJECT_1_ID) aus.
    9. Wählen Sie das Subnetz lb-frontend-and-backend-subnet aus dem Netzwerk lb-network aus.
    10. Klicken Sie auf Verwaltung. Fügen Sie unter Verwaltung das folgende Skript in das Feld Startskript ein.
      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | tee /var/www/html/index.html
      systemctl restart apache2
      
    11. Klicken Sie auf Erstellen.
  2. Erstellen Sie eine verwaltete Instanzgruppe. Rufen Sie in der Google Cloud -Konsole die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

    1. Klicken Sie auf Instanzgruppe erstellen.
    2. Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus. Weitere Informationen finden Sie unter Zustandslose oder zustandsorientierte MIGs.
    3. Geben Sie im Feld Name eine Bezeichnung für die Instanzgruppe ein: tutorial-sp2-mig-a.
    4. Wählen Sie für Instanzvorlage die Option tutorial-ig-template-sp2 aus.
    5. Wählen Sie für Standort die Option Einzelne Zone aus.
    6. Wählen Sie bei Region die Option us-west1 aus.
    7. Geben Sie an, wie viele Instanzen die Gruppe umfassen soll.

      Geben Sie für dieses Beispiel für Autoscaling die folgenden Optionen an:

      • Wählen Sie für Autoscaling-Modus Off:do not autoscale aus.
      • Geben Sie für Maximale Anzahl von Instanzen den Wert 2 ein.
    8. Klicken Sie auf Erstellen.

  3. Erstellen Sie einen regionalen Backend-Dienst. In diesem Schritt erstellen wir auch die Systemdiagnose und fügen dem Backend-Dienst Backends hinzu. Rufen Sie in der Google Cloud -Konsole die Seite Back-Ends auf.

    Zu Back-Ends

    1. Klicken Sie auf Backend-Dienst erstellen.
    2. Klicken Sie im Dialogfeld Backend-Dienst erstellen neben Regionaler Backend-Dienst auf Erstellen.
    3. Geben Sie im Feld Name eine Bezeichnung für den Backend-Dienst ein: tutorial-backend-service-sp2.
    4. Wählen Sie als Region us-west1 aus.
    5. Wählen Sie für Typ des Load Balancers die Option Regionaler interner Application Load Balancer (INTERNAL_MANAGED) aus.
    6. Setzen Sie den Backend-Typ auf Instanzgruppe.
    7. Legen Sie im Abschnitt Back-Ends die folgenden Felder fest:
      1. Legen Sie für Instanzgruppe tutorial-sp2-mig-a fest.
      2. Geben Sie die Portnummern ein: 80.
      3. Setzen Sie den Balancing-Modus auf Auslastung.
      4. Klicken Sie auf Fertig.
    8. Klicken Sie im Abschnitt Systemdiagnose auf Systemdiagnose erstellen und legen Sie die folgenden Felder fest:
      1. Name: tutorial-regional-health-check
      2. Protokoll: HTTP
      3. Port: 80
      4. Klicken Sie auf Speichern.
    9. Klicken Sie auf Weiter.
    10. Klicken Sie auf Erstellen.
  4. Wiederholen Sie die vorherigen Schritte, erstellen Sie eine verwaltete Instanzgruppe (tutorial-sp2-mig-b) und fügen Sie sie dem Back-End-Dienst (tutorial-backend-service-sp2) hinzu.

gcloud

  1. Wählen Sie das von Ihnen erstellte Dienstprojekt aus:
    gcloud config set project SERVICE_PROJECT_2_ID
  2. VM-Instanzvorlage mit einem HTTP-Server erstellen:tutorial-ig-template-sp2

    gcloud compute instance-templates create tutorial-ig-template-sp2 \
        --region=us-west1 \
        --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \
        --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
        --tags=allow-ssh,load-balanced-backend \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        systemctl restart apache2' \
        --project=SERVICE_PROJECT_2_ID
    

    Ersetzen Sie Folgendes:

    • SERVICE_PROJECT_1_ID: Die Projekt-ID des freigegebenen VPC-Hostprojekts.
    • SERVICE_PROJECT_2_ID: die Projekt-ID des Dienstprojekts, in dem die Backends des Load Balancers und der Backend-Dienst erstellt werden.
  3. Erstellen Sie eine verwaltete Instanzgruppe namens tutorial-sp2-mig-a in der Region:

    gcloud compute instance-groups managed create tutorial-sp2-mig-a \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp2 \
        --project=SERVICE_PROJECT_2_ID
    
  4. Definieren Sie die HTTP-Systemdiagnose tutorial-regional-health-check:

    gcloud compute health-checks create http tutorial-regional-health-check \
      --region=us-west1 \
      --use-serving-port \
      --project=SERVICE_PROJECT_2_ID
    
  5. Definieren Sie den Backend-Dienst, tutorial-backend-service-sp2:

    gcloud compute backend-services create tutorial-backend-service-sp2 \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTP \
      --health-checks=tutorial-regional-health-check \
      --health-checks-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_2_ID
    
  6. Fügen Sie dem Backend-Dienst mit dem Befehl gcloud compute backend-services add-backend Back-Ends hinzu:

    gcloud compute backend-services add-backend tutorial-backend-service-sp2 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp2-mig-a \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_2_ID
    
  7. Erstellen Sie eine weitere verwaltete Instanzgruppe, tutorial-sp2-mig-b, in der Region:

    gcloud compute instance-groups managed create tutorial-sp2-mig-b \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp2 \
        --project=SERVICE_PROJECT_2_ID
    
  8. Fügen Sie dem Back-End-Dienst Back-Ends hinzu:

    gcloud compute backend-services add-backend tutorial-backend-service-sp2 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp2-mig-b \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_2_ID
    

Backend-Dienst und MIGs in Dienstprojekt 3 erstellen

Alle Schritte in diesem Abschnitt müssen in Dienstprojekt 3 ausgeführt werden.

Console

  1. Erstellen Sie eine Instanzvorlage. Rufen Sie in der Google Cloud -Konsole die Seite Instanzvorlagen auf.

    Zu Instanzvorlagen

    1. Klicken Sie auf Instanzvorlage erstellen.
    2. Geben Sie einen Namen für die Instanzvorlage ein: tutorial-ig-template-sp3.
    3. Wählen Sie im Bereich Standort die Option Regional (empfohlen) und us-west1(Oregon) als Region aus.
    4. Wählen Sie im Abschnitt Maschinenkonfiguration die Serie N2 aus.
    5. Das Bootlaufwerk sollte auf ein Debian-Image wie Debian GNU/Linux 12 (bookworm) eingestellt sein. Diese Anleitungen verwenden Befehle, die nur für Debian verfügbar sind, z. B. apt-get. Wenn Sie das Bootlaufwerk ändern müssen, klicken Sie auf Ändern.
      1. Wählen Sie als Betriebssystem die Option Debian aus.
      2. Wählen Sie für Version eines der verfügbaren Debian-Images aus, z. B. Debian GNU/Linux 12 (bookworm).
      3. Klicken Sie auf Auswählen.
    6. Klicken Sie auf Erweiterte Optionen und dann auf Netzwerk.
    7. Geben Sie die folgenden Netzwerk-Tags ein: allow-ssh,load-balanced-backend.
    8. Wählen Sie im Bereich Netzwerkschnittstellen die Option Für mich freigegebene Netzwerke (von Hostprojekt: SERVICE_PROJECT_1_ID) aus.
    9. Wählen Sie das Subnetz lb-frontend-and-backend-subnet aus dem Netzwerk lb-network aus.
    10. Klicken Sie auf Verwaltung. Fügen Sie unter Verwaltung das folgende Skript in das Feld Startskript ein.
      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | tee /var/www/html/index.html
      systemctl restart apache2
      
    11. Klicken Sie auf Erstellen.
  2. Erstellen Sie eine verwaltete Instanzgruppe. Rufen Sie in der Google Cloud -Konsole die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

    1. Klicken Sie auf Instanzgruppe erstellen.
    2. Wählen Sie Neue verwaltete Instanzgruppe (zustandslos) aus. Weitere Informationen finden Sie unter Zustandslose oder zustandsorientierte MIGs.
    3. Geben Sie im Feld Name eine Bezeichnung für die Instanzgruppe ein: tutorial-sp3-mig-a.
    4. Wählen Sie für Instanzvorlage die Option tutorial-ig-template-sp3 aus.
    5. Wählen Sie für Standort die Option Einzelne Zone aus.
    6. Wählen Sie bei Region die Option us-west1 aus.
    7. Geben Sie an, wie viele Instanzen die Gruppe umfassen soll.

      Geben Sie für dieses Beispiel für Autoscaling die folgenden Optionen an:

      • Wählen Sie für Autoscaling-Modus Off:do not autoscale aus.
      • Geben Sie für Maximale Anzahl von Instanzen den Wert 2 ein.
    8. Klicken Sie auf Erstellen.

  3. Erstellen Sie einen regionalen Backend-Dienst. In diesem Schritt erstellen wir auch die Systemdiagnose und fügen dem Backend-Dienst Backends hinzu. Rufen Sie in der Google Cloud -Konsole die Seite Back-Ends auf.

    Zu Back-Ends

    1. Klicken Sie auf Backend-Dienst erstellen.
    2. Klicken Sie im Dialogfeld Backend-Dienst erstellen neben Regionaler Backend-Dienst auf Erstellen.
    3. Geben Sie im Feld Name eine Bezeichnung für den Backend-Dienst ein: tutorial-backend-service-sp3.
    4. Wählen Sie als Region us-west1 aus.
    5. Wählen Sie für Typ des Load Balancers die Option Regionaler interner Application Load Balancer (INTERNAL_MANAGED) aus.
    6. Setzen Sie den Backend-Typ auf Instanzgruppe.
    7. Legen Sie im Abschnitt Back-Ends die folgenden Felder fest:
      1. Legen Sie für Instanzgruppe tutorial-sp3-mig-a fest.
      2. Geben Sie die Portnummern ein: 80.
      3. Setzen Sie den Balancing-Modus auf Auslastung.
      4. Klicken Sie auf Fertig.
    8. Klicken Sie im Abschnitt Systemdiagnose auf Systemdiagnose erstellen und legen Sie die folgenden Felder fest:
      1. Name: tutorial-regional-health-check
      2. Protokoll: HTTP
      3. Port: 80
      4. Klicken Sie auf Speichern.
    9. Klicken Sie auf Weiter.
    10. Klicken Sie auf Erstellen.
  4. Wiederholen Sie die vorherigen Schritte, erstellen Sie eine verwaltete Instanzgruppe (tutorial-sp3-mig-b) und fügen Sie sie dem Back-End-Dienst (tutorial-backend-service-sp3) hinzu.

gcloud

  1. Wählen Sie das von Ihnen erstellte Dienstprojekt aus:
    gcloud config set project SERVICE_PROJECT_3_ID
  2. Erstellen Sie eine VM-Instanzvorlagetutorial-ig-template-sp3 mit einem HTTP-Server:

    gcloud compute instance-templates create tutorial-ig-template-sp3 \
        --region=us-west1 \
        --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \
        --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
        --tags=allow-ssh,load-balanced-backend \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        systemctl restart apache2' \
        --project=SERVICE_PROJECT_3_ID
    

    Ersetzen Sie Folgendes:

    • SERVICE_PROJECT_1_ID: Die Projekt-ID des freigegebenen VPC-Hostprojekts.
    • SERVICE_PROJECT_3_ID: die Projekt-ID des Dienstprojekts, in dem die Backends des Load Balancers und der Backend-Dienst erstellt werden.
  3. Erstellen Sie eine verwaltete Instanzgruppe namens tutorial-sp3-mig-a in der Region:

    gcloud compute instance-groups managed create tutorial-sp3-mig-a \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp3 \
        --project=SERVICE_PROJECT_3_ID
    
  4. Definieren Sie die HTTP-Systemdiagnose tutorial-regional-health-check:

    gcloud compute health-checks create http tutorial-regional-health-check \
      --region=us-west1 \
      --use-serving-port \
      --project=SERVICE_PROJECT_3_ID
    
  5. Definieren Sie den Backend-Dienst: tutorial-backend-service-sp3:

    gcloud compute backend-services create tutorial-backend-service-sp3 \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTP \
      --health-checks=tutorial-regional-health-check \
      --health-checks-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_3_ID
    
  6. Fügen Sie dem Backend-Dienst mit dem Befehl gcloud compute backend-services add-backend Back-Ends hinzu:

    gcloud compute backend-services add-backend tutorial-backend-service-sp3 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp3-mig-a \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_3_ID
    
  7. Erstellen Sie eine weitere verwaltete Instanzgruppe, tutorial-sp3-mig-b, in der Region:

    gcloud compute instance-groups managed create tutorial-sp3-mig-b \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp3 \
        --project=SERVICE_PROJECT_3_ID
    
  8. Fügen Sie dem Back-End-Dienst Back-Ends hinzu:

    gcloud compute backend-services add-backend tutorial-backend-service-sp3 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp3-mig-b \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_3_ID
    

URL-Zuordnung und Weiterleitungsregel in Dienstprojekt 1 erstellen

Alle Schritte in diesem Abschnitt müssen in Dienstprojekt 1 ausgeführt werden.

Console

Konfiguration starten

  1. Rufen Sie in der Google Cloud -Konsole die Seite Load Balancing auf.

    Load-Balancing aufrufen

  2. Klicken Sie auf Load-Balancer erstellen.
  3. Wählen Sie unter Typ des Load Balancers die Option Application Load Balancer (HTTP/HTTPS) aus und klicken Sie auf Weiter.
  4. Wählen Sie für Öffentlich oder intern die Option Intern aus und klicken Sie auf Weiter.
  5. Wählen Sie für Regionenübergreifende oder Einzelregion-Bereitstellung die Option Am besten für regionale Arbeitslasten aus und klicken Sie auf Weiter.
  6. Klicken Sie auf Konfigurieren.

Grundlegende Konfiguration

  1. Geben Sie einen Namen für den Load Balancer ein, z. B. tutorial-url-maps.
  2. Wählen Sie in der Liste Region us-west1 aus.
  3. Wählen Sie in der Liste Netzwerk die Option lb-network (aus Projekt: SERVICE_PROJECT_1_ID) aus.

    Wenn die Warnung Nur-Proxy-Subnetz im freigegebene VPC-Netzwerk erforderlich angezeigt wird, prüfen Sie, ob der Administrator des Hostprojekts das proxy-only-subnet in der Region us-west1 im freigegebene VPC-Netzwerk lb-network erstellt hat. Die Erstellung des Load Balancers ist auch dann erfolgreich, wenn Sie keine Berechtigung zum Ansehen des Nur-Proxy-Subnetzes auf dieser Seite haben.

  4. Lassen Sie das Fenster geöffnet, um fortzufahren.

Backend konfigurieren

  1. Klicken Sie auf Backend-Konfiguration.
  2. Klicken Sie auf Projektübergreifende Backend-Dienste.
  3. Geben Sie im Feld Projekt-ID die Projekt-ID für Dienstprojekt 2 ein.
  4. Geben Sie im Feld Name des Backend-Dienstes den Namen des Backend-Dienstes aus Dienstprojekt 2 ein, das Sie verwenden möchten. In diesem Beispiel ist das tutorial-backend-service-sp2.
  5. Klicken Sie auf Backend-Dienst hinzufügen.
  6. Geben Sie im Feld Projekt-ID die Projekt-ID für Dienstprojekt 3 ein.
  7. Geben Sie im Feld Name des Backend-Dienstes den Namen des Backend-Dienstes aus Dienstprojekt 3 ein, das Sie verwenden möchten. In diesem Beispiel ist das tutorial-backend-service-sp3.
  8. Klicken Sie auf Backend-Dienst hinzufügen.

Routingregeln konfigurieren

  1. Klicken Sie auf Routingregeln.
  2. Geben Sie im Abschnitt Host- und Pfadregeln im Feld Host 2 den Wert * ein.
  3. Geben Sie im Feld Pfade 2 /* ein.
  4. Wählen Sie in der Drop-down-Liste Backend 2 die Option tutorial-backend-service-sp2 aus.
  5. Klicken Sie auf Host- und Pfadregel hinzufügen.
  6. Geben Sie im Feld Host 3 den Wert tutorial-host ein.
  7. Geben Sie im Feld Pfade 3 den Wert /* ein.
  8. Wählen Sie in der Drop-down-Liste Backend 3 die Option tutorial-backend-service-sp3 aus.

  9. Prüfen Sie, ob das blaue Häkchen links neben Host- und Pfadregeln angezeigt wird, und klicken Sie auf die Schaltfläche Aktualisieren.

    Weitere Informationen zur Trafficverwaltung finden Sie unter Trafficverwaltung einrichten.

Frontend konfigurieren

Damit der projektübergreifende Dienst verweist, muss das Frontend dasselbe Netzwerk (lb-network) aus dem freigegebenen VPC-Hostprojekt verwenden, mit dem der Backend-Dienst erstellt wurde.

  1. Klicken Sie auf Frontend-Konfiguration.
  2. Geben Sie einen Name für die Weiterleitungsregel ein: l7-ilb-forwarding-rule.
  3. Legen Sie als Protokoll HTTP fest.
  4. Setzen Sie die Option Subnetzwerk auf lb-frontend-and-backend-subnet. Wählen Sie nicht das Nur-Proxy-Subnetz für das Frontend aus, auch wenn es sich um eine Option in der Liste handelt.
  5. Legen Sie als Port 80 fest.
  6. Lassen Sie im Feld IP-Adresse die Standardoption Sitzungsspezifisch (automatisch) aktiviert.
  7. Klicken Sie auf Fertig.

Konfiguration prüfen und fertigstellen

  • Klicken Sie auf Erstellen.

gcloud

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

    gcloud config set project SERVICE_PROJECT_1_ID

  2. Erstellen Sie die URL-Zuordnung tutorial-url-maps und legen Sie den Standarddienst auf den Backend-Dienst fest, der in Dienstprojekt 1 erstellt wurde:

    gcloud compute url-maps create tutorial-url-maps \
        --default-service=projects/SERVICE_PROJECT_2_ID/regions/us-west1/backendServices/tutorial-backend-service-sp2 \
        --region=us-west1 \
        --project=SERVICE_PROJECT_1_ID
    

    Ersetzen Sie Folgendes:

    • SERVICE_PROJECT_2_ID: Die Projekt-ID des Dienstprojekts 2, in dem die Backends und der Backend-Dienst des Load Balancers erstellt werden.
    • SERVICE_PROJECT_1_ID: die Projekt-ID des Dienstprojekts 1, in dem das Frontend des Load Balancers erstellt wird.
  3. Erstellen Sie den Ziel-Proxy tutorial-http-proxy:

    gcloud compute target-http-proxies create tutorial-http-proxy \
      --url-map=tutorial-url-maps \
      --url-map-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_1_ID
    
  4. Erstellen Sie die Weiterleitungsregel l7-ilb-forwarding-rule für den HTTP-Traffic. Damit der projektübergreifende Dienst verweist, muss die Weiterleitungsregel dasselbe Netzwerk (lb-network) aus dem freigegebene VPC-Hostprojekt verwenden, mit dem der Backend-Dienst erstellt wurde.

    gcloud compute forwarding-rules create l7-ilb-forwarding-rule \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \
      --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
      --address=l7-ilb-ip-address \
      --ports=80 \
      --region=us-west1 \
      --target-http-proxy=tutorial-http-proxy \
      --target-http-proxy-region=us-west1 \
      --project=SERVICE_PROJECT_1_ID
    
  5. Wenn Sie Traffic an den Back-End-Dienst senden möchten, verknüpfen Sie die URL-Zuordnung mit dem Back-End-Dienst. Weitere Informationen finden Sie unter URL-Zuordnungen verwenden.

    1. Verknüpfen Sie den Back-End-Dienst tutorial-backend-service-sp2 in Dienstprojekt 2 mit der URL-Zuordnung tutorial-url-maps und dem Namen des Pfad-Matchers tutorial-path-matcher-sp2:

      gcloud compute url-maps add-path-matcher tutorial-url-maps \
         --path-matcher-name=tutorial-path-matcher-sp2 \
         --default-service=projects/SERVICE_PROJECT_2_ID/regions/us-west1/backendServices/tutorial-backend-service-sp2 \
         --region=us-west1
      
    2. Verknüpfen Sie den Backend-Dienst tutorial-backend-service-sp3 in Serviceprojekt 3 mit der URL-Zuordnung tutorial-url-maps und dem Namen des Path Matchers tutorial-path-matcher-sp3. Fügen Sie eine neue Hostregel tutorial-host mit den angegebenen Hosts hinzu, damit der Pfad-Matcher mit der neuen Hostregel verknüpft ist.

      gcloud compute url-maps add-path-matcher tutorial-url-maps \
        --path-matcher-name=tutorial-path-matcher-sp3 \
        --default-service=projects/SERVICE_PROJECT_3_ID/regions/us-west1/backendServices/tutorial-backend-service-sp3 \
        --region=us-west1 \
        --new-hosts=tutorial-host
      

Load-Balancer testen

Erstellen Sie zuerst eine Beispiel-Client-VM, um den Load-Balancer zu testen. Richten Sie dann eine SSH-Sitzung mit der VM ein und senden Sie Traffic von dieser VM zum Load-Balancer.

VM-Testinstanz erstellen

Clients können sich entweder im Hostprojekt der freigegebene VPC oder in einem verbundenen Dienstprojekt befinden. In diesem Beispiel testen Sie die Funktion des Load Balancers, indem Sie eine Client-VM in Dienstprojekt 1 bereitstellen, das als Hostprojekt der freigegebene VPC festgelegt ist. Der Client muss dasselbe freigegebene VPC-Netzwerk verwenden und sich in derselben Region befinden wie der Load-Balancer.

Alle Schritte in diesem Abschnitt müssen in Dienstprojekt 2 ausgeführt werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu "VM-Instanzen"

  2. Klicken Sie auf Instanz erstellen.

  3. Geben Sie im Feld Name client-vm ein.

  4. Legen Sie als Zone us-west1-b fest.

  5. Klicken Sie auf Erweiterte Optionen und dann auf Netzwerk.

  6. Geben Sie die folgenden Netzwerk-Tags ein: allow-ssh,load-balanced-backend.

  7. Wählen Sie im Bereich Netzwerkschnittstellen die Option Für mich freigegebene Netzwerke (von Hostprojekt: SERVICE_PROJECT_1_ID) aus.

  8. Wählen Sie das Subnetz lb-frontend-and-backend-subnet aus dem Netzwerk lb-network aus.

  9. Klicken Sie auf Erstellen.

gcloud

Erstellen Sie eine VM-Testinstanz.

gcloud compute instances create client-vm \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
    --zone=us-west1-b \
    --tags=allow-ssh \
    --project=SERVICE_PROJECT_2_ID

Traffic an den Load-Balancer senden

Stellen Sie mit SSH eine Verbindung zur soeben erstellten Instanz her und testen Sie, ob die HTTP(S)-Dienste auf den Backends über die IP-Adresse der Weiterleitungsregel des internen Application Load Balancers erreichbar sind und ob über die Backend-Instanzen hinweg Traffic ausgeglichen wird.

  1. Rufen Sie den Wert der IP-Adresse des Load Balancers ab:

    gcloud compute addresses list --filter="name=( 'l7-ilb-ip-address')"
    

    Die Ausgabe sollte in etwa so aussehen:

    NAME: l7-ilb-ip-address
    ADDRESS/RANGE: 10.1.2.2
    TYPE: INTERNAL
    PURPOSE: GCE_ENDPOINT
    NETWORK:
    REGION: us-west1
    SUBNET: lb-frontend-and-backend-subnet
    STATUS: IN_USE
    

    Kopieren Sie den Dienst ADDRESS/RANGE, z. B. 10.1.2.2, aus der Ausgabe, um ihn in den nächsten Schritten zu verwenden.

  2. Stellen Sie eine SSH-Verbindung zur Clientinstanz her:

    gcloud compute ssh client-vm \
       --zone=us-west1-b \
       --project=SERVICE_PROJECT_2_ID
    
  3. Prüfen Sie, ob die IP-Adresse des Load Balancers ihren Hostnamen bereitstellt:

    1. Prüfen Sie, ob die IP-Adresse ihren Hostnamen in Service Project 2 bereitstellt:

      curl 10.1.2.2
      

      Die Ausgabe sollte in etwa so aussehen:

      Page served from: tutorial-sp2-mig-a-10xk
      

    2. Prüfen Sie, ob die IP-Adresse ihren Hostnamen in Dienstprojekt 3 bereitstellt:

      curl -H "Host: tutorial-host" 10.1.2.2
      

      Die Ausgabe sollte in etwa so aussehen:

      Page served from: tutorial-sp3-mig-a-3d5h
      

IAM-Berechtigungen gewähren

Weisen Sie dem App Hub-Host und den Dienstprojekten die entsprechenden IAM-Rollen und Berechtigungen zu.

Console

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

    Zur Projektauswahl

  2. Wählen Sie das App Hub-Hostprojekt aus.

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

    IAM aufrufen

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

  5. Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Person ein, die den App Hub verwalten soll, also die Rolle App Hub Admin im App Hub-Hostprojekt.

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

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

  8. Weisen Sie in jedem der App Hub-Dienstprojekte demselben Nutzer die Rolle „App Hub Admin“ zu.

gcloud

  1. Wenn Sie die Rollen Personen zuweisen möchten, die den App Hub verwenden, wiederholen Sie den folgenden Befehl und ersetzen Sie die IAM-Rollen nach Bedarf. Weitere Informationen finden Sie unter App Hub-Rollen und ‑Berechtigungen.

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

    Ersetzen Sie HOST_PROJECT_ADMIN durch den Nutzer, der die Rolle „App Hub-Administrator“ im App Hub-Hostprojekt hat. Dieser Wert hat das Format username@yourdomain, z. B. 222larabrown@gmail.com.

  2. Weisen Sie den Personen, die den App Hub verwalten, die Rolle „App Hub Admin“ im Dienstprojekt zu. Sie müssen die Rolle „App Hub Admin“ haben, um dem Hostprojekt Dienstprojekte hinzuzufügen. Für jedes Dienstleistungsprojekt ist mindestens eine Person mit dieser Rolle erforderlich.

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

    Ersetzen Sie SERVICE_PROJECT_ID durch die ID der Dienstprojekte.

Dienstprojekte anhängen

Dienstprojekte sind Google Cloud -Projekte, die Infrastrukturressourcen enthalten, die Sie bei einer App Hub-Anwendung registrieren können. Weitere Informationen finden Sie unter Dienstprojekte. Hängen Sie die Dienstprojekte, in denen Sie die Ressourcen bereitgestellt haben, an das App Hub-Hostprojekt an.

Console

  1. Rufen Sie in der Google Cloud -Konsole die Seite App Hub-Einstellungen auf.

    Einstellungen aufrufen

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

  3. Suchen Sie im angezeigten Bereich nach Projekten in der Liste und klicken Sie die Kästchen der 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 Dienstprojekte angezeigt.

  5. Klicken Sie auf Schließen.

gcloud

  1. Hängen Sie die Dienstprojekte 1, 2 und 3 an Ihr App Hub-Hostprojekt an.

    gcloud apphub service-projects add SERVICE_PROJECT_1_ID \
      --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2_ID \
      --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3_ID \
      --project=HOST_PROJECT_ID
    
  2. Prüfen Sie, ob Sie die App Hub-Dienstprojekte an das App Hub-Hostprojekt angehängt haben:

    gcloud apphub service-projects list --project=HOST_PROJECT_ID
    

Nachdem Sie das Dienstprojekt an das App Hub-Hostprojekt angehängt haben, können Sie alle Google Cloud -Ressourcen aus dem angehängten Dienstprojekt als erkannte App Hub-Dienste und ‑Arbeitslasten aufrufen. Weitere Informationen dazu, wie Sie diese gefundenen Dienste und Arbeitslasten aufrufen, finden Sie unter Vorhandene Anwendungen, Dienste und Arbeitslasten ansehen.

Anwendung erstellen

Erstellen Sie eine Anwendung, die als Container für Ihre Dienste und Arbeitslasten dient. Wenn Sie eine Anwendung erstellen, können Sie ihr unveränderliche Eigenschaften wie einen Gültigkeitsbereich oder einen Speicherort zuweisen, unter dem Sie Ressourcen registrieren möchten, sowie variable Attribute wie Wichtigkeit und Umgebung. Mit den Variablenattributen können Sie die Anwendungen filtern. Weitere Informationen finden Sie unter Properties und Attribute.

In dieser Anleitung erstellen Sie eine globale Anwendung, mit der Sie globale und regionale Ressourcen in einer einzigen Anwendung verwalten können. Wenn Sie Ihre Ressourcen aus einer bestimmten Region gruppieren möchten, können Sie eine regionale Anwendung erstellen und diese Ressourcen registrieren. Weitere Informationen zum Erstellen einer regionalen Anwendung finden Sie unter App Hub einrichten.

Console

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

    Wechseln Sie zu „Anwendungen“

  3. Klicken Sie auf Anwendung erstellen.

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

  5. Geben Sie im Feld Name der Anwendung den Namen tutorial-application ein. Dieser Name ist eine eindeutige Kennung und kann nach dem Erstellen der Anwendung nicht mehr geändert werden.

  6. Geben Sie einen Anzeigenamen, Tutorial, ein und klicken Sie auf Weiter. Dies ist ein nutzerfreundlicher Name, den Sie aktualisieren können. Weitere Informationen finden Sie unter Vorhandene Anwendung aktualisieren.

  7. Wählen Sie im Bereich Attribute hinzufügen in der Liste Kritisch die Option Hoch aus. Die Kritischkeit gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für den Geschäftsbetrieb ist.

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

  9. Klicken Sie auf Weiter.

  10. Fügen Sie im Bereich Inhaber hinzufügen die folgenden Details für Entwicklerinhaber, Betreiberinhaber und Inhaber von Unternehmen hinzu. Wenn Sie einen Anzeigenamen hinzufügen, müssen Sie die E-Mail-Adresse des Inhabers eingeben.

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

  12. Klicken Sie auf Erstellen.

Die neue Anwendung wird erstellt und auf der Seite Anwendungen aufgeführt. Hinweis: Nur die Weiterleitungsregel, die URL-Zuordnung, der Back-End-Dienst und die verwaltete Instanzgruppe (MIG) sind in der App Hub-Anwendung als entdeckte Ressourcen verfügbar. Weitere Informationen finden Sie unter Konzepte und Datenmodell.

gcloud

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

    gcloud config set project HOST_PROJECT_ID
  2. Erstellen Sie in der Region global eine neue Anwendung namens tutorial-application und geben Sie ihr den Anzeigenamen Tutorial. Dieser Anwendungsname, tutorial-application, ist eine eindeutige Kennung und kann nach dem Erstellen der Anwendung nicht mehr geändert werden. Der AnzeigenameTutorial ist ein nutzerfreundlicher Name,den Sie aktualisieren können. Weitere Informationen finden Sie unter Vorhandene Anwendung aktualisieren.

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=GLOBAL \
        --project=HOST_PROJECT_ID \
        --location=global
    
  3. Listen Sie die Anwendungen in Ihrem App Hub-Hostprojekt auf:

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

    Die Ausgabe sollte in etwa so aussehen:

    ID                    DISPLAY_NAME  CREATE_TIME
    tutorial-application  Tutorial      2023-10-31T18:33:48
    
  4. Aktualisieren Sie Ihre Anwendung mit den Attributen criticality-type, environment-type und „owner“:

    gcloud apphub applications update tutorial-application \
      --criticality-type='HIGH' \
      --environment-type='PRODUCTION' \
      --developer-owners=display-name=DISPLAY-NAME-DEVELOPER,email=EMAIL-DEVELOPER \
      --operator-owners=display-name=DISPLAY-NAME-OPERATOR,email=EMAIL-OPERATOR \
      --business-owners=display-name=DISPLAY-NAME-BUSINESS,email=EMAIL-BUSINESS \
      --project=HOST_PROJECT_ID \
      --location=global
    

    Ersetzen Sie Folgendes:

    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR und DISPLAY-NAME-BUSINESS: Anzeigenamen des Entwicklers, Betreibers und Inhabers des Unternehmens.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR und EMAIL-NAME-BUSINESS: E-Mail-Adressen des Entwicklers, Betreibers und des Unternehmensinhabers. Diese Werte müssen das Format username@yourdomain haben, z. B. 222larabrown@gmail.com.

    Hinweise:

    • criticality-type: Gibt an, wie wichtig eine Anwendung, ein Dienst oder eine Arbeitslast für Ihr Unternehmen ist.
    • environment-type: gibt die Phasen des Softwarelebenszyklus an.
  5. Rufen Sie Details zur von Ihnen erstellten Anwendung ab:

    gcloud apphub applications describe tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=global
    

    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/global/applications/tutorial-application
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73
    updateTime: '2023-10-31T18:33:48.343303819Z'
    

Dienste und Arbeitslasten registrieren

Wenn Sie Dienste und Arbeitslasten registrieren, werden sie einer Anwendung hinzugefügt, mit der Sie die hinzugefügten Ressourcen überwachen können.

Console

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

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie auf den Namen Ihrer Anwendung, Tutorial. Auf dem Tab Dienste und Arbeitslasten wird eine Liste der registrierten Dienste und Arbeitslasten angezeigt, die sich in Ihren App Hub-Dienstprojekten befinden.

  3. So registrieren Sie einen Dienst:

    1. Klicken Sie auf dem Tab Dienste und Arbeitslasten auf Dienst/Arbeitslast registrieren.
    2. Klicken Sie auf der Seite Dienst oder Arbeitslast registrieren im Bereich Ressource auswählen auf Durchsuchen, um den Dienst oder die Arbeitslast als Ressource auszuwählen.
    3. Wählen Sie im Bereich Ressource auswählen den Namen des Dienstes, tutorial-backend-service-sp2, aus und klicken Sie auf Auswählen.
    4. Geben Sie im Bereich Ressource auswählen den Namen der Ressource ein, tutorial-service-backend-sp2.
    5. Geben Sie einen Anzeigenamen, Backend service (SP2), ein und klicken Sie auf Weiter.
    6. Wählen Sie im Bereich Attribute hinzufügen in der Liste Kritisch die Option Hoch aus, um die Wichtigkeit der Anwendung anzugeben.
    7. Wählen Sie im Feld Umgebung die Option Produktion aus, um die Phase des Softwarelebenszyklus anzugeben.
    8. Klicken Sie auf Weiter.
    9. Geben Sie im Bereich Inhaber hinzufügen die erforderlichen Details für Entwicklerinhaber, Betreiberinhaber und Inhaber von Unternehmen ein. Wenn Sie einen Anzeigenamen hinzufügen, müssen Sie die E-Mail-Adresse des Inhabers eingeben.
      1. Geben Sie den Anzeigenamen eines Eigentümers ein.
      2. Geben Sie die E-Mail-Adresse des Inhabers ein. Dieser Wert muss das Format username@yourdomain haben, z. B. 222larabrown@gmail.com.
    10. Wiederholen Sie diese Schritte für jeden Entwickler, Betreiber und Geschäftsinhaber.
    11. Klicken Sie auf Registrieren.

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

  4. Wiederholen Sie die vorherigen Schritte, um die anderen Dienste als tutorial-service-backend-sp3, tutorial-service-forwarding-rule und tutorial-service-url-map zu registrieren.
  5. Registrieren Sie eine Arbeitslast, indem Sie die vorherigen Schritte zum Registrieren eines Dienstes wiederholen. Beachten Sie dabei die folgenden Ausnahmen:
    1. Wählen Sie im Bereich Dienst oder Arbeitslast registrieren unter Dienst oder Arbeitslast auswählen den Namen der Arbeitslast, tutorial-sp2-mig-a, aus und klicken Sie auf Weiter.
    2. Geben Sie im Bereich Ressource auswählen den Namen der Ressource ein, tutorial-workload-sp2-mig-a.
    3. Geben Sie einen Anzeigenamen, Instance group - A (SP2), ein und klicken Sie auf Weiter.
  6. Wiederholen Sie die vorherigen Schritte, um die anderen Arbeitslasten als tutorial-workload-sp2-mig-a, tutorial-workload-sp2-mig-b, tutorial-workload-sp3-mig-a und tutorial-workload-sp3-mig-b zu registrieren.

gcloud

  1. So fügen Sie eine Person mit App Hub-Berechtigungen hinzu:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
      --member='user:APP_HUB_EDITOR' \
      --role='roles/apphub.editor'
    

    Ersetzen Sie APP_HUB_EDITOR durch den Nutzer, der die Rolle „App Hub-Bearbeiter“ im App Hub-Hostprojekt hat. Dieser Wert hat das Format username@yourdomain, z. B. 222larabrown@gmail.com.

  2. Liste aller erkannten Dienste im App Hub-Hostprojekt auflisten Dieser Befehl gibt Dienste zurück, die für die Registrierung bei einer Anwendung verfügbar sind.

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Die Ausgabe sollte in etwa so aussehen:

    ID                             SERVICE_REFERENCE                                                                                                                      SERVICE_PROPERTIES
    BACKEND_SERVICE_SP2_ID      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp2'}  {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}
    BACKEND_SERVICE_SP3_ID      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp3'}  {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}
    FORWARDING_RULE_SERVICE_ID  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule'}        {'gcpProject': 'projects/SERVICE_PROJECT_1_ID', 'location': 'us-west1'}
    URL_MAP_SERVICE_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/urlMaps/tutorial-url-maps'}                     {'gcpProject': 'projects/SERVICE_PROJECT_1_ID', 'location': 'us-west1'}
    

    Kopieren Sie die Dienst-IDs, z. B. BACKEND_SERVICE_SP2_ID, aus der Ausgabe für den nächsten Schritt.

  3. Registrieren Sie die Dienste aus dem vorherigen Schritt in Ihrer Anwendung. Kopieren Sie die Dienst-IDs aus dem Ausgabefeld im vorherigen Schritt.

    gcloud apphub applications services create tutorial-service-backend-sp2 \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_SP2_ID' \
        --display-name='Backend service (SP2)' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications services create tutorial-service-backend-sp3 \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_SP3_ID' \
        --display-name='Backend service (SP3)' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications services create tutorial-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='Forwarding rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications services create tutorial-service-url-map \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \
        --display-name='URL map' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Ersetzen Sie Folgendes:

    • BACKEND_SERVICE_SP2_ID: Der Dienst ID des Backend-Dienstes aus Dienstprojekt 2, den Sie registrieren möchten.
    • BACKEND_SERVICE_SP3_ID: Der Dienst ID des Backend-Dienstes aus Dienstprojekt 3, den Sie registrieren möchten.
    • FORWARDING_RULE_SERVICE_ID: Der Dienst ID der Weiterleitungsregel aus Dienstprojekt 1, den Sie registrieren möchten.
    • URL_MAP_SERVICE_ID: den Dienst ID der URL-Zuordnung aus Serviceprojekt 1, den Sie registrieren möchten.
  4. Alle registrierten Dienste in der Anwendung auflisten:

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Die Ausgabe sollte in etwa so aussehen:

    ID                               DISPLAY_NAME      SERVICE_REFERENCE                                                                                                                       CREATE_TIME
    tutorial-service-backend-sp2     Backend service   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp2'}   2024-02-13T00:31:45
    tutorial-service-backend-sp3     Backend service   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp3'}   2024-02-13T00:31:45
    tutorial-service-forwarding-rule Forwarding rule   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule'}         2024-02-13T00:31:45
    tutorial-service-url-map         URL map           {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/urlMaps/tutorial-url-maps'}                      2024-02-13T00:31:45
    
    Registrierte, aber getrennte Dienste werden durch einen leeren Wert im Feld SERVICE_REFERENCE gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Eigenschaften und Attribute des App Hub.

  5. Listet alle erkannten Arbeitslasten im App Hub-Hostprojekt auf. Dieser Befehl gibt Arbeitslasten zurück, die für die Registrierung bei einer Anwendung verfügbar sind.

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Die Ausgabe sollte in etwa so aussehen:

    ID                            WORKLOAD_REFERENCE                                                                                                          WORKLOAD_PROPERTIES
    INSTANCE_GROUP_SP3_A_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-a'}  {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}
    INSTANCE_GROUP_SP3_B_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-b'}  {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}
    INSTANCE_GROUP_SP2_A_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-a'}  {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}
    INSTANCE_GROUP_SP2_B_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-b'}  {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}
    
    Kopieren Sie die Arbeitslast-ID aus der Ausgabe, um sie im nächsten Schritt zu verwenden.

  6. Registrieren Sie die Arbeitslasten aus dem vorherigen Schritt in Ihrer Anwendung. Kopieren Sie die Workload-ID aus dem Ausgabefeld im vorherigen Schritt.

    gcloud apphub applications workloads create tutorial-workload-sp3-mig-a \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP3_A_ID' \
        --display-name='Workload instance group (SP3-A)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications workloads create tutorial-workload-sp3-mig-b \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP3_B_ID' \
        --display-name='Workload instance group (SP3-B)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications workloads create tutorial-workload-sp2-mig-a \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP2_A_ID' \
        --display-name='Workload instance group (SP2-A)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications workloads create tutorial-workload-sp2-mig-b \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP2_B_ID' \
        --display-name='Workload instance group (SP2-B)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Ersetzen Sie Folgendes:

    • INSTANCE_GROUP_SP3_A_ID, INSTANCE_GROUP_SP3_B_ID: Arbeitslast-IDs der verwalteten Instanzgruppen aus Service Project 3, die Sie registrieren möchten.
    • INSTANCE_GROUP_SP2_A_ID, INSTANCE_GROUP_SP2_B_ID: Arbeitslast-IDs der verwalteten Instanzgruppen aus Service Project 2, die Sie registrieren möchten.
  7. Alle registrierten Arbeitslasten in der Anwendung auflisten:

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Die Ausgabe sollte in etwa so aussehen:

    ID                              DISPLAY_NAME                      SERVICE_REFERENCE                                                                                                            CREATE_TIME
    tutorial-workload-sp3-mig-a     Workload instance group (SP3-A)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-a'}   2024-02-13T00:31:45
    tutorial-workload-sp3-mig-b     Workload instance group (SP3-B)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-b'}   2024-02-13T00:31:45
    tutorial-workload-sp2-mig-a     Workload instance group (SP2-A)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-a'}   2024-02-13T00:31:45
    tutorial-workload-sp2-mig-b     Workload instance group (SP2-B)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-b'}   2024-02-13T00:31:45
    
    Registrierte, aber getrennte Arbeitslasten werden durch einen leeren Wert im Feld WORKLOAD_REFERENCE gekennzeichnet. Weitere Informationen zu den Registrierungsstatus finden Sie unter Eigenschaften und Attribute des App Hub.

Alle Dienste und Arbeitslasten ansehen

Sie können Details zu den Diensten und Arbeitslasten aus den Dienstprojekten aufrufen, die an das App Hub-Hostprojekt angehängt sind.

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

    Zu „Dienste und Arbeitslasten“

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

  2. Wählen Sie in der Liste Region die Option Global aus. Die Arbeitslast Workload Instance Group (Arbeitslastinstanzgruppe) wird mit Details wie App Hub Type (App Hub-Typ), Criticality (Kritisch) und Registered to (Registriert bei) angezeigt.

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

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

Anwendungsmesswerte ansehen

Sie können die Systemmesswerte für die Anwendungen aufrufen, die in Ihrem App Hub-Hostprojekt erstellt wurden. Diese Messwerte entsprechen den Goldenen Signalen: Traffic, Fehler, Latenz und Sättigung, mit denen sich die Leistung und der Zustand der Anwendung überwachen lassen.

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

    Wechseln Sie zu „Anwendungen“

  2. Klicken Sie auf den Namen der Anwendung, Tutorial.

    Auf dem Tab Dienste und Arbeitslasten werden die Metadaten der Dienste und Arbeitslasten angezeigt, die für Ihre Anwendung registriert sind.

  3. Klicken Sie auf Messwerte, um die Systemmesswerte der registrierten Dienste und Arbeitslasten aufzurufen.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

App Hub-Ressourcen löschen

Console

  1. Rufen Sie in der Google Cloud -Konsole die Seite „App Hub“ Anwendungen auf.

    Wechseln Sie zu „Anwendungen“

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

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

  4. Klicken Sie auf der Seite Dienste und Arbeitslasten auf Registrierung aufheben.

    Sie werden in einer Benachrichtigung darüber informiert, dass der Dienst nicht registriert ist.

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

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

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

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

    Wechseln Sie zu „Anwendungen“

  8. Klicken Sie auf den Namen einer Anwendung.

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

  10. Rufen Sie in der Google Cloud -Konsole die Seite App Hub-Einstellungen auf.

    Einstellungen aufrufen

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

  12. Klicken Sie auf Projekte trennen.

gcloud

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

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    
  2. Melden Sie die Dienste von der Anwendung ab:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    

    Ersetzen Sie SERVICE_NAME durch den Namen Ihres Dienstes. Die Dienste sind jetzt erkannte Dienste, die für die Anwendung registriert werden können.

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

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    
  4. So melden Sie die Arbeitslast von der Anwendung ab:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    

    Ersetzen Sie WORKLOAD_NAME durch den Namen Ihrer Arbeitslast. Die Arbeitslast ist jetzt eine erkannte Arbeitslast, die bei der Anwendung registriert werden kann.

  5. So löschen Sie die Anwendung:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=global
    
  6. Entfernen Sie die Dienstprojekte aus dem App Hub-Hostprojekt:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    

    Ersetzen Sie SERVICE_PROJECT_ID durch die Projekt-IDs der Dienstprojekte 1, 2 und 3.

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.

Weitere Informationen finden Sie unter Load-Balancer-Einrichtung bereinigen.

Projekt löschen

Console

  1. Rufen Sie in der Google Cloud -Konsole die Seite Ressourcen verwalten auf.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

gcloud

So löschen Sie ein Google Cloud -Projekt:

gcloud projects delete PROJECT_ID

Ersetzen Sie PROJECT_ID durch die Projekt-IDs des Host- oder Dienstprojekts.

Nächste Schritte