Supervisa los recursos de infraestructura con una aplicación global de App Hub


App Hub te permite administrar y ver recursos de infraestructura de proyectos de Google Cloud a través de aplicaciones de App Hub. Para crear estas aplicaciones de App Hub, necesitas un proyecto de host de App Hub al que puedas adjuntar proyectos de servicio que contengan recursos de Google Cloud .

En este instructivo, se muestra cómo configurar una aplicación global de App Hub para varios proyectos y, luego, ver los recursos de la aplicación. Con varios proyectos de servicio, configuras un balanceador de cargas de aplicaciones interno en un entorno de VPC compartida. Luego, en una aplicación global en el proyecto host de App Hub, registras y supervisas todos los recursos de infraestructura de los proyectos de servicios como servicios y cargas de trabajo de App Hub.

Este instructivo está dirigido a las personas que configuran y administran App Hub. Debes tener cierta experiencia con Cloud Load Balancing.

Objetivos

  • Configura una aplicación de Global App Hub que contenga recursos de varios proyectos.
  • Supervisa los recursos a través de las métricas del sistema de la aplicación.

Costos

Para obtener una estimación del costo de los recursos de Google Cloud que usa la solución de VM administrada con balanceo de cargas, consulta la estimación calculada previamente en la calculadora de precios deGoogle Cloud .

Usa la estimación como punto de partida para calcular el costo de la implementación. Puedes cambiar la estimación para que refleje cualquier cambio de configuración que planeas hacer para los recursos que se usan en la solución.

La estimación calculada previamente se basa en suposiciones para ciertos factores, incluidos los siguientes:

  • Las ubicaciones de Google Cloud en las que se implementan los recursos.
  • La cantidad de tiempo que se usan los recursos.

Para obtener más información sobre los costos de App Hub, consulta la página Precios.

Antes de comenzar

Antes de configurar este instructivo, decide los roles y permisos de tus proyectos y, luego, crea cuatro proyectos de Google Cloud . Uno de estos proyectos es el proyecto host de App Hub y los otros tres son proyectos de servicio de App Hub.

Roles y permisos requeridos

Si eres el creador del proyecto, se te otorga el rol de propietario básico (roles/owner). De forma predeterminada, este rol de Identity and Access Management (IAM) incluye los permisos necesarios para obtener acceso completo a la mayoría de los recursos de Google Cloud.

Si no eres el creador del proyecto, se deben otorgar los permisos necesarios en el proyecto a la principal correspondiente. Por ejemplo, una principal puede ser una Cuenta de Google (para usuarios finales) o una cuenta de servicio (para aplicaciones y cargas de trabajo).

Para obtener los permisos que necesitas a fin de administrar el acceso a un proyecto, organización o carpeta, pídele a tu administrador que te otorgue las siguientes roles de IAM en el recurso para el que deseas administrar el acceso (proyecto , carpeta u organización):

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Crea proyectos de host y de servicio de App Hub

Console

  1. En la consola de Google Cloud , ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona o crea un proyecto de Google Cloud para que sea tu proyecto de host de App Hub.

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

    Enable the APIs

  4. En la misma carpeta que el proyecto host de App Hub, crea tres proyectos nuevos de Google Cloud . Estos son los proyectos de servicio de App Hub para el proyecto host de App Hub.

  5. Asegúrate de que la facturación esté habilitada para todos tus proyectos de Google Cloud .

  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. Asegúrate de que esté instalada la versión más reciente de Google Cloud CLI. Ejecuta el siguiente comando desde Cloud Shell:

      gcloud components update

  3. Crea o selecciona un proyecto nuevo, HOST_PROJECT_ID, para que sea el proyecto host de App Hub.

    • Crea un proyecto de Google Cloud :

      gcloud projects create HOST_PROJECT_ID
    • Selecciona el proyecto de Google Cloud que creaste:

      gcloud config set project HOST_PROJECT_ID
  4. Asegúrate de que la facturación esté habilitada para todos tus proyectos de Google Cloud .

  5. Habilita las APIs de App Hub, Compute Engine, Service Management y Service Usage:

    gcloud services enable apphub.googleapis.com \
       compute.googleapis.com \
       servicemanagement.googleapis.com \
       serviceusage.googleapis.com
  6. Crea tres proyectos nuevos de Google Cloud que serán los proyectos de servicio de App Hub para el proyecto host de App Hub.

    1. Crea un proyecto de servicio:

      gcloud projects create SERVICE_PROJECT_1_ID

      Reemplaza SERVICE_PROJECT_1_ID por el ID del proyecto de servicio 1.

    2. Selecciona el proyecto de servicio que creaste:

      gcloud config set project SERVICE_PROJECT_1_ID
    3. Habilita las APIs de Compute Engine, Service Management y Service Usage:

      gcloud services enable compute.googleapis.com \
        servicemanagement.googleapis.com \
        serviceusage.googleapis.com
    4. Establece la variable de configuración que se usa en este instructivo:

      export SERVICE_PROJECT_1_NUMBER= $(gcloud projects describe $(gcloud config get-value project) --format='value(projectNumber)')
    5. Repite los pasos anteriores para crear SERVICE_PROJECT_2_ID y SERVICE_PROJECT_3_ID, habilitar las APIs y establecer la variable de configuración.

Prepare el entorno

Si ya tienes un balanceador de cargas de aplicaciones interno en un entorno de VPC compartida configurado en varios proyectos, ve a la sección Otorga permisos de IAM en este documento.

De lo contrario, para configurar un balanceador de cargas de aplicaciones interno en un entorno de VPC compartida, sigue estos pasos:

Cargas de trabajo y servicios de App Hub con un balanceador de cargas y un grupo de instancias administrado
Figura 1. Cargas de trabajo y servicios de App Hub con un balanceador de cargas y grupos de instancias administrados en una VPC compartida.
  1. En el proyecto de servicio 1, configura una red de VPC compartida y dos subredes.
  2. En el proyecto de servicio 2, crea el servicio de backend del balanceador de cargas con dos grupos de instancias administrados como backends.
  3. En el proyecto de servicio 3, crea otro servicio de backend del balanceador de cargas con dos grupos de instancias administrados como backends.
  4. En el proyecto de servicio 1, crea los componentes de frontend y el mapa de URL del balanceador de cargas.

A continuación, se muestra el flujo de procesamiento de solicitudes de la topología que implementa la solución de VM administradas con balanceo de cargas.

  1. Desde la red de VPC compartida, la VM cliente realiza una solicitud HTTP al balanceador de cargas de aplicaciones interno en el proyecto de servicio 1.

  2. El balanceador de cargas usa la información del mapa de URL y los servicios de backend para enrutar la solicitud a los backends de su grupo de instancias administrado.

Configura la red y las subredes en el proyecto host de VPC compartida

