Configurar o App Hub para projetos host

Neste documento, você encontra instruções para configurar o App Hub usando um projeto host para criar, operar e gerenciar aplicativos no Google Cloud. Um projeto host é um projeto Google Cloud que pode hospedar projetos de serviço que incluem recursos que você quer gerenciar usando aplicativos do App Hub. Este documento é destinado a pessoas que configuram e administram o App Hub.

Recomendamos usar pastas ativadas por apps para configurar o App Hub e gerenciar seus aplicativos. As pastas com apps ativados provisionam o gerenciamento de aplicativos em todos os projetos da pasta e o acesso a recursos como a central de design de aplicativos e o Gemini Cloud Assist. Para mais informações, consulte Configurar o App Hub para pastas habilitadas para apps.

Serviços e cargas de trabalho

Com o App Hub, os recursos dos projetos de serviço anexados ao projeto host ficam disponíveis para você como serviços e cargas de trabalho. Ao registrar seus serviços e cargas de trabalho em um aplicativo, é possível observar e monitorar os recursos. O App Hub oferece suporte a recursos globais e regionais. Para mais informações, consulte Recursos compatíveis com o App Hub.

Processo geral de configuração

A lista a seguir resume as etapas para configurar a Central de apps:

  1. Determine quais recursos atuais incluir no seu aplicativo e a quais projetos eles pertencem.
  2. Crie um projeto host do App Hub ou use um projeto atual como host. Opcionalmente, com base na estrutura organizacional da sua empresa, crie mais de um projeto host.
    • Se você planeja ter mais de um projeto host, recomendamos que os crie na mesma pasta.
    • Um projeto host não pode ser um projeto de serviço, a não ser para si mesmo.
  3. Ative a API App Hub no projeto host.
  4. Designar usuários do App Hub como administradores, editores ou leitores do App Hub.
  5. Anexar projetos de serviço. Depois de configurar um projeto host, anexe projetos de serviço com recursos subjacentes de que seus aplicativos precisam ao projeto host. Observações:
    1. Os projetos de serviço precisam estar na mesma organização do projeto host. Depois de anexar um projeto de serviço a um projeto host, não é possível movê-lo para outra organização. Para mover o projeto de serviço para outra organização, siga as instruções deste documento para remover ou desconectar o anexo do projeto de serviço ao projeto host. Depois, você pode anexar o projeto de serviço a outra organização.
    2. Um projeto de serviço não pode ser anexado a mais de um projeto host.
    3. Um projeto host pode ser um projeto de serviço, mas não pode ser um projeto de serviço para outro projeto host.
    4. Depois de anexar projetos de serviço a um projeto host, a consulta do projeto host para serviços ou cargas de trabalho retorna automaticamente todos os serviços e cargas de trabalho em todos os projetos de serviço.
  6. Crie um aplicativo para organizar várias cargas de trabalho e serviços. Observe que:
    1. Verifique se o aplicativo tem um nome exclusivo no projeto host e no local.
    2. Um projeto de serviço pode ser anexado a um projeto host com vários aplicativos, mas os recursos individuais só podem ser registrados em um aplicativo.
  7. Consulte serviços e cargas de trabalho e registre-os no seu aplicativo. Depois de criar um aplicativo, consulte o projeto host para ver os serviços e as cargas de trabalho disponíveis. As consultas são executadas no projeto host e em todos os projetos de serviço anexados a ele. Eles também retornam todos os serviços e cargas de trabalho nesses projetos. Observações:
    1. Só é possível registrar um serviço ou uma carga de trabalho em um único aplicativo.
    2. É necessário registrar serviços e cargas de trabalho de uma região específica em um aplicativo regional na mesma região ou em um aplicativo global. As instruções e os comandos a seguir pressupõem que todos os recursos estão na mesma região. Para informações sobre quais regiões podem ser designadas, consulte Locais.
    3. Os serviços e cargas de trabalho registrados não são afetados por atualizações no recurso de infraestrutura subjacente. Em outras palavras, se você excluir os recursos subjacentes que atuam como serviços e cargas de trabalho, o App Hub não vai excluir as cargas de trabalho e os serviços associados do seu aplicativo. É necessário cancelar o registro da carga de trabalho ou do serviço separadamente.

Pré-requisitos

Antes de configurar o Hub de apps, conclua as seguintes tarefas.

  1. Decida qual projeto atual será o host ou crie um novo para essa função. Recomendamos que você crie um novo projeto.
  2. Decida quais pessoas vão ter os papéis do Identity and Access Management (IAM) para o Hub de apps: administrador, editor e leitor do Hub de apps.

