Registe recursos existentes numa aplicação

O registo dos seus recursos Google Cloud existentes como serviços e cargas de trabalho numa aplicação App Hub 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 recursos Google Cloud existentes 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 os 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 recursos existentes: Google Cloud

Consola

  1. Na Google Cloud consola, use o seletor de projetos para selecionar o seu projeto de gestã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. Este nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hífenes. Não pode alterar este nome depois de criar a aplicação.

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

    • Na secção Adicionar atributos, introduza o Nome a apresentar. O nome a apresentar não é um identificador exclusivo e pode alterá-lo depois de criar a aplicação.
    • 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. Este nome é um identificador exclusivo que só pode conter letras minúsculas, números ou hífenes.

    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 sinalizações obrigatórias e opcionais, substitua o seguinte:

    • Obrigatório: PROJECT_ID: o ID do projeto de gestã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 localização --scope-type 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. O nome a apresentar não é um identificador exclusivo e pode alterá-lo depois de criar a 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

O App Hub permite-lhe selecionar recursos suportados localizados no limite de gestão da sua aplicação para os registar como serviços e cargas de trabalho. Depois de criar uma aplicação, registe os seus recursos Google Cloud existentes como serviços e cargas de trabalho na mesma.

Só pode registar serviços exclusivos numa aplicação. No entanto, os serviços partilhados podem ser registados em mais do que uma aplicação. O App Hub descobre os serviços partilhados quando os regista numa aplicação, mesmo que já estejam registados noutra aplicação, mas pode não conseguir modificar os respetivos atributos.

Consola

  1. Na Google Cloud consola, use o seletor de projetos para selecionar o seu projeto de gestã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 recursos Google Cloud existentes como serviços e cargas de trabalho.

  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 no limite de gestão da sua aplicação como serviços ou 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 deteção 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 no limite de gestão da sua aplicação como serviços ou 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 sinalizações 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 administração.

    Para sinalizações obrigatórias e opcionais, substitua o seguinte:

    • Obrigatório: PROJECT_ID: o ID do projeto de gestã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. Indique 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 sinalizações 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 sinalizações obrigatórias e opcionais, substitua o seguinte:

    • Obrigatório: PROJECT_ID: o ID do projeto de gestã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 usar o Terraform para registar Google Cloud recursos no limite de gestão da sua aplicação como serviços ou cargas de trabalho numa aplicação, 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 mover um projeto ou uma pasta para fora do limite de gestão da sua aplicação ou eliminar o recurso subjacente. Os serviços e as cargas de trabalho separados permanecem na aplicação até anular o registo, mas o App Hub já não os pode gerir nem monitorizar. Para mais informações, consulte o artigo Estado de registo de serviços e cargas de trabalho.

Para voltar a anexar serviços ou cargas de trabalho a uma aplicação, tem de os registar novamente.

Conceda autorizações e inicie operações

Depois de criar uma aplicação e registar serviços e cargas de trabalho no App Hub, tem de conceder acesso de utilizador com base nas responsabilidades do ciclo de vida para gerir este agrupamento lógico como uma única unidade:

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