Necesitas una red de VPC compartida con dos subredes: una para el frontend y los backends del balanceador de cargas una para los proxies del balanceador de cargas.

En este ejemplo, se usan las siguientes subredes, red y región:

  • Red. La red se llama lb-network.

  • Subred para el frontend y los backends del balanceador de cargas. Una subred llamada lb-frontend-and-backend-subnet en la región us-west1 usa 10.1.2.0/24 para su rango de IP principal.

  • Subred para proxies. Una subred llamada proxy-only-subnet en la región us-west1 usa 10.129.0.0/23 en su rango de IP principal.

En este instructivo, designa el proyecto de servicio 1 como el proyecto de host de la VPC compartida. Todos los pasos de esta sección deben realizarse en el proyecto de servicio 1.

Configura la subred para el frontend y los backends del balanceador de cargas

No es necesario realizar este paso cada vez que quieras crear un balanceador de cargas nuevo. Solo debes asegurarte de que los proyectos de servicio tengan acceso a una subred en la red de VPC compartida (además de la subred de solo proxy).

Console

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haga clic en Crear red de VPC.
  3. En el campo Nombre, ingresa lb-network.
  4. Establece Modo de creación de subred en Personalizado.
  5. En la sección Subred nueva, ingresa la siguiente información:

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

    • Región: us-west1

    • Rangos de direcciones IP: 10.1.2.0/24

  6. Haz clic en Listo.

  7. Haz clic en Crear.

gcloud

  1. Configura el proyecto como Servicio de proyecto 1:

      gcloud config set project SERVICE_PROJECT_1_ID

  2. Crea una red de VPC con el comando gcloud compute networks create:

    gcloud compute networks create lb-network --subnet-mode=custom
    
  3. Crea una subred en la red lb-network en la región us-west1:

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

Configura la subred de solo proxy

Todos los balanceadores de cargas regionales basados en Envoy usan la subred de solo proxy en la región us-west1, en la red de VPC lb-network. Solo puede haber una subred de solo proxy activa por región y por red.

No realices este paso si ya hay una subred de solo proxy reservada en la región us-west1 de esta red.

Console

  1. En la consola de Google Cloud , ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en el nombre de la red de VPC compartida: lb-network.
  3. Haz clic en la pestaña Subredes y, luego, en Agregar subred.
  4. En el panel Agregar una subred, en el campo Nombre, ingresa proxy-only-subnet.
  5. En la lista Región, selecciona us-west1.
  6. Configura Propósito como Proxy administrado regional.
  7. En el campo Rango de direcciones IP, ingresa 10.129.0.0/23.
  8. Haz clic en Agregar.

gcloud

Crea la subred de solo proxy con el comando 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

Otorga a los administradores de proyectos de servicio acceso a la subred de backend

Los administradores de proyectos de servicio requieren acceso a la subred lb-frontend-and-backend-subnet para poder aprovisionar los backends del balanceador de cargas.

Un administrador de VPC compartida debe otorgar acceso a la subred de backend a los administradores del proyecto de servicio (o desarrolladores que implementan recursos y backends que usan la subred). Si deseas obtener instrucciones, consulta Administradores de proyectos de servicio para algunas subredes.

Configura reglas de firewall en el proyecto de servicio 1

En este ejemplo, se usan las siguientes reglas de firewall:

  • fw-allow-health-check. Es una regla de entrada, aplicable a las instancias con balanceo de cargas, que permite todo el tráfico de TCP de los sistemas de verificación de estado de Google Clouden 130.211.0.0/22 y 35.191.0.0/16. En este ejemplo, se usa la etiqueta de destino load-balanced-backend para identificar las instancias a las que se debe aplicar.

  • fw-allow-proxies. Es una regla de entrada, aplicable a las instancias con balanceo de cargas, que permite el tráfico de TCP en los puertos 80, 443 y 8080 desde los proxies administrados del balanceador de cargas. En este ejemplo, se usa la etiqueta de destino load-balanced-backend para identificar las instancias a las que se debe aplicar.

  • fw-allow-ssh. Es una regla de entrada, aplicable a las instancias con balanceo de cargas, y que permite la conectividad SSH entrante en el puerto TCP 22 desde cualquier dirección. Puedes elegir un rango de IP de origen más restrictivo para esta regla. Por ejemplo, puedes especificar solo los rangos de IP del sistema desde el que inicias sesiones SSH. En este ejemplo, se usa la etiqueta de destino allow-ssh para identificar las máquinas virtuales (VM) a las que se aplica la regla de firewall.

Sin estas reglas de firewall, la regla predeterminada de denegación de entrada bloquea el tráfico entrante a las instancias de backend.

Console

  1. En la consola de Google Cloud , ve a la página Políticas de firewall.

    Ir a Políticas de firewall

  2. Haz clic en Crear regla de firewall para crear la regla que permitirá las verificaciones de estado de Google Cloud :
    • Nombre: fw-allow-health-check
    • Red: lb-network
    • Dirección del tráfico: entrada
    • Acción si hay coincidencia: permitir
    • Objetivos: etiquetas de destino especificadas
    • Etiquetas de destino: load-balanced-backend
    • Filtro de fuente: Rangos de IPv4
    • Rangos de IPv4 de origen: 130.211.0.0/22 y 35.191.0.0/16
    • Protocolos y puertos:
      • Elige Protocolos y puertos especificados.
      • Selecciona la casilla de verificación TCP y, luego, ingresa 80 para el número de puerto.
      • Como práctica recomendada, limita esta regla solo a los protocolos y puertos que coincidan con los que usa tu verificación de estado. Si usas tcp:80 para el protocolo y el puerto, Google Cloud puede usar HTTP en el puerto 80 para comunicarse con tus VMs, pero no puede usar HTTPS en el puerto 443 para comunicarse con ellas.

  3. Haz clic en Crear.
  4. Haz clic en Crear regla de firewall para crear la regla que permitirá las verificaciones de estado de Google Cloud :
    • Nombre: fw-allow-proxies
    • Red: lb-network
    • Dirección del tráfico: entrada
    • Acción si hay coincidencia: permitir
    • Objetivos: etiquetas de destino especificadas
    • Etiquetas de destino: load-balanced-backend
    • Filtro de fuente: Rangos de IPv4
    • Rangos de IPv4 de origen: 10.129.0.0/23
    • Protocolos y puertos:
      • Elige Protocolos y puertos especificados.
      • Selecciona la casilla de verificación TCP y, luego, ingresa 80, 443, 8080 para los números de puerto.
  5. Haz clic en Crear.
  6. Haz clic en Crear regla de firewall para crear la regla que permitirá las verificaciones de estado de Google Cloud :
    • Nombre: fw-allow-ssh
    • Red: lb-network
    • Dirección del tráfico: entrada
    • Acción si hay coincidencia: permitir
    • Objetivos: etiquetas de destino especificadas
    • Etiquetas de destino: allow-ssh
    • Filtro de fuente: Rangos de IPv4
    • Rangos de IPv4 de origen: 0.0.0.0/0
    • Protocolos y puertos:
      • Elige Protocolos y puertos especificados.
      • Selecciona la casilla de verificación TCP y, luego, ingresa 22 para el número de puerto.
  7. Haz clic en Crear.