A pessoa que anexa um projeto de serviço a um projeto host precisa ter o papel de administrador do App Hub nos dois projetos. Para mais informações, consulte Papéis e permissões do App Hub.

Configurar o App Hub

Nesta seção, você vai criar uma arquitetura de exemplo do App Hub.

No exemplo, uma organização tem três projetos de serviço, com os recursos de infraestrutura implantados nos projetos da seguinte maneira:

  • O projeto de serviço 1 tem dois recursos de infraestrutura, o serviço 1 e o serviço 2.
  • O projeto de serviço 2 tem três recursos de infraestrutura: serviço 3, carga de trabalho 1 e carga de trabalho 2.
  • O projeto de serviço 3 tem três recursos de infraestrutura: serviço 4, carga de trabalho 3 e carga de trabalho 4.

Verifique se os projetos escolhidos para criar o exemplo contêm os recursos descritos nesta seção ou se você está preparado para ajustar o exemplo à medida que segue as instruções.

As seções a seguir contêm as instruções para criar um exemplo do App Hub. Você cria um projeto host e adiciona projetos de serviço a ele. Em seguida, cria um aplicativo e anexa serviços e cargas de trabalho a ele. O exemplo tem três projetos de serviço, mas você pode adicionar menos ou mais.

O exemplo pressupõe que todos os projetos de serviço adicionados já existam e contenham serviços e cargas de trabalho que você adiciona ao aplicativo. Antes de criar o exemplo, determine quais projetos de serviço contêm os serviços e as cargas de trabalho que você quer incluir no aplicativo.

Ativar o App Hub

Nesta seção, você seleciona ou cria um projeto host, ativa a API App Hub e concede papéis e permissões adequados a pessoas na sua organização. Você também anexa projetos de serviço ao projeto host.

Console

  1. No console Google Cloud , acesse a página do seletor de projetos.

    Acessar o seletor de projetos

  2. Selecione ou crie um Google Cloud projeto para ser o projeto host do App Hub.

  3. Enable the required API.

    Enable the API

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Verifique se a versão mais recente da Google Cloud CLI está instalada. Execute o comando a seguir no Cloud Shell:

    gcloud components update
  3. Crie ou selecione um novo projeto, HOST_PROJECT_ID, para ser o projeto host do App Hub.

    • Crie um Google Cloud projeto:
      gcloud projects create HOST_PROJECT_ID
    • Selecione o projeto Google Cloud que você criou:
      gcloud config set project HOST_PROJECT_ID
  4. Ative a API App Hub no projeto host que você acabou de criar.

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

Designar usuários do App Hub

Se você for o criador do projeto, vai receber o papel básico de proprietário (roles/owner). Por padrão, esse papel do IAM inclui as permissões necessárias para acesso total à maioria dos recursos do Google Cloud .

Se você não é o criador do projeto, as permissões necessárias precisam ser concedidas ao principal apropriado. Por exemplo, um principal pode ser uma Conta do Google (para usuários finais) ou uma conta de serviço (para aplicativos e cargas de trabalho de computação). Para conseguir as permissões necessárias para concluir este tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:

Console

  1. No console Google Cloud , acesse a página IAM.

    Acessar IAM

  2. Clique em Conceder acesso. O painel Conceder acesso será aberto.

  3. No campo Novos principais, insira o endereço de e-mail da pessoa que vai administrar o App Hub, a função de administrador do App Hub no projeto host.

  4. Clique em Selecionar um papel e, no campo Filtro, insira App Hub.

  5. Selecione a função Administrador do App Hub e clique em Salvar.

  6. Em cada um dos projetos de serviço do App Hub, conceda a função de administrador do App Hub ao mesmo usuário.

gcloud

  1. Se quiser, conceda às pessoas que vão administrar o App Hub a função de administrador do App Hub no projeto host. Repita o comando a seguir para cada administrador.

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

    Substitua HOST_PROJECT_ADMIN pelo usuário que tem a função de administrador do App Hub no projeto host. Esse valor tem o formato username@yourdomain, por exemplo, robert.smith@example.com.

  2. Conceda o papel de administrador do App Hub nos projetos de serviço às pessoas que administram o App Hub. Eles precisam ter a função de administrador do App Hub para adicionar projetos de serviço ao projeto host. É necessário ter pelo menos uma pessoa com essa função para cada projeto de serviço. Uma pessoa pode ter a função em vários projetos de serviço.

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

    Substitua:

    • SERVICE_PROJECT_1: o primeiro de três projetos de serviço neste exemplo.
    • SERVICE_PROJECT_2: o segundo de três projetos de serviço neste exemplo.
    • SERVICE_PROJECT_3: o terceiro de três projetos de serviço neste exemplo.

