Configurar o App Hub

Neste documento, fornecemos instruções sobre como configurar o App Hub para criar, operar e gerenciar aplicativos no Google Cloud. Ele é destinado às pessoas que configuram e administram o App Hub.

Se você estiver configurando o App Hub, as tarefas principais serão estas:

  1. Decida se você quer criar um novo projeto host do App Hub ou usar um projeto atual.
    • Se você planeja ter mais de um projeto host, recomendamos criá-los na mesma pasta.
    • Os projetos host no App Hub não são iguais aos projetos host da VPC compartilhada e não têm os mesmos requisitos. Por exemplo, você não precisa de uma rede VPC compartilhada para usar o App Hub. Neste documento, todas as referências a projetos host são a projetos host do App Hub.
    • Um projeto host não pode ser um projeto de serviço que não seja para si mesmo.
  2. Ative a API App Hub no projeto host.
  3. Adicione um ou mais projetos de serviço do App Hub ao projeto host.
    • Os projetos de serviço no App Hub não são iguais aos projetos de serviço de VPC compartilhada e não têm os mesmos requisitos. Neste documento, todas as referências a projetos de serviço são aos projetos de serviço do App Hub.
  4. Designe usuários do App Hub como administradores, editores ou leitores do App Hub.
  5. Criar aplicativos.
  6. Registre serviços e cargas de trabalho no aplicativo.

Serviços e cargas de trabalho

Ao usar o App Hub, os recursos dos projetos de serviço anexados ao projeto host ficam disponíveis como serviços e cargas de trabalho. Ao registrar os serviços e as cargas de trabalho em um aplicativo, é possível observar e monitorar os recursos. É possível designar os seguintes recursos como serviços do App Hub e registrá-los nos aplicativos do App Hub:

  • Regras de encaminhamento
  • Mapas de URL
  • Serviços de back-end

É possível designar grupos gerenciados de instâncias (MIGs), mas não VMs individuais, como cargas de trabalho e registrá-las em aplicativos do App Hub.

O App Hub oferece suporte aos balanceadores de carga de aplicativo externos e internos regionais com tráfego HTTP ou HTTPS.

As cargas de trabalho e os serviços registrados precisam estar na mesma região que o aplicativo. Por isso, as instruções e os comandos a seguir pressupõem que todos os recursos estão na mesma região. Para ver mais informações sobre quais regiões é possível designar, consulte Locais.

Processo geral de configuração

A lista a seguir resume as etapas para configurar o App Hub:

  1. Determine quais recursos devem ser incluídos no aplicativo e a quais projetos eles pertencem.
  2. Crie um projeto host do App Hub e ative a API App Hub nele. Opcionalmente, com base na estrutura organizacional da sua empresa, crie mais de um projeto host. Se você criar vários projetos, recomendamos que eles sejam criados em uma nova pasta.
  3. Anexe projetos de serviço. Depois de configurar um projeto host, anexe os projetos de serviço com os recursos subjacentes de que seus aplicativos precisam ao projeto host. Atenção:
    1. Os projetos de serviço precisam estar na mesma organização que o projeto host. Depois de anexar um projeto de serviço a um projeto host, não será possível movê-lo para uma organização diferente. Para mover o projeto de serviço para uma organização diferente, siga as instruções neste documento para remover ou remover o anexo do projeto de serviço do projeto host. Em seguida, anexe o projeto de serviço a uma organização diferente.
    2. Um projeto de serviço não pode ser anexado a mais de um projeto host.
    3. Um projeto host pode ser o próprio projeto de serviço, mas não pode ser um projeto de serviço para nenhum outro projeto host.
    4. Depois de anexar projetos de serviço a um projeto host, consultar o projeto host em busca de serviços ou cargas de trabalho retorna automaticamente todos os serviços e cargas de trabalho em todos os projetos de serviço.
  4. Criar um aplicativo para organizar várias cargas de trabalho e serviços. Observe que:
    1. Verifique se o nome do aplicativo é exclusivo no projeto e no local host.
    2. Um projeto de serviço pode ser anexado a um projeto host com vários aplicativos, mas os recursos individuais podem ser registrados em apenas um aplicativo.
  5. Consulte serviços e cargas de trabalho e registre-os no aplicativo. Depois de criar um aplicativo, consulte o projeto host para saber quais serviços e cargas de trabalho estão disponíveis. As consultas são executadas no projeto host e em todos os projetos de serviço anexados a ele. Elas também retornam todos os serviços e cargas de trabalho nesses projetos. Atenção:
    1. Só é possível registrar um serviço ou carga de trabalho em um único aplicativo.
    2. Todas as cargas de trabalho e serviços registrados precisam estar na mesma região que o aplicativo.
    3. Serviços e cargas de trabalho registrados não são afetados por atualizações do 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 excluirá as cargas de trabalho e os serviços associados do aplicativo. É necessário cancelar o registro da carga de trabalho ou do serviço separadamente.

Pré-requisitos

Antes de configurar o App Hub, conclua as tarefas a seguir.

  1. Decida qual projeto atual é o host ou crie um novo para ser o host. Recomendamos que você crie um novo projeto.
  2. Verifique se você decidiu quais pessoas têm os papéis do Identity and Access Management (IAM) no App Hub: administrador, editor e leitor do App Hub.