gcloud

  1. Crea la regla de firewall fw-allow-health-check para permitir las verificaciones de estado deGoogle Cloud . Este ejemplo permite todo el tráfico de TCP proveniente de la verificación de estado. Sin embargo, puedes configurar un conjunto más limitado de puertos para satisfacer tus necesidades.

    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. Crea la regla de firewall fw-allow-proxies para permitir que el tráfico de la subred de solo proxy de Envoy llegue a tus backends:

    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. Crea la regla de firewall fw-allow-ssh para permitir la conectividad SSH a las VMs con la etiqueta de red allow-ssh:

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

Reserva una dirección IPv4 interna estática

Los administradores de proyectos de servicio pueden reservar una dirección IPv4 o IPv6 interna en una subred de una red de VPC compartida. El objeto de configuración de dirección IP se crea en el proyecto de servicio, mientras que su valor proviene del rango de direcciones IPv4 disponibles en la subred compartida que elegiste.

Para reservar una dirección IP interna independiente en el proyecto de servicio, completa los siguientes pasos.

Console

  1. Configura la VPC compartida.
  2. En la consola de Google Cloud , ve a la página VPC compartida.

    Ir a VPC compartida

  3. Accede como un administrador de VPC compartida.

  4. Selecciona el proyecto de servicio del selector de proyectos.

  5. Ve a Red de VPC > Direcciones IP.

  6. En la página Direcciones IP, haz clic en Reservar dirección IP estática interna.

  7. En el campo Nombre, ingresa l7-ilb-ip-address como el nombre de la dirección IP.

  8. En la lista Versión de IP, selecciona IPv4.

  9. En Red, selecciona lb-network.

  10. En las listas Subred, selecciona lb-frontend-and-backend-subnet.

  11. Haz clic en Reservar.

gcloud

  1. Si aún no lo hiciste, autentícate en Google Cloud CLI como administrador del proyecto de servicio de VPC compartida.

    gcloud auth login SERVICE_PROJECT_ADMIN
    

    Reemplaza SERVICE_PROJECT_ADMIN por el nombre del administrador del proyecto de servicio de VPC compartida. Estos valores deben tener el formato nombredeusuario@tudominio, por ejemplo, 222larabrown@gmail.com.

  2. Usa el comando compute addresses create para reservar una dirección IP:

    
    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
    

Los detalles adicionales para crear direcciones IP se encuentran en la documentación del SDK.

Configura la VPC compartida en el proyecto de servicio 1

Para configurar la VPC compartida en el proyecto de servicio 1, designas el proyecto de servicio 1 como el proyecto host de la VPC compartida y los proyectos de servicio 2 y 3 como los proyectos de servicio de la VPC compartida. Más adelante en este instructivo, cuando crees los backends de MIG en los proyectos de servicio 2 y 3, podrás usar la misma red de VPC y las subredes que se crearon anteriormente en el proyecto de servicio 1.

  1. Habilita un proyecto host.
  2. Conecta un proyecto de servicio.
  3. Otorga el rol de usuario de red de Compute (roles/compute.networkUser) a los proyectos de servicio 2 y 3:

    Console

    1. En la consola de Google Cloud , ve a la página IAM.

      Ir a IAM

    2. Haz clic en Otorgar acceso. Se abrirá el panel Otorgar acceso.

    3. En el campo Principales nuevas, ingresa SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com.

      Ten en cuenta que puedes obtener los números de proyecto de servicio en el panel del proyecto:

      Ir al panel

    4. Haz clic en Seleccionar un rol y, en el campo Filtro, ingresa Compute Network User.

    5. Selecciona el rol de Usuario de la red de Compute y haz clic en Guardar.

    6. Repite los pasos anteriores para otorgar el rol Compute Network User al proyecto de servicio 3 (SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com).

    gcloud

    1. En el proyecto de servicio 1, otorga el rol de usuario de la red de Compute al proyecto de servicio 2.

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

      Reemplaza SERVICE_PROJECT_2_NUMBER por el número de proyecto del proyecto de servicio 2.

    2. En el proyecto de servicio 1, otorga el rol de usuario de la red de Compute al proyecto de servicio 3.

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

      Reemplaza SERVICE_PROJECT_3_NUMBER por el número del proyecto de servicio 3.

Crea un servicio de backend y MIG en el proyecto de servicio 2

Todos los pasos de esta sección deben realizarse en el proyecto de servicio 2.