Adicionar projetos de serviço ao projeto host

Adicione seus projetos de serviço com os recursos subjacentes que você quer gerenciar ao projeto host do App Hub.

Console

  1. No console Google Cloud , acesse a página Configurações do App Hub.

    Acesse configurações

  2. Na página Configurações, clique em Anexar projetos.

  3. Escolha uma destas opções:

    • Na lista de projetos, marque as caixas de seleção dos projetos que você quer adicionar como projetos de serviço.
    • Pesquise e selecione os projetos que você quer adicionar como projetos de serviço.
  4. Clique em Selecionar. A tabela Projetos de serviço anexados mostra os projetos de serviço selecionados.

  5. Clique em Fechar.

gcloud

gcloud apphub service-projects add SERVICE_PROJECT_1 \
    --project=HOST_PROJECT_ID
gcloud apphub service-projects add SERVICE_PROJECT_2 \
    --project=HOST_PROJECT_ID
gcloud apphub service-projects add SERVICE_PROJECT_3 \
    --project=HOST_PROJECT_ID

Opcional: adicione projetos de serviço ao escopo de métricas do projeto host

Para conferir as métricas do sistema dos aplicativos no projeto host, adicione os projetos de serviço como contêineres de recursos ao escopo de métricas do projeto host. Um projeto host do App Hub funciona como um projeto de escopo que hospeda um escopo de métricas. O escopo de métricas de um projetoGoogle Cloud define o conjunto de contêineres de recursos cujos dados de série temporal o projeto host pode representar em gráficos e monitorar. Para mais informações sobre contêineres de recursos, escopo de métricas e projetos de escopo, consulte Cloud Monitoring: modelo de dados. Para mais informações sobre quais recursos de infraestrutura estão disponíveis com suporte para métricas do sistema de aplicativos do App Hub e rótulos de metadados do sistema, consulte recursos compatíveis.

Para conferir as métricas do sistema de um aplicativo, adicione ou exclua manualmente os projetos de serviço monitorados dos projetos host, conforme necessário. No entanto, se você estiver usando o projeto host como um projeto de serviço, já que os aplicativos do App Hub estão no mesmo projeto, não adicione o projeto ao escopo de métricas.

Verifique se você tem os seguintes papéis do IAM:

Console

  1. No Google Cloud console, acesse a página  Configurações:

    Acessar Configurações

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Selecione Escopo da métrica.

    A guia Escopo de métricas lista os recursos monitorados peloGoogle Cloud projeto atual. Ela também lista os projetos Google Cloud cujo escopo de métricas inclui o projeto Google Cloud atual.

  3. Para adicionar projetos Google Cloud ao escopo de métricas:

    1. No painel Projetos do Google Cloud, clique em Adicionar projetos.
    2. Na caixa de diálogo Adicionar projetos do Google Cloud, clique em Selecionar projetos e marque as caixas de seleção dos projetos de serviço que você quer monitorar.
    3. Para salvar as mudanças, clique em Adicionar projetos.

      A página Configurações é exibida com a tabela atualizada para listar suas seleções.

Depois de adicionar projetos a um escopo de métricas, leva cerca de 60 segundos para que as alterações sejam propagadas por todos os sistemas do Monitoring.

Para mais informações sobre como configurar os escopos de métricas usando o consoleGoogle Cloud , consulte Configurar um escopo de métricas.

gcloud

Para adicionar seus projetos de serviço como um contêiner de recursos monitorados ao projeto host do App Hub:

gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_1 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_2 \
    --project=HOST_PROJECT_ID
gcloud beta monitoring metrics-scopes create projects/SERVICE_PROJECT_3 \
    --project=HOST_PROJECT_ID

Para mais informações sobre como configurar os escopos de métricas usando a Google Cloud CLI, consulte Configurar um escopo de métricas usando a API.

Criar um aplicativo

Se você ainda não tiver um, crie um aplicativo para ser o contêiner dos seus serviços e cargas de trabalho. Com base no escopo dos seus serviços e cargas de trabalho nos projetos de serviço, crie um aplicativo global ou regional.

  • Um aplicativo global permite registrar serviços e cargas de trabalho descobertos de recursos regionais e globais Google Cloud .
  • Um aplicativo regional permite registrar serviços e cargas de trabalho descobertos de recursos Google Cloud regionais.

