Monitorizar recursos de infraestructura con una aplicación global de App Hub


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

En este tutorial se explica cómo configurar una aplicación global de App Hub para varios proyectos y, a continuación, ver los recursos de la aplicación. Si utilizas varios proyectos de servicio, puedes configurar un balanceador de carga de aplicaciones interno en un entorno de VPC compartida. A continuación, en una aplicación global del proyecto host de App Hub, registra y monitoriza todos los recursos de infraestructura de los proyectos de servicio como servicios y cargas de trabajo de App Hub.

Este tutorial está dirigido a personas que configuran y administran el centro de aplicaciones. Debes tener cierta experiencia con Cloud Load Balancing.

Objetivos

  • Configura una aplicación Global App Hub que contenga recursos de varios proyectos.
  • Monitoriza los recursos mediante métricas del sistema de la aplicación.

Costes

Para obtener una estimación del coste de los Google Cloud recursos que utiliza la solución de máquinas virtuales gestionadas con balanceo de carga, consulta la estimación precalculada en la Google Cloud calculadora de precios.

Usa la estimación como punto de partida para calcular el coste de tu implementación. Puedes modificar la estimación para reflejar los cambios de configuración que tengas previsto hacer en los recursos que se usan en la solución.

La estimación precalculada se basa en suposiciones sobre determinados factores, como los siguientes:

  • Las Google Cloud ubicaciones en las que se despliegan los recursos.
  • Tiempo durante el que se usan los recursos.

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

Antes de empezar

Antes de configurar este tutorial, decide los roles y permisos de tus proyectos y, a continuación, crea cuatro proyectos. 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 necesarios

Si eres el creador del proyecto, se te asignará el rol básico Propietario (roles/owner). De forma predeterminada, este rol de gestión de identidades y accesos (IAM) incluye los permisos necesarios para tener acceso completo a la mayoría de los recursos Google Cloud.

Si no eres el creador del proyecto, debes conceder los permisos necesarios al principal correspondiente. Por ejemplo, una entidad 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 para gestionar el acceso a un proyecto, una carpeta o una organización, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el recurso al que quieras gestionar el acceso (proyecto, carpeta u organización):

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Crear proyectos de host y de servicio de App Hub

Consola

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

    Ir al selector de proyectos

  2. Selecciona o crea un Google Cloud proyecto que será tu proyecto host de App Hub.

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

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

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

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

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    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, HOST_PROJECT_ID, que será el proyecto host de App Hub.

    • Crea un Google Cloud proyecto:

      gcloud projects create HOST_PROJECT_ID
    • Selecciona el Google Cloud proyecto que has creado:

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

  5. Habilita las APIs 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 Google Cloud nuevos 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

      Sustituye SERVICE_PROJECT_1_ID por el ID del proyecto de servicio 1.

    2. Selecciona el proyecto de servicio que has creado:

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

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

      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, habilita las APIs y define la variable de configuración.

Preparar el entorno

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

Si no es así, para configurar un balanceador de carga de aplicaciones interno en un entorno de VPC compartida, sigue estos pasos:

Cargas de trabajo y servicios de App Hub con un balanceador de carga y un grupo de instancias gestionado.
Imagen 1. Cargas de trabajo y servicios de App Hub con un balanceador de carga y grupos de instancias gestionados 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 carga con dos grupos de instancias gestionados como backends.
  3. En el proyecto de servicio 3, crea otro servicio de backend del balanceador de carga con dos grupos de instancias gestionados como backends.
  4. En el proyecto de servicio 1, crea los componentes de frontend y el mapa de URLs del balanceador de carga.

A continuación se muestra el flujo de procesamiento de solicitudes de la topología que despliega la solución de máquinas virtuales gestionadas con balanceo de carga.

  1. Desde la red de VPC compartida, la VM cliente envía una solicitud HTTP al balanceador de carga de aplicaciones interno del proyecto de servicio 1.

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

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

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

En este ejemplo se usan la siguiente red, región y subredes:

  • Red. La red se llama lb-network.

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

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

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

Configurar la subred para el frontend y los backends del balanceador de carga

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

Consola

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

    Ir a redes de VPC

  2. Haz clic en Crear red VPC.
  3. En el campo Name (Nombre), introduce lb-network.
  4. Elige Personalizado en Modo de creación de subred.
  5. En la sección Nueva subred, introduce la siguiente información:

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

    • Región: us-west1

    • Intervalo de direcciones IP: 10.1.2.0/24

  6. Haz clic en Listo.

  7. Haz clic en Crear.