Console

  1. Crea una plantilla de instancias. En la consola de Google Cloud , ve a la página Plantillas de instancia.

    Ir a Plantillas de instancia

    1. Haga clic en Crear plantilla de instancias.
    2. Ingresa un Nombre para la plantilla de instancias: tutorial-ig-template-sp2.
    3. En la sección Ubicación, selecciona Regional (recomendado) y us-west1(Oregon) como la Región.
    4. En la sección Configuración de la máquina, selecciona N2 como la serie.
    5. Asegúrate de que el disco de arranque esté configurado como una imagen de Debian, como Debian GNU/Linux 12 (bookworm). En estas instrucciones, se usan comandos que solo están disponibles en Debian, como apt-get. Si necesitas cambiar el Disco de arranque, haz clic en Cambiar.
      1. En Sistema operativo, selecciona Debian.
      2. En Versión, selecciona una de las imágenes de Debian disponibles, como Debian GNU/Linux 12 (bookworm).
      3. Haz clic en Seleccionar.
    6. Haz clic en Opciones avanzadas y, luego, en Herramientas de redes.
    7. Ingresa las siguientes Etiquetas de red: allow-ssh,load-balanced-backend.
    8. En la sección Interfaces de red, selecciona Redes compartidas conmigo (del proyecto host: SERVICE_PROJECT_1_ID).
    9. Selecciona la subred lb-frontend-and-backend-subnet de la red lb-network.
    10. Haz clic en Administración. En Administración, inserta la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio.
      #! /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. Haz clic en Crear.
  2. Crea un grupo de instancias administrado. En la consola de Google Cloud , ve a la página Grupos de instancias.

    Ir a Grupos de instancias

    1. Haga clic en Crear grupo de instancias.
    2. Selecciona Nuevo grupo de instancias administrado (sin estado). Para obtener más información, consulta MIG con o sin estado.
    3. Ingresa un Nombre para el grupo de instancias: tutorial-sp2-mig-a.
    4. En Plantilla de instancias, selecciona tutorial-ig-template-sp2.
    5. En Ubicación, selecciona Zona única.
    6. En Región, selecciona us-west1.
    7. Especifica la cantidad de instancias que quieres crear en el grupo.

      En este ejemplo, especifica las siguientes opciones en Ajuste de escala automático:

      • En Modo de ajuste de escala automático, selecciona Off:do not autoscale.
      • En Cantidad máxima de instancias, ingresa 2.
    8. Haz clic en Crear.

  3. Crea un servicio de backend regional. Como parte de este paso, también crearemos la verificación de estado y agregaremos backends al servicio de backend. En la consola de Google Cloud , ve a la página Backends.

    Ir a Backends

    1. Haz clic en Crear servicio de backend.
    2. En el diálogo Crear servicio de backend, haz clic en Crear junto a Servicio de backend regional.
    3. Ingresa un Nombre para el servicio de backend: tutorial-backend-service-sp2.
    4. En Región, selecciona us-west1.
    5. En Tipo de balanceador de cargas, selecciona Balanceador de cargas de aplicaciones interno regional (INTERNAL_MANAGED).
    6. Configura el Tipo de backend como grupo de instancias.
    7. En la sección Backends, configura los siguientes campos:
      1. Establece Grupo de instancias en tutorial-sp2-mig-a.
      2. Ingresa los Números de puerto: 80.
      3. Establece el campo Modo de balanceo en Uso.
      4. Haz clic en Listo.
    8. En la sección Verificación de estado, haz clic en Crear una verificación de estado y establece los siguientes campos:
      1. Nombre: tutorial-regional-health-check
      2. Protocolo: HTTP
      3. Puerto: 80
      4. Haz clic en Guardar.
    9. Haga clic en Continuar.
    10. Haz clic en Crear.
  4. Repite los pasos anteriores y crea un grupo de instancias administrado, tutorial-sp2-mig-b, y agrégalo al servicio de backend, tutorial-backend-service-sp2.

gcloud

  1. Selecciona el proyecto de servicio que creaste:
    gcloud config set project SERVICE_PROJECT_2_ID
  2. Crea una plantilla de instancias de VM, tutorial-ig-template-sp2, con un servidor HTTP:

    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
    

    Reemplaza lo siguiente:

    • SERVICE_PROJECT_1_ID: es el ID del proyecto host de la VPC compartida.
    • SERVICE_PROJECT_2_ID: es el ID del proyecto de servicio, en el que se crean los backends del balanceador de cargas y el servicio de backend.
  3. Crea un grupo de instancias administrado, tutorial-sp2-mig-a, en la región:

    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. Define la verificación de estado de HTTP, 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. Define el servicio de backend, 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. Agrega backends al servicio de backend con el comando gcloud compute backend-services add-backend:

    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. Crea otro grupo de instancias administrado, tutorial-sp2-mig-b, en la región:

    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. Agrega backends al servicio de backend:

    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
    

Crea un servicio de backend y MIG en el proyecto de servicio 3

Todos los pasos de esta sección deben realizarse en el proyecto de servicio 3.

Console

  1. Crea una plantilla de instancias. En la consola de Google Cloud , ve a la página Plantillas de instancia.

    Ir a Plantillas de instancia

    1. Haga clic en Crear plantilla de instancias.
    2. Ingresa un Nombre para la plantilla de instancias: tutorial-ig-template-sp3.
    3. En la sección Ubicación, selecciona Regional (recomendado) y us-west1(Oregon) como la Región.
    4. En la sección Configuración de la máquina, selecciona N2 como la serie.
    5. Asegúrate de que el disco de arranque esté configurado como una imagen de Debian, como Debian GNU/Linux 12 (bookworm). En estas instrucciones, se usan comandos que solo están disponibles en Debian, como apt-get. Si necesitas cambiar el Disco de arranque, haz clic en Cambiar.
      1. En Sistema operativo, selecciona Debian.
      2. En Versión, selecciona una de las imágenes de Debian disponibles, como Debian GNU/Linux 12 (bookworm).
      3. Haz clic en Seleccionar.
    6. Haz clic en Opciones avanzadas y, luego, en Herramientas de redes.
    7. Ingresa las siguientes Etiquetas de red: allow-ssh,load-balanced-backend.
    8. En la sección Interfaces de red, selecciona Redes compartidas conmigo (del proyecto host: SERVICE_PROJECT_1_ID).
    9. Selecciona la subred lb-frontend-and-backend-subnet de la red lb-network.
    10. Haz clic en Administración. En Administración, inserta la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio.
      #! /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. Haz clic en Crear.
  2. Crea un grupo de instancias administrado. En la consola de Google Cloud , ve a la página Grupos de instancias.

    Ir a Grupos de instancias

    1. Haga clic en Crear grupo de instancias.
    2. Selecciona Nuevo grupo de instancias administrado (sin estado). Para obtener más información, consulta MIG con o sin estado.
    3. Ingresa un Nombre para el grupo de instancias: tutorial-sp3-mig-a.
    4. En Plantilla de instancias, selecciona tutorial-ig-template-sp3.
    5. En Ubicación, selecciona Zona única.
    6. En Región, selecciona us-west1.
    7. Especifica la cantidad de instancias que quieres crear en el grupo.

      En este ejemplo, especifica las siguientes opciones en Ajuste de escala automático:

      • En Modo de ajuste de escala automático, selecciona Off:do not autoscale.
      • En Cantidad máxima de instancias, ingresa 2.
    8. Haz clic en Crear.

  3. Crea un servicio de backend regional. Como parte de este paso, también crearemos la verificación de estado y agregaremos backends al servicio de backend. En la consola de Google Cloud , ve a la página Backends.

    Ir a Backends

    1. Haz clic en Crear servicio de backend.
    2. En el diálogo Crear servicio de backend, haz clic en Crear junto a Servicio de backend regional.
    3. Ingresa un Nombre para el servicio de backend: tutorial-backend-service-sp3.
    4. En Región, selecciona us-west1.
    5. En Tipo de balanceador de cargas, selecciona Balanceador de cargas de aplicaciones interno regional (INTERNAL_MANAGED).
    6. Configura el Tipo de backend como grupo de instancias.
    7. En la sección Backends, configura los siguientes campos:
      1. Establece Grupo de instancias en tutorial-sp3-mig-a.
      2. Ingresa los Números de puerto: 80.
      3. Establece el campo Modo de balanceo en Uso.
      4. Haz clic en Listo.
    8. En la sección Verificación de estado, haz clic en Crear una verificación de estado y establece los siguientes campos:
      1. Nombre: tutorial-regional-health-check
      2. Protocolo: HTTP
      3. Puerto: 80
      4. Haz clic en Guardar.
    9. Haga clic en Continuar.
    10. Haz clic en Crear.
  4. Repite los pasos anteriores y crea un grupo de instancias administrado, tutorial-sp3-mig-b, y agrégalo al servicio de backend, tutorial-backend-service-sp3.

