Registra recursos existentes en una aplicación

Registrar tus recursos Google Cloud existentes comoservicios ycargas de trabajo en una aplicación de App Hub te permite simplificar la administración organizando los recursos según su propósito comercial. Este enfoque proporciona visibilidad, supervisión, administración y control operativo unificados.

En esta guía, se muestra cómo agrupar los recursos Google Cloud existentes que aún no se definieron formalmente como una aplicación.

Antes de comenzar

Debes completar la configuración inicial para la administración de aplicaciones antes de organizar los recursos en aplicaciones. Por lo general, este proceso incluye los siguientes roles y pasos:

Crea una aplicación

Crea una aplicación en App Hub para que actúe como un contenedor lógico para tus recursos Google Cloud existentes:

Console

  1. En la consola de Google Cloud , usa el selector de proyectos para seleccionar tu proyecto de administración.

  2. Ve a la página Applications desde App Hub:

    Ir a Aplicaciones

  3. Haz clic en Crear aplicación.

  4. En la pestaña Detalles de la aplicación, selecciona la mejor ubicación para tu aplicación según tus requisitos de distribución geográfica:

    Para obtener más información sobre la mejor ubicación para tu aplicación, consulta Aplicaciones globales y regionales.

  5. Ingresa un nombre para tu aplicación.

    Este nombre es un identificador único que solo puede contener letras en minúscula, números o guiones. No puedes cambiar este nombre después de crear la aplicación.

  6. De manera opcional, agrega un nombre visible y una descripción para la aplicación.

    Estos no son identificadores únicos y puedes cambiarlos después de crear la aplicación.

  7. Haz clic en Continuar.

  8. En la pestaña Recursos de la aplicación, explora los recursos de infraestructura y selecciona las casillas de verificación de los recursos que deseas registrar como servicios y cargas de trabajo de la aplicación.

    Puedes seleccionar hasta 10 recursos a la vez.

  9. Haz clic en Continuar.

  10. En la pestaña Atributos y propietarios, puedes agregar atributos para la aplicación, como la importancia, el entorno y los propietarios de la aplicación.

    Puedes elegir usar los mismos atributos y propietarios para los recursos que registras en la aplicación o definirlos más adelante.

  11. Haz clic en Crear.

Cuando se crea la aplicación, en la página Aplicaciones, se muestran sus detalles, incluidos los recursos que registraste como servicios y cargas de trabajo. Después de crear la aplicación, puedes registrar más servicios y cargas de trabajo en ella.

gcloud

  1. Usa Google Cloud CLI para crear una aplicación desde tu terminal o Cloud Shell:

    gcloud apphub applications create APPLICATION_NAME \
      --project=PROJECT_ID \
      --scope-type=LOCATION \
      --location=REGION \
      --display-name=DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    Reemplaza APPLICATION_NAME por el nombre de la aplicación. Este nombre es un identificador único que solo puede contener letras en minúscula, números o guiones.

    Usa marcas opcionales, como --criticality-type, para definir los atributos de nivel superior de la aplicación y admitir la detección y la administración.

    Para las marcas obligatorias y opcionales, reemplaza lo siguiente:

    • Obligatorio: PROJECT_ID: ID del proyecto de administración.
    • Obligatorio: LOCATION: Es la ubicación de tu aplicación según tus requisitos de distribución geográfica. Usa uno de los siguientes valores:

      • REGIONAL para aplicaciones regionales
      • GLOBAL para aplicaciones globales.

      Para obtener más información sobre la mejor ubicación para tu aplicación, consulta Aplicaciones globales y regionales.

    • Obligatorio: REGION, la región específica de tu aplicación. Usa uno de los siguientes valores:

      • Si la ubicación --scope-type de tu aplicación está configurada como REGIONAL, especifica un nombre de región compatible con App Hub.
      • Si la ubicación de --scope-type para tu aplicación está establecida en GLOBAL, usa global.
    • Opcional: DISPLAY_NAME: Es el nombre visible de tu aplicación. El nombre visible no es un identificador único y puedes cambiarlo después de crear la aplicación.

    • Opcional: CRITICALITY: Nivel de importancia de la aplicación para tus operaciones. Usa uno de los siguientes valores:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • Opcional: ENVIRONMENT es la etapa del ciclo de vida del software. Usa uno de los siguientes valores:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Opcional: DEV_NAME y DEV_EMAIL: El nombre visible y la dirección de correo electrónico del propietario desarrollador, respectivamente.

    • Opcional: OPERATOR_NAME y OPERATOR_EMAIL: El nombre visible y la dirección de correo electrónico del propietario del operador, respectivamente.

    • Opcional: BUSINESS_NAME y BUSINESS_EMAIL: El nombre visible y la dirección de correo electrónico del propietario de la empresa, respectivamente.

  2. Enumera las aplicaciones de tu proyecto:

    gcloud apphub applications list \
      --project=PROJECT_ID \
      --location=REGION
    

    Debes obtener un resultado similar al siguiente:

    ID                 DISPLAY_NAME   CREATE_TIME
    APPLICATION_NAME   DISPLAY_NAME   2023-10-31T18:33:48
    