gcloud

  1. Define el proyecto como Proyecto de servicio 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 de 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
    

Configurar la subred de solo proxy

Todos los balanceadores de carga regionales basados en Envoy de la us-west1 región usan la subred de solo proxy en la red de VPC lb-network. Solo puede haber una subred 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.

Consola

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

    Ir a 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, a continuación, en Añadir subred.
  4. En el panel Añadir una subred, en el campo Nombre, introduce proxy-only-subnet.
  5. En la lista Región, selecciona us-west1.
  6. En Propósito, selecciona Proxy gestionado regional.
  7. En el campo Intervalo de direcciones IP, introduce 10.129.0.0/23.
  8. Haz clic en Añadir.

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

Dar acceso a la subred backend a los administradores del proyecto de servicio

Los administradores del proyecto de servicio necesitan acceso a la subred lb-frontend-and-backend-subnet para poder aprovisionar los back-ends del balanceador de carga.

Un administrador de VPC compartida debe conceder acceso a la subred de backend a los administradores de proyectos de servicio (o a los desarrolladores que implementen recursos y backends que utilicen la subred). Para obtener instrucciones, consulta Administradores de proyectos de servicio para algunas subredes.

Configurar reglas de cortafuegos en el proyecto de servicio 1

En este ejemplo se usan las siguientes reglas de cortafuegos:

  • fw-allow-health-check. Una regla de entrada, aplicable a las instancias que se van a balancear, que permite todo el tráfico TCP de los sistemas de comprobación del estado de Google Cloud, 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. Una regla de entrada, aplicable a las instancias que se van a balancear, que permite el tráfico TCP en los puertos 80, 443 y 8080 desde los proxies gestionados del balanceador de carga. 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. Una regla de entrada aplicable a las instancias que se van a balancear de carga que permita la conectividad SSH entrante en el puerto TCP 22 desde cualquier dirección. Puedes elegir un intervalo de IPs de origen más restrictivo para esta regla. Por ejemplo, puede especificar solo los intervalos de IP del sistema desde el que inicia sesiones SSH. En este ejemplo se usa la etiqueta de destino allow-ssh para identificar las máquinas virtuales a las que se aplica la regla de cortafuegos.

Sin estas reglas de cortafuegos, la regla denegar predeterminada de entrada bloquea el tráfico entrante a las instancias de backend.

Consola

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

    Ir a Políticas de cortafuegos

  2. Haz clic en Crear regla de cortafuegos para crear la regla que permita las comprobaciones del estado: Google Cloud
    • Nombre: fw-allow-health-check
    • Red: lb-network
    • Dirección del tráfico: entrada
    • Acción tras coincidencia: permitir
    • Destinos: etiquetas de destino especificadas
    • Etiquetas de destino: load-balanced-backend
    • Filtro de origen: intervalos de IPv4
    • Intervalos 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 TCP e introduce 80 como número de puerto.
      • Como práctica recomendada, limita esta regla a los protocolos y puertos que coincidan con los que usa tu comprobación del estado. Si usas tcp:80 para el protocolo y el puerto, Google Cloud puedes usar HTTP en el puerto 80 para comunicarte con tus VMs, pero no puedes usar HTTPS en el puerto 443 para comunicarte con ellas.

  3. Haz clic en Crear.
  4. Haz clic en Crear regla de cortafuegos para crear la regla que permita las comprobaciones del estado: Google Cloud
    • Nombre: fw-allow-proxies
    • Red: lb-network
    • Dirección del tráfico: entrada
    • Acción tras coincidencia: permitir
    • Destinos: etiquetas de destino especificadas
    • Etiquetas de destino: load-balanced-backend
    • Filtro de origen: intervalos de IPv4
    • Intervalos de IPv4 de origen: 10.129.0.0/23
    • Protocolos y puertos:
      • Elige Protocolos y puertos especificados.
      • Seleccione la casilla TCP e introduzca 80, 443, 8080 en los números de puerto.
  5. Haz clic en Crear.
  6. Haz clic en Crear regla de cortafuegos para crear la regla que permita las comprobaciones del estado: Google Cloud
    • Nombre: fw-allow-ssh
    • Red: lb-network
    • Dirección del tráfico: entrada
    • Acción tras coincidencia: permitir
    • Destinos: etiquetas de destino especificadas
    • Etiquetas de destino: allow-ssh
    • Filtro de origen: intervalos de IPv4
    • Intervalos de IPv4 de origen: 0.0.0.0/0
    • Protocolos y puertos:
      • Elige Protocolos y puertos especificados.
      • Selecciona la casilla TCP e introduce 22 como número de puerto.
  7. Haz clic en Crear.