gcloud

  1. Selecciona el proyecto de servicio que creaste:
    gcloud config set project SERVICE_PROJECT_3_ID
  2. Crea una plantilla de instancias de VM, tutorial-ig-template-sp3, con un servidor HTTP:

    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
    

    Reemplaza lo siguiente:

    • SERVICE_PROJECT_1_ID: es el ID del proyecto host de la VPC compartida.
    • SERVICE_PROJECT_3_ID: es el ID del proyecto de servicio, en el que se crean los backends del balanceador de cargas y el servicio de backend.
  3. Crea un grupo de instancias administrado, tutorial-sp3-mig-a, en la región:

    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. Define la verificación de estado de HTTP, 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. Define el servicio de backend, 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. Agrega backends al servicio de backend con el comando gcloud compute backend-services add-backend:

    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. Crea otro grupo de instancias administrado, tutorial-sp3-mig-b, en la región:

    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. Agrega backends al servicio de backend:

    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
    

Crea el mapa de URL y la regla de reenvío en el proyecto de servicio 1

Todos los pasos de esta sección deben realizarse en el proyecto de servicio 1.

Console

Inicia tu configuración

  1. En la consola de Google Cloud , ve a la página Balanceo de cargas.

    Ir a Balanceo de cargas

  2. Haz clic en Crear balanceador de cargas.
  3. En Tipo de balanceador de cargas, selecciona Balanceador de cargas de aplicaciones (HTTP/HTTPS) y haz clic en Siguiente.
  4. En Orientado al público o interno, selecciona Interno y haz clic en Siguiente.
  5. En Implementación entre regiones o de una sola región, selecciona Ideal para cargas de trabajo regionales y haz clic en Siguiente.
  6. Haz clic en Configurar.

Configuración básica

  1. Ingresa un Nombre para el balanceador de cargas, tutorial-url-maps.
  2. En la lista Región, selecciona us-west1.
  3. En la lista Red, selecciona lb-network (de Proyecto: SERVICE_PROJECT_1_ID).

    Si ves una advertencia sobre la subred de solo proxy que se requiere en la red de VPC compartida, confirma que el administrador del proyecto host haya creado proxy-only-subnet en la región us-west1 en la red de VPC compartida lb-network. La creación del balanceador de cargas tendrá éxito incluso si no tienes permiso para ver la subred de solo proxy en esta página.

  4. Mantén la ventana abierta para continuar.

Configure el backend

  1. Haga clic en Configuración de backend.
  2. Haz clic en Servicios de backend entre proyectos.
  3. En el campo ID del proyecto, ingresa el ID del proyecto para el proyecto de servicio 2.
  4. En el campo Nombre del servicio de backend, ingresa el nombre del servicio de backend del proyecto de servicio 2 que deseas usar. En este ejemplo, es tutorial-backend-service-sp2.
  5. Haz clic en Agregar servicio de backend.
  6. En el campo Project ID, ingresa el ID del proyecto para el proyecto de servicio 3.
  7. En el campo Nombre del servicio de backend, ingresa el nombre del servicio de backend del proyecto de servicio 3 que deseas usar. En este ejemplo, es tutorial-backend-service-sp3.
  8. Haz clic en Agregar servicio de backend.

