Registe recursos existentes numa aplicação

O registo dos seus serviços e cargas de trabalho existentes numa aplicação permite-lhe simplificar a gestão organizando os recursos com base na respetiva finalidade empresarial. Esta abordagem oferece visibilidade, monitorização, governação e controlo operacional unificados.

Este guia mostra como agrupar serviços e cargas de trabalho existentes em Google Cloud que ainda não estão formalmente definidos como uma aplicação.

Antes de começar

Tem de concluir a configuração inicial da gestão de aplicações antes de organizar recursos em aplicações. Normalmente, este processo envolve as seguintes funções e passos:

Crie uma aplicação

Crie uma aplicação no App Hub para atuar como um contentor lógico para os seus serviços e cargas de trabalho existentes:

Consola

  1. Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião ou o projeto de gestão da pasta com apps ativadas, consoante o seu modelo de configuração.
  2. Navegue para a página Aplicações a partir do App Hub:

    Aceda a Aplicações

  3. Clique em Criar candidatura.

  4. No painel Escolha a região e o nome da aplicação, selecione a melhor localização para a sua aplicação com base nos requisitos de distribuição geográfica:

    • Selecione Regional para criar uma aplicação regional. Em seguida, selecione a região específica da sua aplicação com base nas regiões suportadas pelo App Hub.
    • Selecione Global para criar uma aplicação global.

    Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais.

  5. Introduza o Nome da aplicação e clique em Continuar.

  6. Opcional: defina os atributos de nível superior da aplicação para suportar a capacidade de deteção e a administração:

    • Na secção Adicionar atributos, introduza o Nome a apresentar.
    • Na lista Criticidade, selecione um valor para indicar a importância da aplicação.
    • Na lista Ambiente, selecione um valor para indicar a fase do ciclo de vida do software.
    • Adicione detalhes das informações de contacto dos proprietários, incluindo o nome a apresentar e o endereço de email. Tenha em atenção que os endereços de email têm de ter o formato username@yourdomain, por exemplo, jane-doe@gmail.com.
  7. Clique em Criar.

gcloud

  1. Use a CLI do Google Cloud para criar uma aplicação a partir do terminal ou do 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
    

    Substitua APPLICATION_NAME pelo nome da sua aplicação. O nome só pode incluir carateres alfanuméricos em minúsculas sem espaços.

    Use flags opcionais, como --criticality-type, para definir os atributos de nível superior da aplicação e suportar a capacidade de descoberta e a governação.

    Para as flags obrigatórias e opcionais, substitua o seguinte:

    • Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
    • Obrigatório: LOCATION: a localização da sua aplicação com base nos requisitos de distribuição geográfica. Use um dos seguintes valores:

      • REGIONAL para candidaturas regionais.
      • GLOBAL para aplicações globais.

      Para mais informações sobre a melhor localização para a sua aplicação, consulte o artigo Aplicações globais e regionais.

    • Obrigatório: REGION: a região específica da sua aplicação. Use um dos seguintes valores:

      • Se a --scope-typelocalização da sua aplicação estiver definida como REGIONAL, especifique um nome de região suportado pelo App Hub.
      • Se a localização --scope-type da sua aplicação estiver definida como GLOBAL, use global.
    • Opcional: DISPLAY_NAME: o nome a apresentar da sua aplicação.

    • Opcional: CRITICALITY: o nível de importância da aplicação para as suas operações. Use um dos seguintes valores:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • Opcional: ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Opcional: DEV_NAME e DEV_EMAIL: o nome a apresentar e o endereço de email do proprietário do programador, respetivamente.

    • Opcional: OPERATOR_NAME e OPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.

    • Opcional: BUSINESS_NAME e BUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.

  2. Liste as aplicações no seu projeto:

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

    Tem de obter um resultado semelhante ao seguinte:

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

Terraform

Para criar uma aplicação com o Terraform, use o recurso google_apphub_application. Este recurso permite-lhe definir as propriedades da aplicação, incluindo o respetivo nome, localização e atributos.

