Configurar o App Hub

Neste documento, fornecemos instruções sobre como configurar o App Hub para criar, operar e gerenciar aplicativos no Google Cloud. Destina-se a 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 como projeto host.
    • 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 além dele 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 da VPC compartilhada e não têm os mesmos requisitos. Neste documento, todas as referências a projetos de serviço são relacionadas a projetos de serviço do App Hub.
  4. Designe usuários do App Hub como administradores do App Hub, editores do App Hub ou leitores do App Hub.
  5. Criar aplicativos.
  6. Registrar serviços e cargas de trabalho no aplicativo

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. Registrar os serviços e as cargas de trabalho em um aplicativo permite observar e monitorar os recursos. Você pode 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 dá 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. Portanto, as instruções e os comandos a seguir pressupõem que todos os recursos estão na mesma região. Para mais informações sobre quais regiões podem ser designadas, consulte Locais.

Processo geral de configuração

A lista a seguir resume as etapas de configuração do App Hub:

  1. Determine quais recursos atuais incluir no aplicativo e a quais projetos eles pertencem.
  2. Crie um projeto host do App Hub e ative a API App Hub no projeto. Opcionalmente, com base na estrutura organizacional da sua empresa, crie mais de um projeto host. Caso você crie vários projetos, recomendamos criar em uma nova pasta.
  3. Anexar projetos de serviço Depois de configurar um projeto host, anexe os projetos de serviço com os recursos subjacentes necessários para os aplicativos 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 é 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, a consulta de serviços ou cargas de trabalho no projeto retorna automaticamente todos os serviços e cargas de trabalho em todos os projetos de serviço.
  4. 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 e no local do host.
    2. Um projeto de serviço pode ser anexado a um projeto host com vários aplicativos, mas os recursos individuais dele 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 se há serviços e 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. 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 do aplicativo.
    3. Os serviços e as cargas de trabalho registrados não são afetados pelas 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 vai excluir do seu aplicativo as cargas de trabalho e os serviços associados. É 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 abaixo.

  1. Decida qual projeto atual é o host ou crie um novo projeto para ser o host. Recomendamos que você crie um novo projeto.
  2. Verifique se você decidiu quais indivíduos têm os papéis do Identity and Access Management (IAM) para o App Hub: administrador do App Hub, editor do App Hub 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 projeto 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.

Verifique se os projetos escolhidos para criar o exemplo contêm os recursos descritos nesta seção ou se prepare para ajustar o exemplo ao longo das 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á existem e contêm 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 novo projeto host, ativa a API App Hub e concede papéis e permissões adequados às pessoas na 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 o 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 é o criador do projeto, as permissões necessárias precisam ser concedidas no projeto ao principal apropriado. Por exemplo, a 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 seu 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 Novas principais, insira o endereço de e-mail do indivíduo 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, 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 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 você quer adicionar 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 é o criador do projeto, as permissões necessárias precisam ser concedidas no projeto ao principal apropriado. Por exemplo, a 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 seu projeto:

    1. Se quiser, conceda o papel de administrador do App Hub no projeto host aos indivíduos que vão administrar o App Hub. 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 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 aos indivíduos 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 para 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 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.
  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

Crie um aplicativo para ser o contêiner dos seus serviços e cargas de trabalho, caso ainda não tenha um.

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 sobre o aplicativo nos campos a seguir. Para mais informações, neste documento, consulte Atualizar um aplicativo App Hub.

  8. Clique em Criar.

gcloud

  1. Crie um novo aplicativo com o nome APPLICATION_NAME e atribua 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 tem suporte, 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 caracteres alfanuméricos minúsculos sem espaços.
    • APPLICATION_DISPLAY_NAME: o nome de exibição do aplicativo.
    • REGION: a região do aplicativo. Atribua o valor us-east1 a ele.
  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. 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, 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 após criá-lo.

Console

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

    Acesse Aplicativos

  2. Na lista de aplicativos, clique em Edit 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 seguintes opções para indicar a importância do aplicativo:

    • Essencial
    • Alta
    • Meio
    • Baixa
  5. Opcional: no campo Ambiente, selecione uma das seguintes opções 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 de operadores e Proprietários de empresas. Será necessário inserir o endereço de e-mail do proprietário se você adicionar um nome de exibição.

    1. Insira 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, robert.smith@example.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 do 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 dos desenvolvedores, operadores e proprietários da empresa, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: endereços de e-mail dos desenvolvedores, operadores e proprietários da empresa, respectivamente. Esses valores precisam ter o formato username@yourdomain, por exemplo, robert.smith@example.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 e cargas de trabalho de infraestrutura 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ê quiser 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 a 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 para o serviço ou a carga de trabalho nos campos a seguir. Para mais informações, neste documento, consulte Atualizar um aplicativo atual do App Hub. É preciso fornecer um dos valores especificados para os campos Crítica e Ambiente, mas o valor pode ser diferente dos definidos ao criar o aplicativo.
    5. Clique em Registrar.
    6. Atualize a página para conferir o Status de registro do serviço ou a carga de trabalho atualizada para Registrado. Para mais informações sobre os status do registro, consulte as propriedades e atributos do App Hub.

gcloud

  1. Adicione um indivíduo 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á anexado ao projeto host. Esse comando retorna as cargas de trabalho disponíveis para registro 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 à 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. Registrar uma carga de trabalho da etapa anterior no 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 Service Project 3.

  5. Opcional: é possível atualizar as cargas de trabalho com criticality-type, environment-type e atributos de 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 desanexadas, são indicadas por um valor vazio no campo WORKLOAD_REFERENCE. Para mais informações sobre os status do 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. Ele 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 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, filtram-os e registram 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 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 à mostrada a seguir 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 do 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 se abrir, pesquise projetos ou, na lista exibida, 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 os 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 Desassociar 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

Conferir aplicativos, serviços e cargas de trabalho atuais

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

Console

  • Para ver os 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. Uma página com uma lista de serviços e cargas de trabalho registradas para seu aplicativo será exibida.

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

      1. No campo Filtro, selecione um filtro, 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:

      1. No campo Filtro, selecione um filtro, como Ambiente.
      2. Selecione Produção como o valor.
        Será exibida uma lista de serviços e cargas de trabalho no ambiente de produção registrada para um aplicativo.

gcloud

Para visualizar 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. Uma lista de serviços e cargas de trabalho registrados para o aplicativo será exibida.

  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 página que aparece para o serviço ou a carga de trabalho registrada, 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. Neste documento, use as instruções em Adicionar ou remover projetos de serviço para excluir 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 é descoberto e 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