Terraform

Para crear una aplicación con Terraform, usa el recurso google_apphub_application. Este recurso te permite definir las propiedades de la aplicación, incluidos su nombre, ubicación y atributos.

En el siguiente ejemplo, se crea una aplicación regional en us-central1 con atributos definidos de criticidad, entorno y propietario:

resource "google_apphub_application" "example" {
    project        = "my-project-id"
    location       = "us-central1"
    application_id = "my-application"
    display_name   = "My Application"
    description    = "This application represents our platform."
    scope {
        type = "REGIONAL"
    }
    attributes {
        criticality {
            type = "MISSION_CRITICAL"
        }
        environment {
            type = "PRODUCTION"
        }
        business_owners {
            display_name = "Alice"
            email        = "alice@example.com"
        }
        developer_owners {
            display_name = "Bob"
            email        = "bob@example.com"
        }
        operator_owners {
            display_name = "Charlie"
            email        = "charlie@example.com"
        }
    }
}

Registra servicios y cargas de trabajo

App Hub te permite seleccionar recursos compatibles ubicados dentro del límite de administración de tu aplicación para registrarlos como servicios y cargas de trabajo. Después de crear una aplicación, puedes registrar recursos Google Cloudcomo servicios y cargas de trabajo en ella.

Solo puedes registrar servicios exclusivos en una aplicación. Sin embargo, los servicios compartidos se pueden registrar en más de una aplicación. App Hub descubrirá los servicios compartidos cuando los registres en una aplicación, incluso si ya están registrados en otra aplicación, pero es posible que no puedas modificar sus atributos.

Console

Después de crear una aplicación, puedes registrar varios recursos en ella:

  1. En la consola de Google Cloud , usa el selector de proyectos para seleccionar tu proyecto de administración.

  2. Ve a la página Applications desde App Hub:

    Ir a Aplicaciones

  3. Haz clic en el nombre de la aplicación para la que deseas registrar recursos deGoogle Cloud .

  4. En la página de la aplicación, selecciona la pestaña Servicios y cargas de trabajo.

  5. Haz clic en Registrar servicios o cargas de trabajo.

  6. En la pestaña Servicios y cargas de trabajo, explora los recursos de infraestructura y selecciona las casillas de verificación de los recursos que deseas registrar como servicios o cargas de trabajo de la aplicación.

    Puedes seleccionar hasta 10 recursos a la vez.

  7. Haz clic en Continuar.

  8. En la pestaña Atributos y propietarios, puedes agregar atributos para estos recursos, como la importancia, el entorno y los propietarios de los recursos.

    Puedes usar los mismos atributos y propietarios de la aplicación o definir atributos diferentes más adelante.

  9. Haz clic en Registrar.

En la pestaña Servicios y cargas de trabajo, se muestran todos los servicios y las cargas de trabajo registrados de la aplicación.

gcloud

App Hub te permite seleccionar recursos compatibles ubicados dentro del límite de administración de tu aplicación como servicios o cargas de trabajo. Usa Google Cloud CLI para enumerar los servicios o las cargas de trabajo que puedes registrar en la aplicación desde tu terminal o Cloud Shell. Los comandos son ligeramente diferentes para los servicios y las cargas de trabajo:

Registrar servicios

  1. Enumera los servicios disponibles a los que puedes registrar una aplicación:

    gcloud apphub discovered-services list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    Para las marcas obligatorias y opcionales, reemplaza lo siguiente:

    • Obligatorio: PROJECT_ID es el ID del proyecto de administración.
    • Obligatorio: REGION: Es la región específica de tu servicio según tu distribución geográfica. Usa uno de los siguientes valores:

    • Opcional: FILTER_EXPRESSION: Es la expresión de filtro para la marca --filter para mostrar solo los servicios de un proyecto especificado dentro del límite de administración de la aplicación o con una propiedad específica, por ejemplo:

      • service_properties.gcp_project=projects/PROJECT_ID
      • service_properties.gcp_project=projects/PROJECT_ID AND service_reference.uri~"forwardingRules"

    El resultado es similar al siguiente ejemplo.

    ID            SERVICE_REFERENCE                                                                                             SERVICE_PROPERTIES
    SERVICE_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. Copia el ID del servicio, SERVICE_ID, del resultado.

  3. Registra el servicio en tu aplicación:

    gcloud apphub applications services create SERVICE_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-service=projects/PROJECT_ID/locations/REGION/discoveredServices/SERVICE_ID \
      --display-name=SERVICE_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    Reemplaza SERVICE_NAME por el nombre que deseas usar para registrar el servicio en la aplicación.

    Usa marcas opcionales, como --criticality-type, para definir los atributos de nivel superior del servicio y admitir la detección y la administración.

    Para las marcas obligatorias y opcionales, reemplaza lo siguiente:

    • Obligatorio: PROJECT_ID es el ID del proyecto de administración.
    • Obligatorio: REGION: Es la región específica de tu servicio según tu distribución geográfica. Usa uno de los siguientes valores:

    • Obligatorio: APPLICATION_NAME: Es el nombre de la aplicación para la que deseas registrar el servicio.

    • Obligatorio: SERVICE_ID: Es el ID del servicio que copiaste del resultado anterior.

    • Opcional: SERVICE_DISPLAY_NAME: Es el nombre visible de tu servicio.

    • Opcional: CRITICALITY: Es el nivel de importancia del servicio para tus operaciones. Usa uno de los siguientes valores:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • Opcional: ENVIRONMENT es la etapa del ciclo de vida del software. Usa uno de los siguientes valores:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Opcional: DEV_NAME y DEV_EMAIL: El nombre visible y la dirección de correo electrónico del propietario desarrollador, respectivamente.

    • Opcional: OPERATOR_NAME y OPERATOR_EMAIL: El nombre visible y la dirección de correo electrónico del propietario del operador, respectivamente.

    • Opcional: BUSINESS_NAME y BUSINESS_EMAIL: El nombre visible y la dirección de correo electrónico del propietario de la empresa, respectivamente.

  4. Enumera los servicios registrados en tu aplicación:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME
      --project=PROJECT_ID \
      --location=REGION
    

    Debes obtener un resultado similar al siguiente para cada servicio registrado:

    ID              DISPLAY_NAME            SERVICE_REFERENCE                                                                                             CREATE_TIME
    SERVICE_NAME    SERVICE_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/forwardingRules/forwarding-rule'}    2023-11-01T21:38:08
    

Registra cargas de trabajo

  1. Enumera las cargas de trabajo disponibles que puedes registrar en una aplicación:

    gcloud apphub discovered-workloads list \
      --project=PROJECT_ID \
      --location=REGION \
      --filter=FILTER_EXPRESSION
    

    Para las marcas obligatorias y opcionales, reemplaza lo siguiente:

    • Obligatorio: PROJECT_ID es el ID del proyecto de administración.
    • Obligatorio: REGION: Es la región específica de tu carga de trabajo según tu distribución geográfica. Usa uno de los siguientes valores:

    • Opcional: FILTER_EXPRESSION: Es la expresión de filtro para la marca --filter para mostrar solo las cargas de trabajo de un proyecto especificado dentro del límite de administración de la aplicación o con una propiedad específica, por ejemplo, workload_properties.gcp_project=projects/PROJECT_ID.

    El resultado es similar al siguiente ejemplo.

    ID             WORKLOAD_REFERENCE                                                                                    WORKLOAD_PROPERTIES
    WORKLOAD_ID    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    {'gcpProject': 'projects/PROJECT_ID', 'location': 'REGION'}
    
  2. Copia el ID de la carga de trabajo, WORKLOAD_ID, del resultado.

  3. Registra la carga de trabajo en tu aplicación:

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --application=APPLICATION_NAME \
      --discovered-workload=projects/PROJECT_ID/locations/REGION/discoveredWorkloads/WORKLOAD_ID \
      --display-name=WORKLOAD_DISPLAY_NAME \
      --criticality-type=CRITICALITY \
      --environment-type=ENVIRONMENT \
      --developer-owners=display-name=DEV_NAME,email=DEV_EMAIL \
      --operator-owners=display-name=OPERATOR_NAME,email=OPERATOR_EMAIL \
      --business-owners=display-name=BUSINESS_NAME,email=BUSINESS_EMAIL
    

    Reemplaza WORKLOAD_NAME por el nombre que deseas usar para registrar la carga de trabajo en la aplicación.

    Usa marcas opcionales, como --criticality-type, para definir los atributos de nivel superior de la carga de trabajo y admitir la detección y la administración.

    Para las marcas obligatorias y opcionales, reemplaza lo siguiente:

    • Obligatorio: PROJECT_ID es el ID del proyecto de administración.
    • Obligatorio: REGION: Es la región específica de tu carga de trabajo según tu distribución geográfica. Usa uno de los siguientes valores:

    • Obligatorio: APPLICATION_NAME: Es el nombre de la aplicación para la que deseas registrar la carga de trabajo.

    • Obligatorio: WORKLOAD_ID: Es el ID de la carga de trabajo que copiaste de la salida anterior.

    • Opcional: WORKLOAD_DISPLAY_NAME: Es el nombre visible de tu carga de trabajo.

    • Opcional: CRITICALITY: Es el nivel de importancia de la carga de trabajo para tus operaciones. Usa uno de los siguientes valores:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • Opcional: ENVIRONMENT es la etapa del ciclo de vida del software. Usa uno de los siguientes valores:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Opcional: DEV_NAME y DEV_EMAIL: El nombre visible y la dirección de correo electrónico del propietario desarrollador, respectivamente.

    • Opcional: OPERATOR_NAME y OPERATOR_EMAIL: El nombre visible y la dirección de correo electrónico del propietario del operador, respectivamente.

    • Opcional: BUSINESS_NAME y BUSINESS_EMAIL: El nombre visible y la dirección de correo electrónico del propietario de la empresa, respectivamente.

  4. Enumera las cargas de trabajo registradas en tu aplicación:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME
      --project=PROJECT_ID \
      --location=REGION
    

    Debes obtener un resultado similar al siguiente para cada carga de trabajo registrada:

    ID               DISPLAY_NAME             WORKLOAD_REFERENCE                                                                                    CREATE_TIME
    WORKLOAD_NAME    WORKLOAD_DISPLAY_NAME    {'uri': '//compute.googleapis.com/projects/PROJECT_NUMBER/regions/REGION/instanceGroups/mig-name'}    2023-11-01T21:38:08
    