Depois de criar um aplicativo, não é possível mudar o escopo dele. Para mais informações sobre aplicativos globais e regionais, consulte Aplicativos globais e regionais do App Hub.

Console

  1. Verifique se você está no projeto host.
  2. No console Google Cloud , acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  3. Clique em Criar aplicativo.

  4. Na página Criar aplicativo, no painel Escolher região e nome do aplicativo, com base no escopo de serviços e cargas de trabalho que você quer registrar no aplicativo, faça uma destas ações:

    • Para criar um aplicativo que permita registrar serviços e cargas de trabalho de um local global, selecione Global.

    • Para criar um aplicativo que permita registrar serviços e cargas de trabalho em um único local:

      1. Selecione Regional.
      2. Selecione uma Região.
  5. Insira o Nome do aplicativo e clique em Continuar.

  6. Se quiser, adicione mais detalhes sobre o aplicativo nos campos a seguir. Para mais informações, consulte Atualizar um aplicativo do App Hub neste documento.

  7. Clique em Criar.

gcloud

  1. Crie um aplicativo chamado APPLICATION_NAME e dê a ele um nome de exibição, APPLICATION_DISPLAY_NAME.

    gcloud apphub applications create APPLICATION_NAME \
      --scope-type=SCOPE_TYPE \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Substitua:

    • APPLICATION_NAME: o nome do seu aplicativo. O nome precisa incluir apenas caracteres alfanuméricos minúsculos sem espaços.
    • SCOPE_TYPE: o escopo do seu aplicativo que define quais serviços e cargas de trabalho estão disponíveis para você se registrar no aplicativo. Use um dos seguintes valores:
      • REGIONAL
      • GLOBAL
    • REGION: a região do aplicativo. Dependendo do --scope-type, atribua a ele o valor us-east1 ou global.
  2. Liste os aplicativos no projeto host.

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

    O resultado será assim:

    ID                DISPLAY_NAME              CREATE_TIME
    APPLICATION_NAME  APPLICATION_DISPLAY_NAME  2023-10-31T18:33:48
    
  3. Confira os detalhes do aplicativo que você criou.

    gcloud apphub applications describe APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    O comando retorna informações no formato YAML, semelhantes a estas.

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: SCOPE_TYPE
    state: ACTIVE
    uid: [APPLICATION_UID]
    updateTime: '2023-10-31T18:33:48.343303819Z'
    
    

Atualizar um aplicativo do App Hub

Também é possível atualizar os atributos do aplicativo depois que ele é criado.

Console

  1. No console Google Cloud , acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  2. Na lista de aplicativos, clique em Editar no aplicativo que você quer atualizar.

  3. Edite os campos conforme necessário e clique em Salvar.

  4. Opcional: na lista Gravidade, para indicar a importância do aplicativo, selecione uma das seguintes opções:

    • Essencial
    • Alta
    • Meio
    • Baixa
  5. Opcional: na lista Ambiente, para indicar o estágio do ciclo de vida do software, selecione uma das seguintes opções:

    • Production
    • Preparo
    • Development
    • Testar
  6. Opcional: adicione os seguintes detalhes conforme necessário para Proprietários de desenvolvedores, Proprietários de operadores e Proprietários de empresas. Você precisa inserir o endereço de e-mail do proprietário se adicionar um nome de exibição.

    1. Insira um nome de exibição do proprietário.
    2. Insira o endereço de e-mail do proprietário. Esse valor precisa ter o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.
  7. Repita essas etapas para cada desenvolvedor, operador e proprietário da empresa.

  8. Clique em Salvar.

gcloud

  1. Atualize seu aplicativo com os atributos criticality-type, environment-type e tipo de proprietário:

    gcloud apphub applications update APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    Substitua:

    • APPLICATION_DISPLAY_NAME: o nome de exibição do aplicativo.
    • CRITICALITY_LEVEL: indica a importância de um aplicativo, serviço ou carga de trabalho para suas operações comerciais. Forneça um dos seguintes valores:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: indica as etapas do ciclo de vida do software. Forneça um dos seguintes valores:
      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST
    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR e DISPLAY-NAME-BUSINESS: nomes de exibição do desenvolvedor, do operador e dos proprietários da empresa, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: endereços de e-mail do desenvolvedor, operador e proprietários da empresa, respectivamente. Esses valores precisam ter o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.
  2. Liste os aplicativos em que o atributo environment-type tem o valor PRODUCTION.

    gcloud apphub applications list \
        --filter='attributes.environment.type=PRODUCTION' \
        --project=HOST_PROJECT_ID \
        --location=REGION
    

    O resultado será assim:

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