O exemplo seguinte cria uma aplicação regional em us-central1 com atributos de criticidade, ambiente e proprietário definidos:

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

Registe serviços e cargas de trabalho

Depois de criar uma aplicação, registe os seus serviços e cargas de trabalho existentes na mesma:

Consola

  1. Na Google Cloud consola, use o seletor de projetos para selecionar o projeto de anfitrião ou o projeto de gestão da pasta com apps ativadas, consoante o seu modelo de configuração.
  2. Navegue para a página Aplicações a partir do App Hub:

    Aceda a Aplicações

  3. Clique no nome da aplicação para a qual quer registar serviços e cargas de trabalho existentes.

  4. Na página de detalhes da aplicação, selecione o separador Serviços e cargas de trabalho. Este separador apresenta a lista de recursos existentes que pode registar na aplicação. O App Hub permite-lhe selecionar recursos suportados localizados na sua hierarquia de recursos como serviços e cargas de trabalho.

  5. Para cada serviço ou carga de trabalho que quer registar, faça o seguinte:

    1. No separador Serviços e cargas de trabalho, clique em Registar serviço/carga de trabalho.
    2. Navegue até ao painel Selecionar recurso e clique em Procurar para encontrar o serviço ou a carga de trabalho que quer registar.
    3. Escolha o serviço ou a carga de trabalho e clique em Selecionar.
    4. No painel Selecionar recurso, introduza um nome para o serviço ou a carga de trabalho e clique em Continuar.
    5. Opcional: no painel Adicionar atributos, defina os atributos de nível superior do recurso para suportar a capacidade de descoberta e a governação.

    6. Clique em Continuar.

    7. Opcional: na secção Adicionar proprietários, adicione mais detalhes sobre os proprietários do serviço ou da carga de trabalho.

    8. Clique em Registar.

O separador Serviços e cargas de trabalho apresenta o serviço ou a carga de trabalho registada.

gcloud

O App Hub permite-lhe selecionar recursos suportados localizados na sua hierarquia de recursos como serviços e cargas de trabalho. Use a CLI do Google Cloud para listar os serviços ou as cargas de trabalho que pode registar na aplicação a partir do terminal ou do Cloud Shell. Os comandos são ligeiramente diferentes para serviços e cargas de trabalho:

Serviços de registo

  1. Indique os serviços disponíveis que pode registar numa aplicação:

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

    Para as flags obrigatórias e opcionais, substitua o seguinte:

    O resultado é semelhante ao seguinte exemplo:

    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. Copie o ID do serviço, SERVICE_ID, a partir do resultado.

  3. Registe o serviço na sua aplicação:

    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
    

    Substitua SERVICE_NAME pelo nome que quer usar para registar o serviço na aplicação.

    Use flags opcionais, como --criticality-type, para definir os atributos de nível superior do serviço e suportar a capacidade de deteção e a governação.

    Para as flags obrigatórias e opcionais, substitua o seguinte:

    • Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
    • Obrigatório: REGION: a região específica do seu serviço com base na sua distribuição geográfica. Use um dos seguintes valores:

    • Obrigatório: APPLICATION_NAME: o nome da aplicação para a qual quer registar o serviço.

    • Obrigatório: SERVICE_ID: o ID do serviço que copiou do resultado anterior.

    • Opcional: SERVICE_DISPLAY_NAME: o nome a apresentar do seu serviço.

    • Opcional: CRITICALITY: o nível de importância do serviço para as suas operações. Use um dos seguintes valores:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • Opcional: ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Opcional: DEV_NAME e DEV_EMAIL: o nome a apresentar e o endereço de email do proprietário do programador, respetivamente.

    • Opcional: OPERATOR_NAME e OPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.

    • Opcional: BUSINESS_NAME e BUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.

  4. Indique os serviços registados na sua aplicação:

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

    Tem de obter um resultado semelhante ao seguinte para cada serviço registado:

    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
    