Terraform

Para usar Terraform y registrar recursos Google Cloud dentro del límite de administración de tu aplicación como servicios o cargas de trabajo en una aplicación, usa las fuentes de datosgoogle_apphub_discovered_serviceygoogle_apphub_discovered_workloadpara recuperar de forma dinámica información sobre los recursos que deseas registrar.

Luego, usa los recursos google_apphub_service o google_apphub_workload para registrar servicios o cargas de trabajo, respectivamente.

Registrar servicios

  1. Obtén información sobre un servicio con su URI:

    data "google_apphub_discovered_service" "my-service" {
        location = "REGION"
        service_uri = "SERVICE_URI"
    }
    
  2. Registra el servicio detectado en tu aplicación, por ejemplo:

    resource "google_apphub_service" "example" {
        project            = "my-project-id"
        location           = "us-central1"
        application_id     = google_apphub_application.example.application_id
        service_id         = "frontend-load-balancer"
        discovered_service = data.google_apphub_discovered_service.my-forwarding-rule.name
        display_name       = "Frontend Load Balancer"
        description        = "The primary load balancer for the frontend."
    }
    

Registra cargas de trabajo

  1. Obtén información sobre una carga de trabajo con su URI:

    data "google_apphub_discovered_workload" "my-workload" {
        location = "REGION"
        workload_uri = "WORKLOAD_URI"
    }
    
  2. Registra la carga de trabajo descubierta en tu aplicación, por ejemplo:

    resource "google_apphub_workload" "example" {
        project             = "my-project-id"
        location            = "us-central1"
        application_id      = google_apphub_application.example.application_id
        workload_id         = "frontend-instance-group"
        discovered_workload = data.google_apphub_discovered_workload.my-mig.name
        display_name        = "Frontend Instance Group"
        description         = "The managed instance group for the frontend."
    }
    

El estado de registro de los servicios y las cargas de trabajo registrados en una aplicación puede cambiar a desvinculado si mueves un proyecto o una carpeta fuera del límite de administración de tu aplicación o si borras el recurso subyacente. Los servicios y las cargas de trabajo desconectados permanecen en la aplicación hasta que los anulas, pero App Hub ya no puede administrarlos ni supervisarlos. Para obtener más información, consulta Estado de registro de servicios y cargas de trabajo.

Para volver a adjuntar servicios o cargas de trabajo a una aplicación, debes volver a registrarlos.

Cómo otorgar permisos y comenzar las operaciones

Después de crear una aplicación y registrar servicios y cargas de trabajo en App Hub, debes otorgar acceso de usuario según las responsabilidades del ciclo de vida para administrar esta agrupación lógica como una sola unidad:

  1. Según tus necesidades de acceso, puedes otorgar permisos a aplicaciones individuales o a todas las aplicaciones. Para obtener una lista de los roles recomendados, consulta Otorga roles centrados en la aplicación a tus usuarios.
  2. De manera opcional, navega a Cloud Hub para ver un panel operativo unificado de la aplicación que definiste, incluidos sus datos de estado, rendimiento y costos.