En este tutorial se explica cómo configurar una aplicación App Hub en un solo proyecto que actúe como proyecto host y de servicio de App Hub. En un proyecto de servicio, despliega un grupo de instancias gestionado (MIG) con balanceo de carga y vincula el proyecto de servicio al proyecto del host de App Hub. A continuación, en una aplicación del proyecto host de App Hub, registra y monitoriza todos los recursos de infraestructura del proyecto 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
En este tutorial se explica cómo completar las siguientes tareas:- Crea o selecciona un Google Cloud proyecto. Este proyecto es tu proyecto de host y de servicio de App Hub. En este proyecto, habilita la API App Hub.
En este proyecto, usa Terraform para desplegar una red de VPC, un balanceador de carga de aplicaciones externo regional y un backend de MIG para el balanceador de carga. El balanceador de carga de aplicación externo regional incluye los siguientes recursos:
- Comprobación del estado de HTTP
- Regla de reenvío
- Mapa de URLs
- Proxy de destino
- Servicio de backend con un grupo de instancias gestionado como backend
- Certificado SSL (para HTTPS)
En App Hub, solo estarán disponibles como recursos detectados la regla de reenvío, el mapa de URLs, el servicio de backend y el MIG. Para obtener más información, consulta los conceptos y el modelo de datos.
Asigna los roles y permisos adecuados a este proyecto para que actúe como proyecto host de App Hub.
Vincula el proyecto del host de App Hub como proyecto de servicio de App Hub para descubrir recursos Google Cloud del proyecto de servicio como servicios y cargas de trabajo descubiertos.
Crea una aplicación regional de App Hub en el proyecto host de App Hub.
Registre los servicios detectados y una carga de trabajo del proyecto de servicio en la aplicación App Hub y asigne atributos.
Consulta los detalles de los servicios y las cargas de trabajo registrados en App Hub.
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
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 completar este tutorial, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en tu proyecto:
-
Administrador de Uso de Servicio (
roles/serviceusage.services.enable
) -
Administrador de cuentas de servicio (
roles/iam.serviceAccounts.create
) -
Administrador de gestión de identidades y accesos del proyecto (
roles/resourcemanager.projectIamAdmin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
Administrador de App Hub (
roles/apphub.admin
)
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.
Consola
En la Google Cloud consola, ve a la página del selector de proyectos.
Seleccione o cree un Google Cloud proyecto para que sea el proyecto host de App Hub.
-
Enable the App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager, 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 theserviceusage.services.enable
permission. Learn how to grant roles.
gcloud
-
In the Google Cloud console, 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.
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
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
Habilita las APIs App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager y Service Usage:
gcloud services enable apphub.googleapis.com \ cloudresourcemanager.googleapis.com \ compute.googleapis.com \ config.googleapis.com \ serviceusage.googleapis.com
Preparar el entorno
Para ayudarte a desplegar esta solución con el mínimo esfuerzo, se proporciona una configuración de Terraform en GitHub. La configuración de Terraform define todos los Google Cloud recursos necesarios para la solución. Descarga la configuración de Terraform de GitHub, personaliza el código según sea necesario y, a continuación, implementa la solución con la CLI de Terraform. Una vez que hayas desplegado la solución, podrás seguir usando Terraform para gestionarla.
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.
El usuario hace una solicitud a la aplicación, que está desplegada en Compute Engine. Cloud Load Balancing recibe esta solicitud.
Cloud Load Balancing dirige el tráfico a los grupos de instancias gestionados de Compute Engine mediante la información de la regla de reenvío, el mapa de URLs y el servicio de backend.
Configurar el cliente de Terraform
Puedes ejecutar Terraform en Cloud Shell o en tu host local. En este tutorial se describe cómo ejecutar Terraform en Cloud Shell, que tiene Terraform preinstalado y configurado para autenticarse con Google Cloud.
El código de Terraform de esta solución está disponible en un repositorio de GitHub.
En Cloud Shell, clona el repositorio de GitHub en Cloud Shell.
git clone https://github.com/terraform-google-modules/terraform-docs-samples
En Cloud Shell, comprueba si el directorio de trabajo actual es
terraform-docs-samples/lb/regional_external_http_load_balancer
. Este es el directorio que contiene los archivos de configuración de Terraform de la solución. Si necesitas cambiar a ese directorio, ejecuta el siguiente comando:cd terraform-docs-samples/lb/regional_external_http_load_balancer
Inicializa Terraform ejecutando el siguiente comando:
terraform init
Espera hasta que veas el siguiente mensaje:
Terraform has been successfully initialized!
Validar y revisar la configuración de Terraform
Asegúrate de que el directorio de trabajo actual sea
terraform-docs-samples/lb/regional_external_http_load_balancer
. Si no es así, ve a ese directorio.Verifica que la configuración de Terraform no tenga errores:
terraform validate
Si el comando devuelve algún error, haz las correcciones necesarias en la configuración y vuelve a ejecutar el comando
terraform validate
. Repite este paso hasta que el comando devuelva el siguiente mensaje:Success! The configuration is valid.
Revisa los recursos definidos en la configuración:
terraform plan
El resultado del comando
terraform plan
es una lista de los recursos que Terraform aprovisiona cuando aplicas la configuración.Si quieres hacer algún cambio, edita la configuración y vuelve a ejecutar los comandos
terraform validate
yterraform plan
.
Aprovisionar los recursos
Cuando no sea necesario hacer más cambios en la configuración de Terraform, implementa los recursos.
Asegúrate de que el directorio de trabajo actual sea
terraform-docs-samples/lb/regional_external_http_load_balancer
. Si no es así, ve a ese directorio.Aplica la configuración de Terraform:
terraform apply
Terraform muestra una lista de los recursos que se crearán.
Cuando se te pida que realices las acciones, escribe
yes
.Terraform muestra mensajes que indican el progreso de la implementación.
Si no se puede completar la implementación, Terraform muestra los errores que han provocado el fallo. Revisa los mensajes de error y actualiza la configuración para corregirlos. A continuación, vuelve a ejecutar el comando
terraform apply
.Una vez que se hayan creado todos los recursos, Terraform mostrará el siguiente mensaje:
Apply complete!
Espera hasta que Terraform muestre el mensaje "Apply complete!".
Cloud Load Balancing distribuye el tráfico a la regla de reenvío, el mapa de URLs, el servicio de backend y un MIG de Compute Engine. El servicio de backend, el mapa de URLs y las reglas de reenvío se convierten en servicios detectados en el proyecto host de App Hub. La MIG de Compute Engine se convierte en una carga de trabajo detectada en el proyecto host de App Hub.
Cuando ya no necesites la solución, puedes eliminar la implementación para evitar que se te siga facturando por los Google Cloud recursos. Para obtener más información, consulta Eliminar la implementación.
Conceder permisos de gestión de identidades y accesos
Proporciona los roles y permisos de gestión de identidades y accesos adecuados al proyecto host de App Hub.
Consola
Para obtener los permisos que necesitas para completar este tutorial, pide a tu administrador que te conceda los roles de gestión de identidades y accesos necesarios en tu proyecto:
En la consola, ve a la página Gestión de identidades y accesos. Google Cloud
Haz clic en
Conceder acceso. Se abrirá el panel Dar acceso.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.
Haz clic en Seleccionar un rol y, en el campo Filtro, introduce
App Hub
.Selecciona el rol Administrador del centro de aplicaciones.
Haz clic en Añadir otro rol y, en la lista Seleccionar un rol, selecciona Visor de Monitoring.
Haz clic en Guardar.
gcloud
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. Este valor tiene el formatousername@yourdomain
; por ejemplo,222larabrown@gmail.com
.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. En este ejemplo, el proyecto host actúa como 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 nombre de la HOST_PROJECT_ID.Concede el rol Lector de Monitoring en el proyecto host a las personas que administran App Hub. Deben tener el rol Lector de Monitoring en el proyecto host para ver las métricas.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/monitoring.viewer'
Vincular un proyecto 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. En este tutorial, como solo tenemos un proyecto, adjunta el proyecto en el que has implementado los recursos como proyecto de servicio de App Hub.
Consola
En la Google Cloud consola, ve a la página Configuración de App Hub.
En la página Configuración, haz clic en Asociar proyectos.
En el panel que se abre, busca proyectos en la lista que se muestra y marca las casillas de los proyectos de servicio de App Hub.
Haz clic en Seleccionar. En la tabla Proyectos de servicio vinculados se muestra el proyecto del host seleccionado como proyecto de servicio.
Haz clic en Cerrar.
gcloud
Añade tu proyecto del host como proyecto de servicio al proyecto del host de App Hub.
gcloud apphub service-projects add HOST_PROJECT_ID \ --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 Regional para gestionar recursos de una región específica. Si tienes Google Cloud recursos en los proyectos de servicio de App Hub adjuntos que se han desplegado a nivel global o en varias regiones, puedes crear una aplicación Global y registrar estos recursos. Para obtener más información sobre cómo crear una aplicación global, consulta el artículo Configurar el centro de aplicaciones.
Consola
- Asegúrate de que estás en el proyecto host de App Hub.
En la Google Cloud consola, ve a la página Aplicaciones del centro de aplicaciones.
Haz clic en Crear aplicación.
En la página Crear aplicación, en el panel Elegir región y nombre de la aplicación, selecciona Regional.
En la lista Región, selecciona us-west1.
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.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.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.
En el campo Entorno, seleccione Producción para indicar la fase del ciclo de vida del software.
Haz clic en Continuar.
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.
- Introduce el nombre visible del propietario.
- Introduce la dirección de correo del propietario. Este valor debe tener el formato
username@yourdomain
; por ejemplo,222larabrown@gmail.com
.
Repite estos pasos con cada desarrollador, operador y propietario de la empresa.
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
Selecciona el proyecto host de App Hub que has creado:
gcloud config set project HOST_PROJECT_ID
Crea una aplicación llamada
tutorial-application
en la regiónus-west1
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=REGIONAL \ --project=HOST_PROJECT_ID \ --location=us-west1
Lista las aplicaciones de tu proyecto host de App Hub:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
Verá un resultado similar al siguiente:
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
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=us-west1
Haz los cambios siguientes:
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
yDISPLAY-NAME-BUSINESS
: nombres visibles del desarrollador, el operador y los propietarios de la empresa, respectivamente.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
yEMAIL-NAME-BUSINESS
: direcciones de correo del desarrollador, el operador y los propietarios de la empresa, respectivamente. Estos valores deben tener el formatousername@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.
Obtén los detalles de la aplicación que has creado:
gcloud apphub applications describe tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
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/us-west1/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
En la Google Cloud consola, ve a la página Aplicaciones del centro de aplicaciones.
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.
Registrar un servicio:
- En la pestaña Servicios y cargas de trabajo, haga clic en Registrar servicio o carga de trabajo.
- 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.
- En el panel Seleccionar recurso, elija el Nombre del servicio, l7-xlb-backend-service, y haga clic en Seleccionar.
- En el panel Seleccionar recurso, introduce el Nombre del recurso.
tutorial-service-backend
. - Introduce un Nombre visible,
Backend service
y haz clic en Continuar. - En el panel Añadir atributos, en la lista Criticidad, seleccione Alta para indicar la importancia de la aplicación.
- En el campo Entorno, seleccione Producción para indicar la fase del ciclo de vida del software.
- Haz clic en Continuar.
- 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.
- Introduce el nombre visible del propietario.
- Introduce la dirección de correo del propietario. Este valor debe tener el formato
username@yourdomain
; por ejemplo,222larabrown@gmail.com
.
- Repite estos pasos con cada desarrollador, operador y propietario de la empresa.
- 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.
Repite los pasos anteriores para registrar los demás servicios como tutorial-service-forwarding-rule y tutorial-service-url-map, respectivamente.
Para registrar una carga de trabajo, repite los pasos anteriores para registrar un servicio, con las siguientes excepciones:
- 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, l7-xlb-backend-example, y haz clic en Continuar.
- En el panel Seleccionar recurso, introduce el Nombre del recurso.
tutorial-workload-mig
. - Introduce un Nombre visible,
Workload instance group
y haz clic en Continuar. En la pestaña Servicios y cargas de trabajo, en la sección Servicios y cargas de trabajo registrados, puedes ver la carga de trabajo que has añadido.
gcloud
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 formatousername@yourdomain
. Por ejemplo:222larabrown@gmail.com
.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_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}FORWARDING_RULE_SERVICE_ID"
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}URL_MAP_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}Copia los
ID
s de servicio, por ejemplo,BACKEND_SERVICE_SP2_ID
del resultado para usarlos en el siguiente paso.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 \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='Backend service' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
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=us-west1
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=us-west1
Haz los cambios siguientes:
BACKEND_SERVICE_ID
: el servicioID
del servicio backend que quieras registrar.FORWARDING_RULE_SERVICE_ID
: el servicioID
de la regla de reenvío que quieras registrar.URL_MAP_SERVICE_ID
: el servicioID
del mapa de URLs que quieres registrar.
Lista todos los servicios registrados en la aplicación:
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Verá un resultado similar al siguiente:
Se ha registrado, pero los servicios independientes se indican con un valor vacío en el campoID DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-service-backend Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} 2024-02-13T00:31:45 tutorial-service-forwarding-rule Forwarding rule {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} 2024-02-13T00:31:45 tutorial-service-url-map URL map {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} 2024-02-13T00:31:45
SERVICE_REFERENCE
. Para obtener más información sobre los estados de registro, consulta las propiedades y los atributos de App Hub.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=us-west1
Verá un resultado similar al siguiente:
Copia el ID de carga de trabajo del resultado para usarlo en el siguiente paso.ID WORKLOAD_REFERENCE WORKLOAD_PROPERTIES
INSTANCE_GROUP_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}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.
Sustituyegcloud apphub applications workloads create tutorial-workload-mig \ --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \ --display-name='Workload instance group' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
WORKLOAD_ID
por el ID de la carga de trabajo que quieras registrar.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=us-west1
Verá un resultado similar al siguiente:
Las cargas de trabajo registradas, pero independientes, se indican con un valor vacío en el campoID DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME tutorial-workload-mig Workload instance group {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} 2024-02-13T00:31:45
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.
En la Google Cloud consola, ve a la página App Hub Servicios y cargas de trabajo.
En la lista Región, selecciona us-west1. La carga de trabajo Grupo de instancias de carga de trabajo se muestra con detalles como Tipo de App Hub, Criticidad y Registrado en.
Para filtrar los servicios o las cargas de trabajo en función de su estado, sigue estos pasos:
- En el campo Filtro, selecciona filtros como Estado del registro.
- 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:
En la consola, ve a la página Aplicaciones del centro de aplicaciones. Google Cloud
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:
- Haz clic en el nombre de la aplicación.
- 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:
- Haz clic en el nombre de la aplicación.
- En la fila que muestra el nombre del servicio o de la carga de trabajo, haga clic en
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
En la Google Cloud consola, ve a la página Centro de aplicaciones Aplicaciones.
Haz clic en el nombre de una aplicación, Tutorial.
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.
En la página Servicios y cargas de trabajo, haga clic en Anular registro.
Una alerta notifica que el servicio no está registrado.
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.
En la pestaña Detalles, haz clic en Anular registro.
Se muestra una alerta que indica que la carga de trabajo no está registrada.
Ve a la página Aplicaciones del centro de aplicaciones.
Haz clic en el nombre de una aplicación.
En la página tutorial-application, haz clic en Eliminar.
En la Google Cloud consola, ve a la página Configuración de App Hub.
En la página Configuración, marque la casilla del proyecto de servicio que quiera quitar del proyecto host de App Hub.
Haz clic en Desasociar proyectos.
gcloud
Muestra los servicios registrados en la aplicación:
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Da de baja los servicios de la aplicación:
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Sustituye
SERVICE_NAME
por el nombre de tu servicio. Los servicios ahora son servicios detectados que se pueden registrar en la aplicación.Lista las cargas de trabajo registradas en la aplicación:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
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=us-west1
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.Elimina la aplicación:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Elimina el proyecto de servicio del proyecto del host de App Hub:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
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.
Sigue este procedimiento si has desplegado la solución con la CLI de Terraform.
En Cloud Shell, comprueba que el directorio de trabajo actual sea
terraform-docs-samples/lb/regional_external_http_load_balancer
. Si no es así, ve a ese directorio.Elimina los recursos aprovisionados por Terraform:
terraform destroy
Terraform muestra una lista de los recursos que se van a destruir.
Cuando se te pida que realices las acciones, escribe
yes
.Terraform muestra mensajes que indican el progreso. Una vez que se hayan eliminado todos los recursos, Terraform mostrará el siguiente mensaje:
Destroy complete!
Cuando ya no necesites el proyecto que has usado para la solución, puedes eliminarlo. Google Cloud
Eliminar el proyecto
Consola
- En la Google Cloud consola, ve a la página Gestionar recursos.
- En la lista de proyectos, selecciona el proyecto que quieras eliminar y haz clic en Eliminar.
- 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.