Registrar serviços e cargas de trabalho

Quando você registra serviços e cargas de trabalho de infraestrutura em um aplicativo, eles são registrados como recursos do App Hub. Use um aplicativo global para registrar recursos globais ou distribuídos em várias regiões. Use um aplicativo regional para registrar recursos da mesma região do aplicativo.

Console

  1. No console Google Cloud , acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  2. Clique no nome do seu aplicativo. A guia Serviços e cargas de trabalho é exibida com uma lista de serviços e cargas de trabalho registrados que estão nos seus projetos de serviço.

  3. Para cada serviço ou carga de trabalho que você quer registrar, faça o seguinte:

    1. Na guia Serviços e cargas de trabalho, clique em Registrar serviço/carga de trabalho.
    2. Na página Registrar serviço ou carga de trabalho, no painel Selecionar recurso, clique em Procurar para selecionar o serviço ou a carga de trabalho como um Recurso.
    3. No painel Selecionar recurso, escolha um serviço ou uma carga de trabalho e clique em Selecionar.
    4. No painel Selecionar recurso, insira um Nome para o serviço ou carga de trabalho e clique em Continuar.
    5. Opcional: no painel Adicionar atributos, adicione mais detalhes sobre o serviço ou a carga de trabalho nos campos a seguir. Para mais informações, consulte Atualizar um aplicativo do App Hub neste documento. É possível selecionar valores para os campos Gravidade e Ambiente diferentes dos definidos ao criar o aplicativo.
    6. Clique em Continuar.
    7. Se quiser, na seção Adicionar proprietários, adicione mais detalhes sobre os proprietários do serviço ou da carga de trabalho nos campos a seguir. Para mais informações, consulte Atualizar um aplicativo do App Hub.
    8. Clique em Registrar.

A guia Serviços e cargas de trabalho mostra o serviço ou a carga de trabalho registrada. Para mais informações sobre os status de registro, consulte as propriedades e atributos do App Hub.