Configura las reglas de enrutamiento

  1. Haz clic en Reglas de enrutamiento.
  2. En la sección Reglas de host y ruta de acceso, en el campo Host 2, ingresa *.
  3. En el campo Rutas de acceso 2, ingresa /*.
  4. En la lista desplegable Backend 2, selecciona tutorial-backend-service-sp2.
  5. Haz clic en Agrega la regla de host y de ruta.
  6. En el campo Host 3, ingresa tutorial-host.
  7. En el campo Paths 3, ingresa /*.
  8. En la lista desplegable Backend 3, selecciona tutorial-backend-service-sp3.

  9. Revisa que aparezca una marca de verificación azul a la izquierda de Reglas de host y ruta y haz clic en el botón Actualizar.

    Para obtener información sobre la administración del tráfico, consulta Configura la administración del tráfico.

Configura el frontend

Para que el servicio entre proyectos funcione, el frontend debe usar la misma red (lb-network) del proyecto host de VPC compartida que se usó para crear el servicio de backend.

  1. Haga clic en Configuración de frontend.
  2. Ingresa un nombre para la regla de reenvío: l7-ilb-forwarding-rule.
  3. Configura el Protocolo en HTTP.
  4. Establece Subred en lb-frontend-and-backend-subnet. No selecciones la subred de solo proxy para el frontend, incluso si es una opción en la lista.
  5. Configura el Puerto en 80.
  6. En el campo Dirección IP, conserva la opción predeterminada, Efímera (automática).
  7. Haz clic en Listo.

Revise y finalice la configuración

  • Haz clic en Crear.

gcloud

  1. Selecciona el proyecto de servicio que creaste:

    gcloud config set project SERVICE_PROJECT_1_ID

  2. Crea el mapa de URL, tutorial-url-maps, y configura el servicio predeterminado como el servicio de backend creado en el proyecto de servicio 1:

    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
    

    Reemplaza lo siguiente:

    • SERVICE_PROJECT_2_ID: Es el ID del proyecto de servicio 2, en el que se crean los backends del balanceador de cargas y el servicio de backend.
    • SERVICE_PROJECT_1_ID: Es el ID del proyecto de servicio 1, en el que se crea el frontend del balanceador de cargas.
  3. Crea el proxy de destino, 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. Crea la regla de reenvío l7-ilb-forwarding-rule para controlar el tráfico HTTP. Para que el servicio entre proyectos funcione, la regla de reenvío debe usar la misma red (lb-network) del proyecto host de VPC compartida que se usó para crear el servicio de backend.

    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. Para enviar tráfico al servicio de backend, vincula el mapa de URL con el servicio de backend. Para obtener más información, consulta Usa mapas de URL.

    1. Vincula el servicio de backend tutorial-backend-service-sp2 en el proyecto de servicio 2 con el mapa de URL, tutorial-url-maps, y el nombre del comparador de rutas de acceso, 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. Vincula el servicio de backend, tutorial-backend-service-sp3, en el proyecto de servicio 3 con el mapa de URL, tutorial-url-maps, y el nombre del comparador de rutas, tutorial-path-matcher-sp3. Agrega una regla de host nueva, tutorial-host, con los hosts determinados para que el comparador de rutas de acceso esté vinculado a la regla de host nueva.

      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
      

Prueba el balanceador de cargas

Para probar el balanceador de cargas, primero debes crear una VM de cliente de muestra. Luego, establece una sesión SSH con la VM y envía tráfico desde esta VM al balanceador de cargas.

Crea una instancia de VM de prueba

Los clientes pueden estar ubicados en el proyecto host de la VPC compartida o en cualquier proyecto de servicio conectado. En este ejemplo, probarás que el balanceador de cargas funcione mediante la implementación de una VM de cliente en el proyecto de servicio 1 que se designa como el proyecto host de VPC compartida. El cliente debe usar la misma red de VPC compartida y estar en la misma región que el balanceador de cargas.

Todos los pasos de esta sección deben realizarse en el proyecto de servicio 2.

Console

  1. En la consola de Google Cloud , ve a la página Instancias de VM:

    Ir a Instancias de VM

  2. Haz clic en Crear instancia.

  3. En el campo Nombre, ingresa client-vm.

  4. Establece la Zona en us-west1-b.

  5. Haz clic en Opciones avanzadas y, luego, en Herramientas de redes.

  6. Ingresa las siguientes etiquetas de red: allow-ssh,load-balanced-backend.

  7. En la sección Interfaces de red, selecciona Redes compartidas conmigo (del proyecto host: SERVICE_PROJECT_1_ID).

  8. Selecciona la subred lb-frontend-and-backend-subnet de la red lb-network.

  9. Haz clic en Crear.

gcloud

Crea una instancia de VM de prueba.

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

Envía tráfico al balanceador de cargas

Usa SSH para conectarte a la instancia que acabas de crear y probar que los servicios HTTP(S) en los backends sean accesibles a través de la dirección IP de la regla de reenvío del balanceador de cargas de aplicaciones interno y que las cargas del tráfico se balanceen entre las instancias de backend.

  1. Recupera el valor de la dirección IP del balanceador de cargas:

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

    Verás un resultado similar al siguiente:

    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
    

    Copia el ADDRESS/RANGE del servicio, por ejemplo, 10.1.2.2, del resultado para usarlo en los siguientes pasos.

  2. Conéctate a la instancia de cliente con SSH:

    gcloud compute ssh client-vm \
       --zone=us-west1-b \
       --project=SERVICE_PROJECT_2_ID
    
  3. Verifica que la dirección IP del balanceador de cargas entregue su nombre de host:

    1. Verifica que la dirección IP entregue su nombre de host en el proyecto de servicio 2:

      curl 10.1.2.2
      

      Verás un resultado similar al siguiente:

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

    2. Verifica que la dirección IP entregue su nombre de host en el proyecto de servicio 3:

      curl -H "Host: tutorial-host" 10.1.2.2
      

      Verás un resultado similar al siguiente:

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

Otorga permisos de IAM

Proporciona los roles y permisos de IAM adecuados al host y los proyectos de servicio de App Hub.

Console

  1. En la consola de Google Cloud , ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona el proyecto host de App Hub.

  3. En la consola de Google Cloud , ve a la página IAM.

    Ir a IAM

  4. Haz clic en Otorgar acceso. Se abrirá el panel Otorgar acceso.

  5. En el campo Principales nuevas, ingresa la dirección de correo electrónico de la persona que administrará App Hub, el rol de Administrador de App Hub en el proyecto de host de App Hub.

  6. Haz clic en Seleccionar un rol y, en el campo Filtro, ingresa App Hub.

  7. Selecciona el rol Administrador de App Hub y haz clic en Guardar.

  8. En cada uno de los proyectos de servicio de App Hub, otorga el rol de administrador de App Hub al mismo usuario.

gcloud

  1. Para otorgar los roles a las personas que usarán App Hub, repite el siguiente comando y reemplaza los roles de IAM según sea necesario. Para obtener más información, consulta Roles y permisos de App Hub.

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

    Reemplaza HOST_PROJECT_ADMIN por el usuario que tiene el rol de administrador de App Hub en el proyecto host de App Hub. Este valor tiene el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.

  2. Otorga el rol de administrador de App Hub en el proyecto de servicio a las personas que administran App Hub. Debe tener el rol de administrador de App Hub para agregar proyectos de servicio al proyecto host. Necesitas al menos una persona con este rol para cada proyecto de servicio.

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

    Reemplaza SERVICE_PROJECT_ID por el ID de los proyectos de servicio.

Cómo adjuntar los proyectos de servicio

Los proyectos de servicio son proyectos de Google Cloud que contienen recursos de infraestructura que puedes registrar en una aplicación de App Hub. Para obtener más información, consulta Servicios de proyectos. Adjunta los proyectos de servicio en los que implementaste los recursos al proyecto host de App Hub.

Console

  1. En la consola de Google Cloud , ve a la página Configuración de App Hub.

    Ir a la configuración

  2. En la página Configuración, haz clic en Vincular proyectos.

  3. En el panel que se abre, busca proyectos en la lista que se muestra y selecciona las casillas de verificación de los proyectos que deseas agregar como proyectos de servicio.

  4. Haz clic en Seleccionar. En la tabla Proyectos de servicio adjuntos, se muestran los proyectos de servicio seleccionados.

  5. Haz clic en Cerrar.

gcloud

  1. Vincula los proyectos de servicio 1, 2 y 3 a tu proyecto host de App Hub.

    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. Confirma que adjuntaste los proyectos de servicio de App Hub al proyecto host de App Hub:

    gcloud apphub service-projects list --project=HOST_PROJECT_ID
    

Después de conectar el proyecto de servicio al proyecto host de App Hub, puedes ver todos los recursos de Google Cloud del proyecto de servicio conectado como servicios y cargas de trabajo descubiertos de App Hub. Para obtener más información sobre cómo ver estos servicios y cargas de trabajo descubiertos, consulta Cómo ver aplicaciones, servicios y cargas de trabajo existentes.

Crea una aplicación

Crea una aplicación que sea el contenedor de tus servicios y cargas de trabajo. Cuando creas una aplicación, puedes asignar propiedades inmutables, como un tipo de alcance o una ubicación desde la que deseas registrar recursos y atributos variables, como importancia y entorno. Puedes usar los atributos de variable para filtrar las aplicaciones. Para obtener más información, consulta Propiedades y atributos.

En este instructivo, crearás una aplicación global para ayudarte a administrar recursos globales y regionales en una sola aplicación. Si deseas agrupar tus recursos de una región específica, puedes crear una aplicación regional y registrar estos recursos. Para obtener más información sobre cómo crear una aplicación regional, consulta Cómo configurar App Hub.

Console

  1. Asegúrate de que estás en el proyecto host de App Hub.
  2. En la consola de Google Cloud , ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  3. Haz clic en Crear aplicación.

  4. En la página Crear aplicación, en el panel Elige el nombre y la región de la aplicación, selecciona Global.

  5. En el campo Nombre de la aplicación, ingresa tutorial-application. Este nombre es un identificador único y es inmutable después de crear la aplicación.

  6. Ingresa un Nombre visible, Tutorial, y haz clic en Continuar. Este es un nombre fácil de usar que puedes actualizar. Para obtener más información, consulta Actualiza una aplicación existente.

  7. En el panel Agregar atributos, en la lista Criticidad, selecciona Alta. La importancia indica qué tan importante es una aplicación, un servicio o una carga de trabajo para las operaciones de tu empresa.

  8. En el campo Entorno, para indicar la etapa del ciclo de vida del software, selecciona Producción.

  9. Haga clic en Continuar.

  10. En el panel Agregar propietarios, agrega los siguientes detalles para los propietarios desarrolladores, los propietarios operadores y los propietarios de la empresa. Ten en cuenta que debes ingresar la dirección de correo electrónico del propietario si agregas un nombre visible.

    1. Ingresa el nombre visible de un propietario.
    2. Ingresa la dirección de correo electrónico del propietario. Este valor debe tener el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.
  11. Repite estos pasos para cada desarrollador, operador y propietario de la empresa.

  12. Haz clic en Crear.

Se creará la aplicación nueva y aparecerá en la página Aplicaciones. Ten en cuenta que solo la regla de reenvío, el mapa de URL, el servicio de backend y el grupo de instancias administrado (MIG) estarán disponibles como recursos descubiertos en la aplicación de App Hub. Para obtener más información, consulta conceptos y modelo de datos.

gcloud

  1. Selecciona el proyecto host de App Hub que creaste:

    gcloud config set project HOST_PROJECT_ID
  2. Crea una aplicación nueva llamada tutorial-application en la región global y asígnale un nombre visible, Tutorial. Este nombre de aplicación, tutorial-application, es un identificador único y es inmutable después de crear la aplicación. El nombre visible,Tutorial, es un nombre fácil de usar que puedes actualizar. Para obtener más información, consulta Actualiza una aplicación existente.

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=GLOBAL \
        --project=HOST_PROJECT_ID \
        --location=global
    
  3. Enumera las aplicaciones de tu proyecto host de App Hub:

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

    Verás un resultado similar al siguiente:

    ID                    DISPLAY_NAME  CREATE_TIME
    tutorial-application  Tutorial      2023-10-31T18:33:48
    
  4. Actualiza tu aplicación con los atributos criticality-type, environment-type y propietario:

    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
    

    Reemplaza lo siguiente:

    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR y DISPLAY-NAME-BUSINESS: Son los nombres visibles del desarrollador, el operador y los propietarios de la empresa, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR y EMAIL-NAME-BUSINESS: direcciones de correo electrónico del desarrollador, el operador y los propietarios de la empresa, respectivamente. Estos valores deben tener el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.

    Notas:

    • criticality-type: Indica qué tan importante es una aplicación, un servicio o una carga de trabajo para las operaciones de tu empresa.
    • environment-type: Indica las etapas del ciclo de vida del software.
  5. Obtén detalles de la aplicación que creaste:

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

    El comando muestra información en formato YAML, similar a la siguiente:

    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'
    

Registra servicios y cargas de trabajo

Cuando registras servicios y cargas de trabajo, los agregas a una aplicación que te permite supervisar los recursos agregados.

Console

  1. En la consola de Google Cloud , ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  2. Haz clic en el nombre de tu aplicación, Instructivo. La pestaña Servicios y cargas de trabajo se muestra con una lista de los servicios y las cargas de trabajo registrados que se encuentran en tus proyectos de App Hub.

  3. Registra un servicio:

    1. En la pestaña Servicios y cargas de trabajo, haz clic en Registrar servicio o carga de trabajo.
    2. En la página Registrar servicio o carga de trabajo, en el panel Seleccionar recurso, haz clic en Explorar para seleccionar el servicio o la carga de trabajo como Recurso.
    3. En el panel Seleccionar recurso, elige el Nombre del servicio, tutorial-backend-service-sp2, y haz clic en Seleccionar.
    4. En el panel Seleccionar recurso, ingresa el Nombre del recurso, tutorial-service-backend-sp2.
    5. Ingresa un Nombre visible, Backend service (SP2), y haz clic en Continuar.
    6. En el panel Agregar atributos, en la lista Criticidad, para indicar la importancia de la aplicación, selecciona Alta.
    7. En el campo Entorno, para indicar la etapa del ciclo de vida del software, selecciona Producción.
    8. Haga clic en Continuar.
    9. En el panel Agregar propietarios, agrega los siguientes detalles según sea necesario para los propietarios desarrolladores, los propietarios operadores y los propietarios de la empresa. Ten en cuenta que debes ingresar la dirección de correo electrónico del propietario si agregas un nombre visible.
      1. Ingresa el nombre visible de un propietario.
      2. Ingresa la dirección de correo electrónico del propietario. Este valor debe tener el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.
    10. Repite estos pasos para cada desarrollador, operador y propietario de la empresa.
    11. Haz clic en Register.

    En la pestaña Servicios y cargas de trabajo, en la sección Servicios y cargas de trabajo registrados, puedes ver el servicio nuevo que agregaste.

  4. Repite los pasos anteriores para registrar los otros servicios como tutorial-service-backend-sp3, tutorial-service-forwarding-rule y tutorial-service-url-map, respectivamente.
  5. Para registrar una carga de trabajo, repite los pasos anteriores para registrar un servicio con las siguientes excepciones:
    1. En el panel Register service or workload, en la sección Choose service or workload, selecciona el Nombre de la carga de trabajo, tutorial-sp2-mig-a, y haz clic en Continue.
    2. En el panel Seleccionar recurso, ingresa el Nombre del recurso, tutorial-workload-sp2-mig-a.
    3. Ingresa un Nombre visible, Instance group - A (SP2), y haz clic en Continuar.
  6. Repite los pasos anteriores para registrar las otras cargas de trabajo como tutorial-workload-sp2-mig-a, tutorial-workload-sp2-mig-b, tutorial-workload-sp3-mig-a y tutorial-workload-sp3-mig-b, respectivamente.

gcloud

  1. Agrega a una persona con permisos de editor de App Hub:

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

    Reemplaza APP_HUB_EDITOR por el usuario que tiene el rol de editor de App Hub en el proyecto de host de App Hub. Este valor tiene el formato username@yourdomain, por ejemplo, 222larabrown@gmail.com.

  2. Muestra una lista de todos los servicios descubiertos en el proyecto host de App Hub. Este comando muestra los servicios que están disponibles para registrarse en una aplicación.

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

    Verás un resultado similar al siguiente:

    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'}
    

    Copia los ID del servicio, por ejemplo, BACKEND_SERVICE_SP2_ID, del resultado para usarlos en el siguiente paso.

  3. Registra los servicios del paso anterior en tu aplicación. Copia los IDs de servicio del campo de salida del paso anterior.

    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
    

    Reemplaza lo siguiente:

    • BACKEND_SERVICE_SP2_ID: Es el servicio ID del servicio de backend del proyecto de servicio 2 que deseas registrar.
    • BACKEND_SERVICE_SP3_ID: Es el servicio ID del servicio de backend del proyecto de servicio 3 que deseas registrar.
    • FORWARDING_RULE_SERVICE_ID: El servicio ID de la regla de reenvío del proyecto de servicio 1 que deseas registrar.
    • URL_MAP_SERVICE_ID: El servicio ID del mapa de URL del proyecto de servicio 1 que deseas registrar.
  4. Enumera todos los servicios registrados en la aplicación:

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

    Verás un resultado similar al siguiente:

    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
    
    Los servicios registrados, pero separados, se indican con un valor vacío en el campo SERVICE_REFERENCE. Para obtener más información sobre los estados de registro, consulta las propiedades y los atributos de App Hub.

  5. Enumera todas las cargas de trabajo descubiertas en el proyecto host de App Hub. Este comando muestra las cargas de trabajo disponibles para registrarse en una aplicación.

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

    Verás un resultado similar al siguiente:

    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'}
    
    Copia el ID de la carga de trabajo del resultado para usarlo en el proximo paso.

  6. Registra las cargas de trabajo del paso anterior en tu aplicación. Copia el ID de la carga de trabajo del campo de salida del paso anterior.

    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
    

    Reemplaza lo siguiente:

    • INSTANCE_GROUP_SP3_A_ID, INSTANCE_GROUP_SP3_B_ID: Los ID de la carga de trabajo de los grupos de instancias administradas del proyecto de servicio 3 que deseas registrar.
    • INSTANCE_GROUP_SP2_A_ID, INSTANCE_GROUP_SP2_B_ID: Los ID de la carga de trabajo de los grupos de instancias administradas del proyecto de servicio 2 que deseas registrar.
  7. Enumera todas las cargas de trabajo registradas en la aplicación:

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

    Verás un resultado similar al siguiente:

    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
    
    Las cargas de trabajo registradas, pero separadas, se indican con un valor vacío en el campo WORKLOAD_REFERENCE. Para obtener más información sobre los estados de registro, consulta las propiedades y los atributos de App Hub.

Cómo ver todos los servicios y las cargas de trabajo

Puedes ver los detalles de los servicios y las cargas de trabajo desde los proyectos de servicio que están adjuntos al proyecto host de App Hub.

  1. En la consola de Google Cloud , ve a la página Servicios y cargas de trabajo del App Hub.

    Ir a Servicios y cargas de trabajo

    Se muestran todos los servicios y las cargas de trabajo de los proyectos de servicio de App Hub adjuntos.

  2. En la lista Región, selecciona global. La carga de trabajo del grupo de instancias de la carga de trabajo se muestra con detalles como Tipo de App Hub, Importancia y Registrado en.

  3. Para filtrar los servicios o las cargas de trabajo según su estado, sigue estos pasos:

    1. En el campo Filtro, selecciona filtros, como Estado de registro.
    2. Haz clic en Registered. Aparecerá una lista de servicios y cargas de trabajo registrados en la aplicación.

Consulta las métricas de las aplicaciones

Puedes ver las métricas del sistema de las aplicaciones creadas en tu proyecto de host de App Hub. Estas métricas corresponden a los indicadores de oro: tráfico, errores, latencia y saturación que ayudan a supervisar el rendimiento y el estado de la aplicación.

  1. En la consola de Google Cloud , ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  2. Haz clic en el nombre de la aplicación, Tutorial.

    La pestaña Servicios y cargas de trabajo se muestra con los metadatos de los servicios y las cargas de trabajo registrados en tu aplicación.

  3. Para ver las métricas del sistema de los servicios y las cargas de trabajo registrados, haz clic en Métricas.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.

Borra los recursos de App Hub

Console

  1. En la consola de Google Cloud , ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  2. Haz clic en el nombre de una aplicación, Instructivo.

  3. En la pestaña Servicios y cargas de trabajo, en la sección Servicios y cargas de trabajo registrados, haz clic en el nombre de un servicio.

  4. En la página Servicios y cargas de trabajo, haz clic en Cancelar registro.

    Una alerta notifica que el servicio no está registrado.

  5. En la pestaña Servicios y cargas de trabajo, en la sección Servicios y cargas de trabajo registrados, haz clic en el nombre de una carga de trabajo.

  6. En la pestaña Detalles, haz clic en Cancelar registro.

    Una alerta notifica que la carga de trabajo no está registrada.

  7. Ve a la página Aplicaciones de App Hub.

    Ir a Aplicaciones

  8. Haz clic en el nombre de una aplicación.

  9. En la página tutorial-application, haz clic en Borrar.

  10. En la consola de Google Cloud , ve a la página Configuración de App Hub.

    Ir a la configuración

  11. En la página Configuración, selecciona la casilla de verificación del proyecto de servicio que deseas quitar del proyecto de host de App Hub.

  12. Haz clic en Detach projects.

gcloud

  1. Muestra una lista de los servicios registrados en la aplicación:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    
  2. Cancela el registro de los servicios de la aplicación:

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

    SERVICE_NAME por el nombre del servicio Los servicios ahora son servicios descubiertos que se pueden registrar en la aplicación.

  3. Enumera las cargas de trabajo registradas en la aplicación:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    
  4. Cancela el registro de la carga de trabajo de la aplicación:

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

    Reemplaza WORKLOAD_NAME por el nombre de tu carga de trabajo. La carga de trabajo ahora es una carga de trabajo descubierta que se puede registrar en la aplicación.

  5. Borra la aplicación:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=global
    
  6. Quita los proyectos de servicio del proyecto host de App Hub:

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

    Reemplaza SERVICE_PROJECT_ID por los IDs de los proyectos de servicio 1, 2 y 3.

Borrar la implementación

Cuando ya no necesites la solución, borra todos los recursos que creaste para evitar que se sigan facturando.

Para obtener más información, consulta Cómo limpiar la configuración del balanceador de cargas.

Borra el proyecto

Console

  1. En la consola de Google Cloud , ve a la página Administrar recursos.

    Ir a Administrar recursos

  2. En la lista de proyectos, selecciona el proyecto que quieres borrar y haz clic en Borrar.
  3. En el cuadro de diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo.

gcloud

Borra un proyecto de Google Cloud :

gcloud projects delete PROJECT_ID

Reemplaza PROJECT_ID por los IDs del proyecto de servicio o host.

¿Qué sigue?