Observações:

  • Os projetos host podem ter um ou mais projetos de serviço anexados.
  • Um projeto de serviço não pode ser anexado a mais de um projeto host.
  • A pessoa que anexa um projeto de serviço a um projeto host precisa ter o papel de administrador do App Hub do IAM no projeto de serviço e no host. Para mais informações, consulte Papéis e permissões do App Hub.

Configurar o App Hub

Nesta seção, você vai criar um exemplo de arquitetura 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: Serviço 1 e 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.

Confira se os projetos escolhidos para criar o exemplo contêm os recursos descritos nesta seção ou prepare-se para ajustar o exemplo conforme você avança nas instruções.

As seções a seguir contêm as instruções para criar um exemplo do App Hub. Crie um projeto host e adicione projetos de serviço a ele. Em seguida, crie um aplicativo e anexe serviços e cargas de trabalho a ele. O exemplo tem três projetos de serviço, mas é possível adicionar menos ou mais.

No exemplo, consideramos que todos os projetos de serviço adicionados já existem e contêm serviços e cargas de trabalho adicionados ao seu 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 novo projeto host, ativa a API App Hub e concede papéis e permissões apropriados às pessoas na sua organização. Você também anexa projetos de serviço ao projeto host.

Console

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

    Acessar o seletor de projetos

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

  3. Ative a API necessária.

    Ative a API

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

    Se você não for o criador do projeto, as permissões necessárias precisarão ser concedidas no projeto 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 receber as permissões necessárias para concluir este tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

    1. No console do Google Cloud, abra 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, o papel de administrador do App Hub no projeto host.

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

    5. Selecione o papel Administrador do App Hub e clique em Salvar.

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

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

    Acesse configurações

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

  7. 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 projetos e selecione aqueles que serão adicionados como projetos de serviço.
  8. Clique em Selecionar. A tabela Projetos de serviço anexados exibe os projetos de serviço selecionados.

  9. Clique em Fechar.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

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

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

    • Criar um projeto do Google Cloud:
      gcloud projects create HOST_PROJECT_ID
    • Selecione o projeto do 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
    
  5. Se você for o criador do projeto, receberá o papel básico de Proprietário (roles/owner). Por padrão, esse papel do Identity and Access Management (IAM) inclui as permissões necessárias para acesso total à maioria dos recursos do Google Cloud.

    Se você não for o criador do projeto, as permissões necessárias precisarão ser concedidas no projeto 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 receber as permissões necessárias para concluir este tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

    1. Também é possível conceder aos indivíduos que administrarão o App Hub o papel de administrador 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 o papel 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 o papel de administrador do App Hub para adicionar projetos de serviço ao projeto host. Você precisa de pelo menos uma pessoa com esse papel em cada projeto de serviço. Uma única pessoa pode ter o papel 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 dos três projetos de serviço deste exemplo.
      • SERVICE_PROJECT_2: o segundo dos três projetos de serviço deste exemplo.
      • SERVICE_PROJECT_3: o terceiro dos três projetos de serviço deste exemplo.
  6. Adicione seus projetos de serviço ao projeto host do App Hub.

    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
    

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.

Console

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

    Acesse Aplicativos

  3. Clique em Criar aplicativo. O painel Criar aplicativo será exibido.

  4. Selecione uma Região.

  5. Digite o Nome do aplicativo e clique em Continuar.

  6. Na seção Adicionar atributos, digite o Nome de exibição.

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

  8. Clique em Criar.

gcloud

  1. Crie um novo aplicativo chamado APPLICATION_NAME e dê a ele um nome de exibição, APPLICATION_DISPLAY_NAME. A flag --scope-type define quais serviços e cargas de trabalho podem ser registrados em um aplicativo. Somente REGIONAL é aceito, o que significa que apenas serviços e cargas de trabalho da mesma região do aplicativo podem ser registrados.

    gcloud apphub applications create APPLICATION_NAME \
      --display-name='APPLICATION_DISPLAY_NAME' \
      --scope-type=REGIONAL \
      --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.
    • APPLICATION_DISPLAY_NAME: o nome de exibição do aplicativo.
    • REGION: a região do aplicativo. Dê a ele o valor us-east1.
  2. Liste os aplicativos no projeto host.

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

    O resultado será assim:

    ID: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    
  3. Receba 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, semelhante ao seguinte.

    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: APPLICATION_DISPLAY_NAME
    name: projects/HOST_PROJECT_ID/locations/REGION/applications/APPLICATION_NAME
    scope:
      type: REGIONAL
    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 for criado.