gcloud

  1. Crea la regla de cortafuegos fw-allow-health-check para permitir las comprobaciones del estadoGoogle Cloud . En este ejemplo, se permite todo el tráfico TCP de los verificadores de comprobación del estado. Sin embargo, puedes configurar un conjunto de puertos más reducido 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 cortafuegos 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 cortafuegos 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
    

Reservar 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 la dirección IP se crea en el proyecto de servicio, mientras que su valor procede del intervalo de direcciones IPv4 disponibles en la subred compartida elegida.

Para reservar una dirección IP interna independiente en el proyecto de servicio, sigue estos pasos.

Consola

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

    Ir a VPC compartida

  3. Inicia sesión como administrador de VPC compartida.

  4. Selecciona el proyecto de servicio en el 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, introduce l7-ilb-ip-address como 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 has hecho, autentícate en la CLI de Google Cloud como administrador del proyecto de servicio de VPC compartida.

    gcloud auth login SERVICE_PROJECT_ADMIN
    

    Sustituye 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
    

Puede consultar más detalles sobre cómo crear direcciones IP en la documentación del SDK.

Configurar VPC compartida en el proyecto de servicio 1

Para configurar la VPC compartida en el proyecto de servicio 1, designa el proyecto de servicio 1 como proyecto de host de la VPC compartida y los proyectos de servicio 2 y 3 como proyectos de servicio de la VPC compartida. Más adelante en este tutorial, cuando crees los back-ends de MIG en los proyectos de servicio 2 y 3, podrás usar la misma red VPC y las mismas subredes que creaste anteriormente en el proyecto de servicio 1.

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

    Consola

    1. En la consola, ve a la página Gestión de identidades y accesos. Google Cloud

      Ir a IAM

    2. Haz clic en Conceder acceso. Se abrirá el panel Dar acceso.

    3. En el campo Nuevos directores, introduce SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com.

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

      Ir al panel de control

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

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

    6. Repite los pasos anteriores para conceder 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, concede el rol Usuario de 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'
      

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

    2. En el proyecto de servicio 1, concede el rol Usuario de 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'
      

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

Crear un servicio de backend y MIGs en el proyecto de servicio 2

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