Registe cargas de trabalho

  1. Indicar as cargas de trabalho disponíveis que pode registar numa aplicação:

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

    Para as flags obrigatórias e opcionais, substitua o seguinte:

    O resultado é semelhante ao seguinte exemplo:

    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. Copie o ID da carga de trabalho, WORKLOAD_ID, a partir do resultado.

  3. Registe a carga de trabalho na sua aplicação:

    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
    

    Substitua WORKLOAD_NAME pelo nome que quer usar para registar a carga de trabalho na aplicação.

    Use flags opcionais, como --criticality-type, para definir os atributos de nível superior da carga de trabalho e suportar a capacidade de deteção e a governação.

    Para as flags obrigatórias e opcionais, substitua o seguinte:

    • Obrigatório: PROJECT_ID: o ID do projeto anfitrião ou do projeto de gestão, consoante o seu modelo de configuração.
    • Obrigatório: REGION: a região específica da sua carga de trabalho com base na sua distribuição geográfica. Use um dos seguintes valores:

    • Obrigatório: APPLICATION_NAME: o nome da aplicação para a qual quer registar a carga de trabalho.

    • Obrigatório: WORKLOAD_ID: o ID da carga de trabalho que copiou da saída anterior.

    • Opcional: WORKLOAD_DISPLAY_NAME: o nome a apresentar da sua carga de trabalho.

    • Opcional: CRITICALITY: o nível de importância da carga de trabalho para as suas operações. Use um dos seguintes valores:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • Opcional: ENVIRONMENT: a fase do ciclo de vida do software. Use um dos seguintes valores:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • Opcional: DEV_NAME e DEV_EMAIL: o nome a apresentar e o endereço de email do proprietário do programador, respetivamente.

    • Opcional: OPERATOR_NAME e OPERATOR_EMAIL: o nome a apresentar e o endereço de email do proprietário do operador, respetivamente.

    • Opcional: BUSINESS_NAME e BUSINESS_EMAIL: o nome a apresentar e o endereço de email do proprietário da empresa, respetivamente.

  4. Liste as cargas de trabalho registadas na sua aplicação:

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

    Tem de obter um resultado semelhante ao seguinte para cada carga de trabalho registada:

    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 registar serviços ou cargas de trabalho numa aplicação através do Terraform, use as origens de dados google_apphub_discovered_service e google_apphub_discovered_workload para obter dinamicamente informações sobre os recursos que quer registar.

Em seguida, use os recursos google_apphub_service ou google_apphub_workload para registar serviços ou cargas de trabalho, respetivamente.

Serviços de registo

  1. Obtenha informações sobre um serviço através do respetivo URI:

    data "google_apphub_discovered_service" "my-service" {
        location = "REGION"
        service_uri = "SERVICE_URI"
    }
    
  2. Registe o serviço descoberto na sua aplicação, por exemplo:

    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."
    }
    

Registe cargas de trabalho

  1. Obtenha informações sobre uma carga de trabalho através do respetivo URI:

    data "google_apphub_discovered_workload" "my-workload" {
        location = "REGION"
        workload_uri = "WORKLOAD_URI"
    }
    
  2. Registe a carga de trabalho descoberta na sua aplicação, por exemplo:

    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."
    }
    

O estado de registo dos serviços e das cargas de trabalho registados numa aplicação pode mudar para desassociado se modificar a estrutura organizacional dos seus recursos ou eliminar o recurso subjacente.Google Cloud Os serviços e as cargas de trabalho separados permanecem na aplicação até anular o registo dos mesmos. Para mais informações, consulte o artigo Estado de registo de serviços e cargas de trabalho.

Conceda autorizações e inicie as operações

Depois de criar uma aplicação e registar os seus recursos no App Hub, concede acesso aos utilizadores com base nas responsabilidades e gere este agrupamento lógico como uma única unidade:

  1. Consoante as suas necessidades de acesso, pode conceder autorizações à sua aplicação. Para ver uma lista de funções recomendadas, consulte o artigo Conceda funções centradas na aplicação aos seus utilizadores.
  2. Navegue para o Cloud Hub para ver um painel de controlo operacional unificado para a sua aplicação definida, incluindo o respetivo estado, desempenho e dados de custos.