Console

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

    Acesse Aplicativos

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

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

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

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

    • Production
    • Preparação
    • Development
    • Testar
  6. Opcional: adicione os detalhes a seguir conforme necessário para Proprietários de desenvolvedores, Proprietários operadores e Proprietários de empresas. Observe que será necessário inserir o endereço de e-mail do proprietário se você adicionar um nome de exibição.

    1. Digite o nome de exibição de um proprietário.
    2. Digite 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 \
      --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:

    • CRITICALITY_LEVEL: indica a importância de um aplicativo, serviço ou carga de trabalho para as operações comerciais. Informe um dos seguintes valores:
      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • ENVIRONMENT: indica os estágios do ciclo de vida do software. Informe 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 das empresas, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: endereços de e-mail do desenvolvedor, do operador e dos proprietários das empresas, 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: APPLICATION_NAME
    DISPLAY_NAME: APPLICATION_DISPLAY_NAME
    CREATE_TIME: 2023-10-31T18:33:48
    

Registrar serviços e cargas de trabalho

Quando você registra serviços de infraestrutura e cargas de trabalho em um aplicativo, eles são registrados como recursos do App Hub. Se você estiver usando os marcadores para criar o aplicativo com a CLI gcloud, os serviços e as cargas de trabalho nos três projetos de serviço serão os seguintes:

  • O projeto de serviço 1 tem dois recursos de infraestrutura: Serviço 1 e 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.

Console

  1. No console do 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. No painel Registrar serviço ou carga de trabalho, na seção Escolher serviço ou carga de trabalho, selecione o serviço ou carga de trabalho e clique em Continuar.
    3. Na seção Adicionar atributos, insira um Nome para o serviço ou a carga de trabalho.
    4. Se quiser, adicione mais detalhes do serviço ou da carga de trabalho nos campos a seguir. Para mais informações, consulte Atualizar um aplicativo do App Hub neste documento. É necessário fornecer um dos valores especificados para os campos Importância e Ambiente, mas o valor pode ser diferente daquele definido ao criar o aplicativo.
    5. Clique em Registrar. A guia Serviços e cargas de trabalho exibe a carga de trabalho ou o serviço registrado. 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 do App Hub.

    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 o papel 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á anexada ao projeto host. Esse comando retorna cargas de trabalho que estão disponíveis para serem 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 resposta será semelhante à seguinte, que inclui MIGs não registrados:

    ID: [DISCOVERED_WORKLOAD_ID_1]
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-1'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_2', 'location': 'REGION'}
    
    ID: [DISCOVERED_WORKLOAD_ID_2]
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    WORKLOAD_PROPERTIES: {'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 no 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: WORKLOAD_NAME
    DISPLAY_NAME: mywebserver-deployment1
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/REGION/instanceGroups/testing-mig-2'}
    CREATE_TIME: 2023-10-31T18:34:23
    

    As cargas de trabalho registradas, mas desconectadas, 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 que está anexado ao projeto host. Esse comando retorna serviços disponíveis para registro 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: [DISCOVERED_SERVICE_ID_1]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-1'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_1', 'location': 'REGION'}
    
    ID: [DISCOVERED_SERVICE_ID_2]
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/REGION/forwardingRules/testing-forwarding-rule-2'}
    SERVICE_PROPERTIES: {'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 os serviços, os filtram e registrem os serviços nos projetos de serviço 1, 2 e 3.

  10. Atualize um serviço com os atributos criticality-type e 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 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 à seguinte para cada serviço:

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

    Os serviços registrados, mas desconectados, 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 foi concluído.

Adicionar ou remover projetos de serviço

É possível modificar anexos de projeto de serviço para disponibilizar diferentes recursos de infraestrutura para agrupamento em um aplicativo.

Console

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

  1. No console do 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 é 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 exibe os projetos selecionados como projetos de serviço para o projeto host.

  5. Clique em Fechar.

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

  1. No console do 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 exibir 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

Ver 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 visualizar aplicativos em um projeto, acesse a página Aplicativos do App Hub no console do Google Cloud.

    Acesse Aplicativos

  • Para listar serviços e cargas de trabalho:

    Aplicativos

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

      Acesse Aplicativos

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

    3. Opcional: para filtrar os serviços ou as cargas de trabalho, faça o seguinte:

      1. No campo Filtro, selecione uma opção, como Importância.
      2. Selecione Alto como o valor.
        Será exibida uma lista de serviços e cargas de trabalho de alta criticidade registradas no aplicativo.

    Serviços e cargas de trabalho

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

      Acessar "Serviços e cargas de trabalho"

    2. Na lista Região, selecione as regiões de onde você quer visualizar os serviços e as cargas de trabalho. Por exemplo, selecione us-east1.
      A página Serviços e cargas de trabalho exibe 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 as cargas de trabalho, faça o seguinte:

      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 que está registrada em um aplicativo será exibida.

gcloud

Para ver aplicativos em um projeto:

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

Para listar 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

Limpar

Limpe um aplicativo atual e remova um anexo de projeto de serviço do projeto host para remover os recursos associados ao projeto. 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 do Google Cloud, acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  2. Clique no nome de um aplicativo. Será exibida uma lista de serviços e cargas de trabalho registrados no aplicativo.

  3. Cancelar o registro de um serviço ou 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 do serviço ou Cancelar registro de carga de trabalho para atualizar o serviço ou a carga de trabalho como um recurso Descoberta.
      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. Neste documento, use as instruções em Adicionar ou remover projetos de serviço para remover os projetos de serviço do projeto host.

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 registrados 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.

A seguir