Consola

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

    Ir a Plantillas de instancia

    1. Haz clic en Crear plantilla de instancia.
    2. Introduce un nombre para la plantilla de instancia: tutorial-ig-template-sp2.
    3. En la sección Ubicación, selecciona Regional (recomendado) y us-west1(Oregón) como Región.
    4. En la sección Configuración de la máquina, selecciona N2 como serie.
    5. Asegúrate de que el disco de arranque esté configurado con 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, a continuación, en Redes.
    7. Introduce las siguientes etiquetas de red: allow-ssh,load-balanced-backend.
    8. En la sección Interfaces de red, selecciona Redes compartidas conmigo (del proyecto del host: SERVICE_PROJECT_1_ID).
    9. Selecciona la subred lb-frontend-and-backend-subnet de la red lb-network.
    10. Haz clic en Gestión. En Management (Gestión), inserta la siguiente secuencia de comandos en el campo Startup script (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 gestionado. En la Google Cloud consola, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

    1. Haz clic en Crear grupo de instancias.
    2. Elige Nuevo grupo de instancias gestionado (sin reconocimiento del estado). Para obtener más información, consulta Grupos de instancias gestionados con o sin reconocimiento del estado.
    3. Introduzca un nombre para el grupo de instancias: tutorial-sp2-mig-a.
    4. En Plantilla de instancia, selecciona tutorial-ig-template-sp2.
    5. En Ubicación, selecciona Una sola zona.
    6. En Región, selecciona us-west1.
    7. Especifica el número de instancias que quieres crear en el grupo.

      En este ejemplo, especifica las siguientes opciones para Escalado automático:

      • En Modo de autoescalado, selecciona Off:do not autoscale.
      • En Número máximo de instancias, introduce 2.
    8. Haz clic en Crear.

  3. Crea un servicio backend regional. Como parte de este paso, también crearemos la comprobación del estado y añadiremos back-ends al servicio de back-end. En la Google Cloud consola, ve a la página Backends.

    Ir a Backends

    1. Haz clic en Crear servicio de backend.
    2. En el cuadro de diálogo Crear servicio de backend, haz clic en Crear junto a Servicio de backend regional.
    3. Introduce un nombre para el servicio de backend: tutorial-backend-service-sp2.
    4. En Region (Región), selecciona us-west1.
    5. En Tipo de balanceador de carga, selecciona Balanceador de carga de aplicación interno regional (INTERNAL_MANAGED).
    6. En Tipo de backend, seleccione Grupo de instancias.
    7. En la sección Backends, define los siguientes campos:
      1. Define Grupo de instancias como tutorial-sp2-mig-a.
      2. Introduce los números de puerto: 80.
      3. En Modo de balanceo, selecciona Utilización.
      4. Haz clic en Listo.
    8. En la sección Comprobación del estado, haga clic en Crear comprobación del estado y defina los siguientes campos:
      1. Nombre: tutorial-regional-health-check
      2. Protocolo: HTTP
      3. Puerto: 80
      4. Haz clic en Guardar.
    9. Haz 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 añádelo al servicio de backend tutorial-backend-service-sp2.

gcloud

  1. Selecciona el proyecto de servicio que has creado:
    gcloud config set project SERVICE_PROJECT_2_ID
  2. Crea una plantilla de instancia 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
    

    Haz los cambios siguientes:

    • SERVICE_PROJECT_1_ID: el ID del proyecto host de la VPC compartida.
    • SERVICE_PROJECT_2_ID: el ID del proyecto de servicio en el que se están creando los backends y el servicio de backend del balanceador de carga.
  3. Crea un grupo de instancias gestionado, 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 comprobación del 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. Añade 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 gestionado, 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. Añade 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
    

Crear un servicio de backend y MIGs en el proyecto de servicio 3

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

Consola

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

    Ir a Plantillas de instancia

    1. Haz clic en Crear plantilla de instancia.
    2. Introduce un nombre para la plantilla de instancia: tutorial-ig-template-sp3.
    3. En la sección Ubicación, selecciona Regional (recomendado) y us-west1(Oregón) como Región.
    4. En la sección Configuración de la máquina, selecciona N2 como serie.
    5. Asegúrate de que el disco de arranque esté configurado con 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, a continuación, en Redes.
    7. Introduce las siguientes etiquetas de red: allow-ssh,load-balanced-backend.
    8. En la sección Interfaces de red, selecciona Redes compartidas conmigo (del proyecto del host: SERVICE_PROJECT_1_ID).
    9. Selecciona la subred lb-frontend-and-backend-subnet de la red lb-network.
    10. Haz clic en Gestión. En Management (Gestión), inserta la siguiente secuencia de comandos en el campo Startup script (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 gestionado. En la Google Cloud consola, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

    1. Haz clic en Crear grupo de instancias.
    2. Elige Nuevo grupo de instancias gestionado (sin reconocimiento del estado). Para obtener más información, consulta Grupos de instancias gestionados con o sin reconocimiento del estado.
    3. Introduzca un nombre para el grupo de instancias: tutorial-sp3-mig-a.
    4. En Plantilla de instancia, selecciona tutorial-ig-template-sp3.
    5. En Ubicación, selecciona Una sola zona.
    6. En Región, selecciona us-west1.
    7. Especifica el número de instancias que quieres crear en el grupo.

      En este ejemplo, especifica las siguientes opciones para Escalado automático:

      • En Modo de autoescalado, selecciona Off:do not autoscale.
      • En Número máximo de instancias, introduce 2.
    8. Haz clic en Crear.

  3. Crea un servicio backend regional. Como parte de este paso, también crearemos la comprobación del estado y añadiremos back-ends al servicio de back-end. En la Google Cloud consola, ve a la página Backends.

    Ir a Backends

    1. Haz clic en Crear servicio de backend.
    2. En el cuadro de diálogo Crear servicio de backend, haz clic en Crear junto a Servicio de backend regional.
    3. Introduce un nombre para el servicio de backend: tutorial-backend-service-sp3.
    4. En Region (Región), selecciona us-west1.
    5. En Tipo de balanceador de carga, selecciona Balanceador de carga de aplicación interno regional (INTERNAL_MANAGED).
    6. En Tipo de backend, seleccione Grupo de instancias.
    7. En la sección Backends, define los siguientes campos:
      1. Define Grupo de instancias como tutorial-sp3-mig-a.
      2. Introduce los números de puerto: 80.
      3. En Modo de balanceo, selecciona Utilización.
      4. Haz clic en Listo.
    8. En la sección Comprobación del estado, haga clic en Crear comprobación del estado y defina los siguientes campos:
      1. Nombre: tutorial-regional-health-check
      2. Protocolo: HTTP
      3. Puerto: 80
      4. Haz clic en Guardar.
    9. Haz 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 añádelo al servicio de backend tutorial-backend-service-sp3.

gcloud

  1. Selecciona el proyecto de servicio que has creado:
    gcloud config set project SERVICE_PROJECT_3_ID
  2. Crea una plantilla de instancia 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
    

    Haz los cambios siguientes:

    • SERVICE_PROJECT_1_ID: el ID del proyecto host de la VPC compartida.
    • SERVICE_PROJECT_3_ID: el ID del proyecto de servicio en el que se están creando los backends y el servicio de backend del balanceador de carga.
  3. Crea un grupo de instancias gestionado, 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 comprobación del 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. Añade 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 gestionado, 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. Añade 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
    

Crear el mapa de URLs 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.

Consola

Selecciona el tipo de balanceador de carga

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

    Ir a Balanceo de carga

  2. Haga clic en Crear balanceador de carga.
  3. En Tipo de balanceador de carga, selecciona Balanceador de carga de aplicación (HTTP/HTTPS) y haz clic en Siguiente.
  4. En Público o interno, selecciona Interno y haz clic en Siguiente.
  5. En Implementación en una sola región o en varias regiones, selecciona La mejor opción para cargas de trabajo regionales y haz clic en Siguiente.
  6. Haz clic en Configurar.

Configuración básica

  1. Introduce un nombre para el balanceador de carga 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 la advertencia La subred de solo proxy es obligatoria en la red VPC compartida, confirma que el administrador del proyecto host ha creado la proxy-only-subnet en la región us-west1 de la red VPC compartida lb-network. La creación del balanceador de carga se realiza correctamente aunque no tengas permiso para ver la subred solo proxy en esta página.

  4. Mantén la ventana abierta para continuar.

Configurar el backend

  1. Haz clic en Configuración de backend.
  2. Haz clic en Servicios de backend entre proyectos.
  3. En el campo ID del proyecto, introduce el ID del proyecto de Service Project 2.
  4. En el campo Nombre del servicio backend, introduce el nombre del servicio backend del proyecto de servicio 2 que quieras usar. En este ejemplo, es tutorial-backend-service-sp2.
  5. Haz clic en Añadir servicio backend.
  6. En el campo ID del proyecto, introduce el ID del proyecto del proyecto de servicio 3.
  7. En el campo Nombre del servicio backend, introduce el nombre del servicio backend del proyecto de servicio 3 que quieras usar. En este ejemplo, es tutorial-backend-service-sp3.
  8. Haz clic en Añadir servicio backend.

Configurar las reglas de enrutamiento

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

  9. Busca la marca de verificación azul situada a la izquierda de Reglas de host y ruta y haz clic en el botón Actualizar.

    Para obtener información sobre la gestión del tráfico, consulta Configurar la gestión del tráfico.

Configurar el frontend

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

  1. Haz clic en Configuración de frontend.
  2. Escribe un nombre para la regla de reenvío: l7-ilb-forwarding-rule.
  3. Define Protocol (Protocolo) como HTTP.
  4. Asigna el valor lb-frontend-and-backend-subnet a Subred. No selecciones la subred solo proxy para el frontend, aunque sea una opción de la lista.
  5. Asigna el valor 80 a Port.
  6. En el campo Dirección IP, mantén la opción predeterminada Efímera (automática).
  7. Haz clic en Listo.

Revisar y finalizar la configuración

  • Haz clic en Crear.

gcloud

  1. Selecciona el proyecto de servicio que has creado:

    gcloud config set project SERVICE_PROJECT_1_ID

  2. Crea el mapa de URLs, tutorial-url-maps, y define 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
    

    Haz los cambios siguientes:

    • SERVICE_PROJECT_2_ID: el ID del proyecto de servicio 2, donde se crean los backends del balanceador de carga y el servicio de backend.
    • SERVICE_PROJECT_1_ID: el ID del proyecto de servicio 1, donde se está creando el frontend del balanceador de carga.
  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 gestionar el tráfico HTTP. Para que la referencia de servicios entre proyectos funcione, la regla de reenvío debe usar la misma red (lb-network) del proyecto del 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 URLs con el servicio de backend. Para obtener más información, consulta Usar mapas de URLs.

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

      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
      

Probar el balanceador de carga

Para probar el balanceador de carga, primero crea una VM cliente de muestra. A continuación, establece una sesión SSH con la VM y envía tráfico desde esta VM al balanceador de carga.

Crear 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, comprobarás que el balanceador de carga funciona desplegando una VM cliente en el proyecto de servicio 1, que se ha designado como proyecto host de la VPC compartida. El cliente debe usar la misma red de VPC compartida y estar en la misma región que el balanceador de carga.

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

Consola

  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 Name (Nombre), introduce client-vm.

  4. Define la zona como us-west1-b.

  5. Haz clic en Opciones avanzadas y, a continuación, en Redes.

  6. Introduce las siguientes etiquetas de red: allow-ssh y load-balanced-backend.

  7. En la sección Interfaces de red, selecciona Redes compartidas conmigo (del proyecto del 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

Enviar tráfico al balanceador de carga

Usa SSH para conectarte a la instancia que acabas de crear y comprueba que se puede acceder a los servicios HTTP(S) de los backends a través de la dirección IP de la regla de reenvío del balanceador de carga de aplicaciones interno y que el tráfico se balancea entre las instancias de backend.

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

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

    Verá 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 servicio ADDRESS/RANGE, por ejemplo, 10.1.2.2 de la salida para usarlo en los pasos siguientes.

  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 carga esté sirviendo su nombre de host:

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

      curl 10.1.2.2
      

      Verá un resultado similar al siguiente:

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

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

      curl -H "Host: tutorial-host" 10.1.2.2
      

      Verá un resultado similar al siguiente:

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

Conceder permisos de gestión de identidades y accesos

Proporciona los roles y permisos de gestión de identidades y accesos adecuados a los proyectos de host y de servicio de App Hub.

Consola

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

    Ir al selector de proyectos

  2. Selecciona el proyecto host del centro de aplicaciones.

  3. En la consola, ve a la página Gestión de identidades y accesos. Google Cloud

    Ir a IAM

  4. Haz clic en Conceder acceso. Se abrirá el panel Dar acceso.

  5. En el campo Nuevos principales, introduce la dirección de correo de la persona que administrará App Hub, es decir, el rol Administrador de App Hub en el proyecto host de App Hub.

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

  7. Selecciona el rol Administrador del centro de aplicaciones y haz clic en Guardar.

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

gcloud

  1. Para conceder los roles a las personas que vayan a usar App Hub, repite el siguiente comando y sustituye los roles de gestión de identidades y accesos 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'

    Sustituye HOST_PROJECT_ADMIN por el usuario que tenga 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. Concede el rol de administrador de App Hub en el proyecto de servicio a las personas que administren App Hub. Deben tener el rol de administrador de App Hub para añadir proyectos de servicio al proyecto host. Necesitas al menos una persona con este rol por cada proyecto de servicio.

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

    Sustituye SERVICE_PROJECT_ID por el ID de los proyectos de servicio.

Vincular los proyectos de servicio

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

Consola

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

    Ir a Ajustes

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

  3. En el panel que se abre, busca proyectos en la lista que se muestra y marca las casillas de los proyectos que quieras añadir como proyectos de servicio.

  4. Haz clic en Seleccionar. En la tabla Attached Service Project(s) (Proyectos de servicio vinculados) 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 del 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 has asociado los proyectos de servicio de App Hub al proyecto host de App Hub:

    gcloud apphub service-projects list --project=HOST_PROJECT_ID
    

Una vez que hayas vinculado el proyecto de servicio al proyecto del host de App Hub, podrás ver todos los recursos de Google Cloud del proyecto de servicio vinculado como servicios y cargas de trabajo detectados de App Hub. Para obtener más información sobre cómo ver estos servicios y cargas de trabajo detectados, consulta Ver aplicaciones, servicios y cargas de trabajo actuales.

Crear una aplicación

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

En este tutorial, crearás una aplicación Global para gestionar recursos globales y regionales en una sola aplicación. Si quieres agrupar los recursos de una región específica, puedes crear una aplicación Regional y registrar esos recursos. Para obtener más información sobre cómo crear una aplicación regional, consulta Configurar App Hub.

Consola

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

    Ve a Aplicaciones.

  3. Haz clic en Crear aplicación.

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

  5. En el campo Nombre de la aplicación, introduce tutorial-application. Este nombre es un identificador único y no se puede cambiar después de crear la aplicación.

  6. Introduce un Nombre visible, Tutorial y haz clic en Continuar. Es un nombre fácil de usar que puedes actualizar. Para obtener más información, consulta Actualizar una aplicación.

  7. En el panel Añadir atributos, en la lista Criticidad, selecciona Alta. Criticidad: indica la importancia de una aplicación, un servicio o una carga de trabajo para las operaciones de su empresa.

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

  9. Haz clic en Continuar.

  10. En el panel Añadir propietarios, añade los siguientes detalles de los propietarios desarrolladores, los propietarios operadores y los propietarios de empresa. Ten en cuenta que debes introducir la dirección de correo del propietario si añades un nombre visible.

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

  12. Haz clic en Crear.

La nueva aplicación se crea y aparece en la página Aplicaciones. Ten en cuenta que solo la regla de reenvío, el mapa de URLs, el servicio de backend y el grupo de instancias gestionado (MIG) estarán disponibles como recursos detectados en la aplicación App Hub. Para obtener más información, consulta los conceptos y el modelo de datos.

gcloud

  1. Selecciona el proyecto host de App Hub que has creado:

    gcloud config set project HOST_PROJECT_ID
  2. Crea una aplicación 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 no se puede cambiar una vez que hayas creado la aplicación. El nombre visibleTutorial es un nombre fácil de usar que puedes actualizar. Para obtener más información, consulta Actualizar una aplicación.

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

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

    Verá 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 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
    

    Haz los cambios siguientes:

    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR y DISPLAY-NAME-BUSINESS: 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 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 la importancia de una aplicación, un servicio o una carga de trabajo para las operaciones de tu empresa.
    • environment-type: indica las fases del ciclo de vida del software.
  5. Obtén los detalles de la aplicación que has creado:

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

    El comando devuelve 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'
    

Registrar servicios y cargas de trabajo

Al registrar servicios y cargas de trabajo, se añaden a una aplicación que te permite monitorizar los recursos añadidos.

Consola

  1. En la Google Cloud consola, ve a la página Aplicaciones del centro de aplicaciones.

    Ve a Aplicaciones.

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

  3. Registrar un servicio:

    1. En la pestaña Servicios y cargas de trabajo, haga clic en Registrar servicio o carga de trabajo.
    2. En la página Registrar servicio o carga de trabajo, en el panel Seleccionar recurso, haga clic en Buscar 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, introduce el Nombre del recurso. tutorial-service-backend-sp2.
    5. Introduce un Nombre visible, Backend service (SP2) y haz clic en Continuar.
    6. En el panel Añadir atributos, en la lista Criticidad, seleccione Alta para indicar la importancia de la aplicación.
    7. En el campo Entorno, seleccione Producción para indicar la fase del ciclo de vida del software.
    8. Haz clic en Continuar.
    9. En el panel Añadir propietarios, añade los detalles necesarios para los propietarios desarrolladores, los propietarios operadores y los propietarios de la empresa. Ten en cuenta que debes introducir la dirección de correo del propietario si añades un nombre visible.
      1. Introduce el nombre visible del propietario.
      2. Introduce la dirección de correo del propietario. Este valor debe tener el formato username@yourdomain; por ejemplo, 222larabrown@gmail.com.
    10. Repite estos pasos con cada desarrollador, operador y propietario de la empresa.
    11. Haz clic en Registrarse.

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

  4. Repite los pasos anteriores para registrar los demás 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 Registrar servicio o carga de trabajo, en la sección Elegir servicio o carga de trabajo, selecciona el Nombre de la carga de trabajo, tutorial-sp2-mig-a, y haz clic en Continuar.
    2. En el panel Seleccionar recurso, introduce el Nombre del recurso. tutorial-workload-sp2-mig-a.
    3. Introduce 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. Para añadir a una persona con permisos de editor del centro de aplicaciones:

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

    Sustituye APP_HUB_EDITOR por el usuario que tenga el rol Editor de App Hub en el proyecto host de App Hub. Este valor tiene el formato username@yourdomain. Por ejemplo: 222larabrown@gmail.com.

  2. Lista de todos los servicios detectados en el proyecto host de App Hub. Este comando devuelve los servicios que se pueden registrar en una aplicación.

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

    Verá 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 IDs de 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
    

    Haz los cambios siguientes:

    • BACKEND_SERVICE_SP2_ID: el servicio ID del servicio backend del proyecto de servicio 2 que quieras registrar.
    • BACKEND_SERVICE_SP3_ID: el servicio ID del servicio backend del proyecto de servicio 3 que quieras registrar.
    • FORWARDING_RULE_SERVICE_ID: el servicio ID de la regla de reenvío del proyecto de servicio 1 que quieres registrar.
    • URL_MAP_SERVICE_ID: el servicio ID de la asignación de URLs del proyecto de servicio 1 que quieras registrar.
  4. Lista todos los servicios registrados en la aplicación:

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

    Verá 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
    
    Se ha registrado, pero los servicios independientes 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. Muestra todas las cargas de trabajo detectadas en el proyecto host de App Hub. Este comando devuelve las cargas de trabajo que se pueden registrar en una aplicación.

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

    Verá 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 carga de trabajo del resultado para usarlo en el siguiente paso.

  6. Registra las cargas de trabajo del paso anterior en tu aplicación. Copia el ID de 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
    

    Haz los cambios siguientes:

    • INSTANCE_GROUP_SP3_A_ID, INSTANCE_GROUP_SP3_B_ID: las cargas de trabajo IDs de los grupos de instancias gestionadas del proyecto de servicio 3 que quieras registrar.
    • INSTANCE_GROUP_SP2_A_ID y INSTANCE_GROUP_SP2_B_ID: las cargas de trabajo ID de los grupos de instancias gestionadas del proyecto de servicio 2 que quieras registrar.
  7. Lista de 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á 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 independientes, 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.

Ver todos los servicios y cargas de trabajo

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

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

    Ir a Servicios y cargas de trabajo

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

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

  3. Para filtrar los servicios o las cargas de trabajo en función de su estado, sigue estos pasos:

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

Monitorizar aplicaciones

Application Monitoring proporciona paneles de control preconfigurados para monitorizar los registros, las métricas y los incidentes de las aplicaciones de App Hub, así como sus servicios y cargas de trabajo registrados. Para obtener más información, consulta Monitorización de aplicaciones. Para ver estos paneles de control, siga estos pasos:

  1. En la consola, ve a la página Aplicaciones del centro de aplicaciones. Google Cloud

    Ve a Aplicaciones.

  2. Elige una de estas opciones:

    • Para ver el panel de control OOTB de nivel superior que muestra información de resumen de una lista de aplicaciones registradas en tu proyecto host o en una carpeta habilitada para aplicaciones, haz clic en Ver en Observabilidad.
    • Para ver el panel de control preconfigurado de una aplicación, sigue estos pasos:
      1. Haz clic en el nombre de la aplicación.
      2. Haz clic en Ver panel de Observabilidad.
    • Para ver el panel de control preconfigurado de un servicio o una carga de trabajo específicos, sigue estos pasos:
      1. Haz clic en el nombre de la aplicación.
      2. En la fila que muestra el nombre del servicio o de la carga de trabajo, haga clic en Icono Ver panel de observabilidad Ver panel de observabilidad.

Para obtener más información sobre cómo ver los paneles de control, consulta Ver telemetría de aplicaciones.

Limpieza

Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.

Eliminar los recursos de App Hub

Consola

  1. En la Google Cloud consola, ve a la página Centro de aplicaciones Aplicaciones.

    Ve a Aplicaciones.

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

  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, haga clic en Anular 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 Anular registro.

    Se muestra una alerta que indica que la carga de trabajo no está registrada.

  7. Ve a la página Aplicaciones del centro de aplicaciones.

    Ve a Aplicaciones.

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

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

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

    Ir a Ajustes

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

  12. Haz clic en Desasociar proyectos.

gcloud

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

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

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

    Sustituye SERVICE_NAME por el nombre de tu servicio. Los servicios ahora son servicios detectados que se pueden registrar en la aplicación.

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

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

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

    Sustituye 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. Elimina la aplicación:

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

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

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

Eliminar el despliegue

Cuando ya no necesites la solución, elimina todos los recursos para evitar que se te siga facturando por los recursos que hayas creado en ella.

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

Eliminar el proyecto

Consola

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

    Ir a Gestionar recursos

  2. En la lista de proyectos, selecciona el proyecto que quieras eliminar y haz clic en Eliminar.
  3. En el cuadro de diálogo, escribe el ID del proyecto y, a continuación, haz clic en Cerrar para eliminar el proyecto.

gcloud

Eliminar un Google Cloud proyecto:

gcloud projects delete PROJECT_ID

Sustituye PROJECT_ID por los IDs de los proyectos del host o del servicio.

Siguientes pasos