gcloud

  1. Adicione uma pessoa com permissões de editor da Central de apps.

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

    Substitua APP_HUB_EDITOR pelo usuário que tem a função de editor do App Hub no projeto host. Esse valor tem o formato username@yourdomain, por exemplo, robert.smith@example.com.

  2. Liste as cargas de trabalho descobertas do projeto de serviço 2, que está anexado ao projeto host. Esse comando retorna as cargas de trabalho que podem ser registradas em um aplicativo.

    gcloud apphub discovered-workloads list \
      --filter='workload_properties.gcp_project=projects/SERVICE_PROJECT_2' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    A saída é semelhante a esta, que inclui MIGs não registrados:

    ID                           WORKLOAD_REFERENCE                                                                                                      WORKLOAD_PROPERTIES
    [DISCOVERED_WORKLOAD_ID_1]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    [DISCOVERED_WORKLOAD_ID_2]   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    

    Copie o ID da carga de trabalho da saída para usar na próxima etapa.

  3. Registre uma carga de trabalho da etapa anterior no seu aplicativo.

    gcloud apphub applications workloads create WORKLOAD_NAME \
      --discovered-workload='projects/HOST_PROJECT_ID/locations/REGION/discoveredWorkloads/DISCOVERED_WORKLOAD_ID_2' \
      --display-name='mywebserver-deployment1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Substitua:

    • WORKLOAD_NAME: um nome para registrar a carga de trabalho.
    • DISCOVERED_WORKLOAD_ID_2: o ID da carga de trabalho da saída da etapa anterior.
  4. Repita as duas etapas anteriores para filtrar e registrar as cargas de trabalho que você quer do projeto de serviço 3.

  5. Opcional: é possível atualizar as cargas de trabalho com os atributos criticality-type, environment-type e proprietário.

    gcloud apphub applications workloads update WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --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=REGION
    

    É necessário fornecer um dos valores especificados para criticality-type e environment-type, mas o valor pode ser diferente dos valores definidos ao criar o aplicativo.

  6. Liste as cargas de trabalho registradas no aplicativo.

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

    O resultado será assim:

    ID                DISPLAY_NAME                 WORKLOAD_REFERENCE                                                                                                    CREATE_TIME
    WORKLOAD_NAME     mywebserver-deployment1      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}   2023-10-31T18:34:23
    

    As cargas de trabalho registradas, mas separadas, são indicadas por um valor vazio no campo WORKLOAD_REFERENCE. Para mais informações sobre os status de registro, consulte as propriedades e atributos do App Hub.

  7. Liste os serviços descobertos com regras de encaminhamento no projeto de serviço 1 anexado ao projeto host. Esse comando retorna os serviços que podem ser registrados em um aplicativo.

    gcloud apphub discovered-services list \
      --filter='service_properties.gcp_project=projects/SERVICE_PROJECT_1 AND service_reference.uri~"forwardingRules"' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    O resultado será assim:

    ID                           SERVICE_REFERENCE                                                                                                                    SERVICE_PROPERTIES
    [DISCOVERED_SERVICE_ID_1]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    [DISCOVERED_SERVICE_ID_2]    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}     {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    

    Copie o ID do serviço, DISCOVERED_SERVICE_ID_2, da saída para usar na próxima etapa.

  8. Registre a regra de encaminhamento, testing-forwarding-rule-2, no projeto de serviço 1 como um serviço.

    gcloud apphub applications services create SERVICE_NAME \
      --discovered-service='projects/HOST_PROJECT_ID/locations/REGION/discoveredServices/DISCOVERED_SERVICE_ID_2' \
      --display-name='mywebserver-service1' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Substitua:

    • SERVICE_NAME: um nome para registrar o serviço.
    • DISCOVERED_SERVICE_ID_2: o ID do serviço da saída da etapa anterior.
  9. Repita as etapas anteriores que listam e filtram os serviços e registre os serviços nos projetos de serviço 1, 2 e 3.

  10. Atualize um serviço com o atributo criticality-type e o atributo environment-type.

    gcloud apphub applications services update SERVICE_NAME \
      --criticality-type='CRITICALITY_LEVEL' \
      --environment-type='ENVIRONMENT' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID  \
      --location=REGION
    
  11. Liste os serviços registrados no aplicativo APPLICATION_NAME e no projeto host HOST_PROJECT_ID.

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

    A saída será semelhante a esta para cada serviço:

    ID                DISPLAY_NAME                 SERVICE_REFERENCE                                                                                                                  CREATE_TIME
    SERVICE_NAME      mywebserver-service1         {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}   2023-11-01T21:38:08
    

    Registrado, mas os serviços separados são indicados por um valor vazio no campo SERVICE_REFERENCE.

  12. Filtre os serviços no aplicativo APPLICATION_NAME e no projeto host HOST_PROJECT_ID para aqueles em que o atributo environment-type está definido como PRODUCTION.

    gcloud apphub applications services list \
      --filter='attributes.environment.type=PRODUCTION' \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

O processo de configuração do App Hub está concluído.

Adicionar ou remover projetos de serviço

É possível modificar os anexos do projeto de serviço para disponibilizar diferentes recursos de infraestrutura e agrupá-los em um aplicativo.

Para conferir as métricas do sistema dos aplicativos no projeto host, depois de adicionar um projeto de serviço a um projeto host, adicione os projetos de serviço como contêineres de recursos ao escopo de métricas do projeto host. Para mais informações, consulte Adicionar projetos de serviço ao escopo de métricas do projeto host neste documento. Ao remover um projeto de serviço de um projeto host, considere remover os projetos de serviço como contêineres de recursos do escopo de métricas do projeto host (se você tiver optado por ver as métricas do sistema dos aplicativos no projeto host). Para mais informações, consulte as etapas para remover os projetos de serviço do escopo de métricas do projeto host.

Console

Para adicionar um projeto de serviço a um projeto host:

  1. No console Google Cloud , acesse a página Configurações do App Hub.

    Acesse configurações

  2. Na página Configurações, clique em Anexar projetos.

  3. No painel que será aberto, pesquise projetos na lista exibida e marque as caixas de seleção dos projetos que você quer adicionar como projetos de serviço.

  4. Clique em Selecionar. A tabela Projetos de serviço anexados mostra os projetos selecionados como projetos de serviço do projeto host.

  5. Clique em Fechar.

Para remover um projeto de serviço de um projeto host:

  1. No console Google Cloud , acesse a página Configurações do App Hub.

    Acesse configurações

  2. Na página Configurações, marque as caixas de seleção dos projetos que você quer remover como projetos de serviço.

  3. Clique em Desanexar projetos. A tabela Projetos de serviço anexados é atualizada para mostrar apenas os projetos que permanecem anexados ao projeto host.

gcloud

Para adicionar um projeto de serviço a um projeto host:

gcloud apphub service-projects add SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID
Substitua SERVICE_PROJECT_ID pelo nome do projeto de serviço que você quer adicionar ao projeto host.
Para remover um projeto de serviço do projeto host:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \
   --project=HOST_PROJECT_ID

Conferir aplicativos, serviços e cargas de trabalho atuais

É possível ver aplicativos em um projeto e listar serviços e cargas de trabalho em um aplicativo.

Console

  • Para ver aplicativos em um projeto:

    1. No console Google Cloud , acesse a página Aplicativos do App Hub.

      Acesse Aplicativos

    2. Opcional: para filtrar o aplicativo:

      1. No campo Filtro, selecione uma opção como Gravidade.
      2. Selecione Alto como o valor.
        Uma lista de aplicativos de alta criticidade criados no projeto host é exibida.
  • Para listar serviços e cargas de trabalho:

    Aplicativos

    1. No console Google Cloud , acesse a página Aplicativos do App Hub.

      Acesse Aplicativos

    2. Clique no nome de um aplicativo. Uma página com uma lista de serviços e cargas de trabalho registrados no seu aplicativo é exibida.

    3. Opcional: para filtrar os serviços ou cargas de trabalho:

      1. No campo Filtro, selecione uma opção como Gravidade.
      2. Selecione Alto como o valor.
        Uma lista de serviços e cargas de trabalho de alta importância registrados no aplicativo aparece.

    Serviços e cargas de trabalho

    1. No console Google Cloud , acesse a página Serviços e cargas de trabalho do App Hub.

      Acesse "Serviços e cargas de trabalho"

    2. Na lista Região, selecione as regiões de onde você quer ver os serviços e as cargas de trabalho. Por exemplo, selecione us-east1.
      A página Serviços e cargas de trabalho mostra todos os serviços e cargas de trabalho dos projetos de serviço anexados associados a us-east1.

    3. Opcional: para filtrar os serviços ou cargas de trabalho:

      1. No campo Filtro, selecione uma opção como Ambiente.
      2. Selecione Produção como o valor.
        Uma lista de serviços e cargas de trabalho no ambiente de produção registrados em um aplicativo é exibida.

gcloud

  • Para ver aplicativos em um projeto:

    gcloud apphub applications list \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  • Para listar os serviços registrados em um aplicativo:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  • Para listar cargas de trabalho registradas em um aplicativo:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  • Opcional: para filtrar os recursos com base em atributos de variáveis, adicione uma flag de comando filter aos comandos anteriores. Por exemplo, para listar todas as cargas de trabalho registradas em que o atributo criticality-type está definido como HIGH:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME \
      --filter='attributes.criticality.type=HIGH' \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    Para mais informações sobre os atributos que podem ser usados para filtrar nesta página, consulte Atualizar um aplicativo do App Hub.

Opcional: ver métricas do aplicativo

É possível conferir as métricas do sistema para os aplicativos criados no projeto host do App Hub. Essas métricas correspondem aos indicadores de ouro (tráfego, erros, latência e saturação) que ajudam a monitorar o desempenho e a integridade do aplicativo.

  1. No console Google Cloud , acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  2. Clique no nome de um aplicativo.

    A guia Serviços e cargas de trabalho é exibida com os metadados dos serviços e das cargas de trabalho registradas no seu aplicativo.

  3. Opcional: para mudar o período em que as métricas são mostradas, use o seletor de período. O período padrão é de uma hora.

  4. Para conferir as métricas do sistema de serviços e cargas de trabalho registrados, clique em bar_chart Métricas.

    Uma tabela é exibida com os seguintes indicadores de ouro:

    • Tráfego: taxas de solicitação de entrada no recurso durante o período selecionado.
    • Taxa de erros do servidor: porcentagem média de solicitações recebidas que geram códigos de erro HTTP da série 5xx durante o período selecionado.
    • Latência P95: 95º percentil da latência de uma solicitação de serviço agregada no período selecionado, em milissegundos.
    • Utilização da CPU: a porcentagem média de utilização da CPU para uma carga de trabalho, agregada no período especificado. Os valores geralmente são números entre 0,0 e 100,0, mas podem exceder 100,0.
    • Utilização da memória: a porcentagem média de utilização da memória para uma carga de trabalho, agregada no período especificado.

Opcional: analisar métricas usando gráficos

Para criar gráficos de métricas dos projetos do App Hub, use o Metrics Explorer. É possível restringir os dados representados em gráficos aplicando filtros com base em rótulos. Para mais informações, consulte Criar gráficos com o Metrics Explorer.

Os seguintes identificadores de metadados do sistema do App Hub estão disponíveis para filtragem (prévia):

  • apphub_application_host_project_id
  • apphub_application_id
  • apphub_application_location
  • apphub_workload_criticality_type
  • apphub_workload_environment_type
  • apphub_workload_id

Para visualizar os rótulos de metadados do App Hub em um gráfico, siga estas instruções. Siga o mesmo procedimento para os outros rótulos de metadados do sistema e métricas do App Hub.

  1. No console Google Cloud , acesse a página  Metrics Explorer:

    Acesse o Metrics explorer

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto de host do App Hub ou o projeto de gerenciamento da pasta habilitada para apps.
  3. No elemento Metric, expanda o menu Selecionar uma métrica, digite VM Instance na barra de filtro e use os submenus para selecionar um tipo de recurso e métrica específicos:
    1. No menu Recursos ativos, selecione Instância de VM.
    2. No menu Categorias de métrica ativas, selecione Métricas mais usadas.
    3. No menu Métricas ativas, selecione Utilização da CPU.
    4. Clique em Aplicar.
    O nome totalmente qualificado dessa métrica é compute.googleapis.com/instance/cpu/utilization.
  4. Configure a visualização dos dados. Para mostrar apenas as métricas de um rótulo específico, siga estas etapas:
    1. No elemento Filtro, clique em Adicionar filtro e selecione apphub_application_id. Como valor, insira um nome específico do App Hub.
    2. Na entrada Agregação, defina o primeiro menu como Não agregado.

    Para mais informações sobre como configurar um gráfico, consulte Selecionar métricas ao usar o Metrics Explorer.

Limpar

Limpe um aplicativo atual e remova um anexo de projeto de serviço do projeto host para remover os recursos associados a ele. Isso interrompe a descoberta automática de recursos no projeto de serviço.

Para fazer isso, primeiro exclua as cargas de trabalho e os serviços registrados no aplicativo.

Console

  1. No console Google Cloud , acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  2. Clique no nome de um aplicativo. Uma lista de serviços e cargas de trabalho registrados no aplicativo vai aparecer.

  3. Cancelar o registro de um serviço ou uma carga de trabalho.

    1. Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, clique no nome do serviço ou da carga de trabalho que você quer cancelar o registro.
    2. Na guia Detalhes, clique em Cancelar registro para atualizar o serviço ou a carga de trabalho como um recurso Descoberto.
      Na guia Serviços e cargas de trabalho, um alerta notifica que a carga de trabalho não está registrada.
    3. Repita essas instruções para cada serviço e carga de trabalho.
  4. Acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  5. Clique no nome de um aplicativo.

  6. Na página com os detalhes do aplicativo, clique em Excluir.

  7. Para remover os projetos de serviço do projeto host, consulte a seção Adicionar ou remover projetos de serviço deste documento.

  8. Para remover os projetos de serviço do escopo de métricas do projeto host:

    1. No Google Cloud console, acesse a página  Configurações:

      Acessar Configurações

      Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

    2. Selecione Escopo da métrica.
    3. No painel Projetos do Google Cloud, clique em Remover projeto e preencha a caixa de diálogo de confirmação.

gcloud

  1. Liste as cargas de trabalho registradas no aplicativo:

    gcloud apphub applications workloads list \
      --application=APPLICATION_NAME --project=HOST_PROJECT_ID \
      --location=REGION
    
  2. Cancele o registro da carga de trabalho no aplicativo:

    gcloud apphub applications workloads delete WORKLOAD_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    A carga de trabalho agora é uma carga de trabalho descoberta que pode ser registrada no aplicativo.

  3. Repita o comando anterior para excluir as cargas de trabalho registradas restantes do aplicativo.

  4. Liste os serviços registrados no aplicativo:

    gcloud apphub applications services list \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  5. Cancele o registro do serviço no aplicativo:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    

    O serviço agora é um serviço descoberto que pode ser registrado no aplicativo.

  6. Repita o comando anterior para cancelar o registro dos serviços restantes do aplicativo.

  7. Exclua o aplicativo:

    gcloud apphub applications delete APPLICATION_NAME \
      --project=HOST_PROJECT_ID \
      --location=REGION
    
  8. Remova um projeto de serviço do projeto host:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  9. Repita o comando anterior para remover todos os projetos de serviço do projeto host.

  10. Remova os projetos de serviço do escopo de métricas do projeto host (prévia):

    gcloud beta monitoring metrics-scopes delete projects/SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    
  11. Repita o comando anterior para remover todos os projetos de serviço do projeto host do escopo de métricas.

A seguir