Criar um aplicativo do App Hub usando um único projeto


Neste tutorial, mostramos como configurar um aplicativo do App Hub em um único projeto. Em um projeto de serviço que atua como o projeto host do App Hub, você implanta um grupo gerenciado de instâncias (MIG) com carga balanceada. Em seguida, você visualiza os recursos de infraestrutura como serviços e cargas de trabalho nos aplicativos no projeto host do App Hub.

Este tutorial é destinado a pessoas que configuram e administram o App Hub. Espera-se que você tenha algum conhecimento sobre balanceadores de carga.

Objetivos

Neste tutorial, mostramos como concluir as seguintes tarefas:
  1. Criar um projeto do Google Cloud. Esse é seu projeto host do App Hub.
  2. No Google Cloud, use o Terraform para implantar um MIG com carga balanceada.
  3. Atribua os papéis e as permissões apropriadas ao projeto host.
  4. Anexe o projeto host do App Hub como um projeto de serviço.
  5. Criar um aplicativo no projeto host do App Hub.
  6. Descubra os recursos de infraestrutura como cargas de trabalho e serviços do App Hub.
  7. Registrar serviços e uma carga de trabalho do projeto de serviço no aplicativo e atribuir atributos.
  8. Consulte os detalhes dos serviços e das cargas de trabalho registrados no App Hub.

Custos

Para uma estimativa do custo dos recursos do Google Cloud usados pela solução de VM gerenciada com carga balanceada, consulte a estimativa pré-calculada na calculadora de preços do Google Cloud.

Use a estimativa como um ponto de partida para calcular o custo da implantação. É possível modificar a estimativa para refletir as alterações de configuração planejadas para os recursos usados na solução.

A estimativa pré-calculada tem como base suposições específicas, incluindo o seguinte:

  • Os locais do Google Cloud em que os recursos são implantados.
  • A quantidade de tempo em que os recursos são usados.

Para mais informações sobre os custos do App Hub, consulte a página Preços.

Antes de começar

Se você for o criador do projeto, receberá o papel de proprietário básico (roles/owner). Por padrão, esse papel de gerenciamento de identidade e acesso (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, o 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 o tutorial, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:

Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

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 as APIs necessárias.

    Ative as APIs

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.

    • Crie 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 as APIs :

    gcloud services enable apphub.googleapis.com \
       cloudresourcemanager.googleapis.com \
       compute.googleapis.com \
       config.googleapis.com \
       serviceusage.googleapis.com
    

Como preparar o ambiente

Para ajudá-lo a implantar essa solução com esforço mínimo, é fornecida uma configuração do Terraform no GitHub. A configuração do Terraform define todos os recursos do Google Cloud necessários para a solução. Faça o download da configuração do Terraform no GitHub, personalize o código conforme necessário e implante a solução usando a CLI do Terraform. Depois de implantar a solução, é possível continuar usando o Terraform para gerenciá-la.

Cargas de trabalho e serviços do App Hub com um balanceador de carga e um grupo gerenciado de instâncias.
Figura 1.Cargas de trabalho e serviços do App Hub com um balanceador de carga e um grupo gerenciado de instâncias.

Veja a seguir o fluxo de processamento de solicitação da topologia que a solução de VM gerenciada com balanceamento de carga implanta.

  1. O usuário faz uma solicitação ao aplicativo, que é implantado no Compute Engine. A solicitação chega primeiro ao Cloud Load Balancing.

  2. O Cloud Load Balancing direciona o tráfego para o grupo gerenciado de instâncias do Compute Engine usando as informações na regra de encaminhamento, no mapa de URL e no serviço de back-end.

Configurar o cliente do Terraform

É possível executar o Terraform no Cloud Shell ou no seu host local. Neste guia, descrevemos como executar o Terraform no Cloud Shell, que tem o Terraform pré-instalado e configurado para autenticação com o Google Cloud.

O código do Terraform para esta solução está disponível em um repositório do GitHub.

  1. No Cloud Shell, clone o repositório do GitHub.

    git clone https://github.com/terraform-google-modules/terraform-docs-samples
    
  2. No Cloud Shell, verifique se o diretório de trabalho atual é terraform-docs-samples/lb/regional_external_http_load_balancer. Esse é o diretório que contém os arquivos de configuração do Terraform para a solução. Se você precisar mudar para esse diretório, execute o seguinte comando:

    cd terraform-docs-samples/lb/regional_external_http_load_balancer 
    
  3. Inicialize o Terraform executando o seguinte comando:

    terraform init
    

    Aguarde até ver a seguinte mensagem:

    Terraform has been successfully initialized!
    

Validar e revisar a configuração do Terraform

  1. Verifique se o diretório de trabalho atual é terraform-docs-samples/lb/regional_external_http_load_balancer. Se não estiver, acesse esse diretório.

  2. Verifique se a configuração do Terraform não tem erros:

    terraform validate
    

    Se o comando retornar algum erro, faça as correções necessárias na configuração e execute o comando terraform validate novamente. Repita essa etapa até o comando retornar a seguinte mensagem:

    Success! The configuration is valid.
    
  3. Analise os recursos definidos na configuração:

    terraform plan
    

    A saída do comando terraform plan é uma lista dos recursos provisionados pelo Terraform quando você aplica a configuração.

    Se você quiser fazer alterações, edite a configuração e execute os comandos terraform validate e terraform plan novamente.

Provisionar os recursos

Quando nenhuma outra alteração for necessária na configuração, implante os recursos:

  1. Verifique se o diretório de trabalho atual é terraform-docs-samples/lb/regional_external_http_load_balancer. Se não estiver, acesse esse diretório.

  2. Aplique a configuração do Terraform:

    terraform apply
    

    O Terraform exibe uma lista dos recursos que serão criados.

  3. Quando for solicitado que você execute as ações, digite yes.

    O Terraform exibe mensagens mostrando o progresso da implantação.

    Se não for possível concluir a implantação, o Terraform exibirá os erros que causaram a falha. Analise as mensagens de erro e atualize a configuração para corrigi-los. Em seguida, execute o comando terraform apply novamente.

    Depois que todos os recursos forem criados, o Terraform exibirá a seguinte mensagem:

    Apply complete!
    

Aguarde até que o Terraform exiba a mensagem "Apply complete!".

O Cloud Load Balancing distribui o tráfego para a regra de encaminhamento, o mapa de URL, o serviço de back-end e um MIG do Compute Engine. O serviço de back-end, o mapa de URL e as regras de encaminhamento se tornam serviços descobertos no projeto host do App Hub. O MIG do Compute Engine se torna uma carga de trabalho descoberta no projeto host do App Hub.

Quando você não precisar mais da solução, exclua a implantação para evitar o faturamento contínuo dos recursos do Google Cloud. Para mais informações, consulte Excluir a implantação.

Conceder permissões do IAM

Se necessário, forneça os papéis e as permissões do IAM apropriados ao projeto host do App Hub.

Console

  1. Se quiser receber as permissões necessárias para concluir este tutorial, peça ao administrador para conceder a você os papéis do IAM necessários 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.

gcloud

  1. Opcionalmente, para conceder os papéis a indivíduos que vão administrar o App Hub, repita o comando a seguir substituindo os papéis do IAM, conforme necessário.

    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 no projeto 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. Neste exemplo, o projeto host atua como o projeto de serviço.

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

    Substitua SERVICE_PROJECT_ID pelo nome de HOST_PROJECT_ID.

Anexar um projeto de serviço

Anexe o projeto host em que você implantou os recursos, como o projeto de serviço.

Console

  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 a caixa de seleção do projeto host.

  4. Clique em Selecionar. A tabela Projetos de serviço anexados exibe o projeto host selecionado como o projeto de serviço.

  5. Clique em Fechar.

gcloud

Adicione o projeto host como o projeto de serviço ao projeto host do App Hub.

gcloud apphub service-projects add HOST_PROJECT_ID \
  --project=HOST_PROJECT_ID

Criar um aplicativo

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 Create Application é exibido.

  4. Na lista Local, selecione us-west1.

  5. No campo Nome do aplicativo, digite tutorial-application.

  6. Clique em Continuar.

  7. Na seção Adicionar atributos, insira um Nome de exibição, sample-application.

  8. Na lista Importância, selecione Alta. A criticidade indica a importância de um aplicativo, serviço ou carga de trabalho para as operações comerciais.

  9. No campo Ambiente, para indicar o estágio do ciclo de vida do software, selecione Produção.

  10. Clique em Continuar.

  11. Na seção Adicionar proprietários, adicione os detalhes a seguir para Proprietários de desenvolvedores, Proprietários de operadores e Proprietários de empresas. É necessário inserir o endereço de e-mail do proprietário ao 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.
  12. Repita essas etapas para cada desenvolvedor, operador e proprietário da empresa.

  13. Clique em Criar.

O novo aplicativo é criado e aparece listado na página Aplicativos.

gcloud

  1. Selecione o projeto host que você criou:

    gcloud config set project HOST_PROJECT_ID
  2. Crie um novo aplicativo com o nome tutorial-application na região us-west1 e dê a ele um nome de exibição, Tutorial:

    gcloud apphub applications create tutorial-application \
        --display-name='Tutorial' \
        --scope-type=REGIONAL \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
  3. Liste os aplicativos no projeto host.

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Você verá uma saída semelhante a esta:

    ID: tutorial-application
    DISPLAY_NAME: Tutorial
    CREATE_TIME: 2023-10-31T18:33:48
    
  4. Atualize seu aplicativo com os atributos criticality-type, environment-type e proprietário:

    gcloud apphub applications update tutorial-application \
      --criticality-type='HIGH' \
      --environment-type='PRODUCTION' \
      --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=us-west1
    

    Substitua:

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

    Observações:

    • criticality-type: indica a importância de um aplicativo, serviço ou carga de trabalho para as operações comerciais.
    • environment-type: indica os estágios do ciclo de vida do software.
  5. Confira os detalhes do aplicativo que você criou.

    gcloud apphub applications describe tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    

    O comando retorna informações no formato YAML, semelhante ao seguinte:

    attributes:
    businessOwners:
    – displayName: [DISPLAY-NAME-BUSINESS]
      email: [EMAIL-BUSINESS]
    criticality:
      type: HIGH
    developerOwners:
    – displayName: [DISPLAY-NAME-DEVELOPER]
      email: [EMAIL-DEVELOPER]
    environment:
      type: PRODUCTION
    operatorOwners:
    – displayName: [DISPLAY-NAME-OPERATOR]
      email: [EMAIL-OPERATOR]
    createTime: '2023-10-31T18:33:48.199394108Z'
    displayName: Tutorial
    name: projects/HOST_PROJECT_ID/locations/us-west1/applications/tutorial-application
    scope:
      type: REGIONAL
    state: ACTIVE
    uid: 9d991a9d-5d8a-4c0d-b5fd-85e39fb58c73
    updateTime: '2023-10-31T18:33:48.343303819Z'
    

Registrar serviços e uma carga de trabalho

O registro de serviços e cargas de trabalho os adiciona a um aplicativo.

Console

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

    Acesse Aplicativos

  2. Clique no nome do seu aplicativo, sample-application. 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. Registre um serviço:

    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 Nome do serviço, l7-xlb-backend-service, e clique em Continuar.
    3. Na seção Adicionar atributos, insira o Nome do atributo, sample-service-backend.
    4. Digite um Nome de exibição, service-backend.
    5. Na lista Importância, selecione Alta para indicar a importância do aplicativo.
    6. No campo Ambiente, para indicar o estágio do ciclo de vida do software, selecione Produção.
    7. Clique em Continuar.
    8. 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.
    9. Repita essas etapas para cada desenvolvedor, operador e proprietário da empresa.
    10. Clique em Registrar.

    Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, é possível ver o novo serviço adicionado.

  4. Repita as etapas anteriores para registrar os outros serviços como sample-service-forwarding-rule e sample-service-url-map, respectivamente.

  5. Registre uma carga de trabalho repetindo as etapas anteriores para registrar um serviço com as seguintes exceções:

    1. No painel Registrar serviço ou carga de trabalho, na seção Escolher serviço ou carga de trabalho, selecione o Nome da carga de trabalho, l7-xlb-backend-example, e clique em Continuar.
    2. Na seção Adicionar atributos, insira o Nome do atributo sample-workload.
    3. Insira um Nome de exibição, workload-instance-group.

    Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, é possível ver a nova carga de trabalho adicionada.

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 todos os serviços descobertos no projeto host. Esse comando retorna serviços disponíveis para registro em um aplicativo.

    gcloud apphub discovered-services list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Você verá uma saída semelhante a esta:

    ID: 71dd6fa4-5644-43ee-918f-c5fda03ffe24
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: fe831ba4-ec16-4eb8-9ea4-b394fd30f561
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    
    ID: 637a3216-c6cc-410e-8bf9-83b7ef66a62f
    SERVICE_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    SERVICE_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}
    

    Copie o serviço ID, por exemplo, 71dd6fa4-5644-43ee-918f-c5fda03ffe24 da saída para usar na próxima etapa.

  3. Registre os serviços da etapa anterior no aplicativo. Copie os IDs de serviço do campo de saída na etapa anterior.

    gcloud apphub applications services create sample-service-backend \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \
        --display-name='service-backend' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-forwarding-rule \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \
        --display-name='service-forwarding-rule' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    
    gcloud apphub applications services create sample-service-url-map \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/URL_MAP_SERVICE_ID' \
        --display-name='url-map' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Substitua:

    • BACKEND_SERVICE_ID: o serviço ID do serviço de back-end que você quer registrar.
    • FORWARDING_RULE_SERVICE_ID: o serviço ID da regra de encaminhamento que você quer registrar.
    • URL_MAP_SERVICE_ID: o serviço ID do mapa de URL que você quer registrar.
  4. Liste todos os serviços registrados no aplicativo.

    gcloud apphub applications services list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Você verá uma saída semelhante a esta:

    ID: sample-service-backend
    DISPLAY_NAME: service-backend
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-forwarding-rule
    DISPLAY_NAME: service-forwarding-rule
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'}
    CREATE_TIME: 2024-02-13T00:31:45
    
    ID: sample-service-url-map
    DISPLAY_NAME: url-map
    SERVICE_REFERENCE:  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    Os serviços registrados, mas desconectados, são indicados por um valor vazio no campo SERVICE_REFERENCE. Para mais informações sobre os status do registro, consulte as propriedades e atributos do App Hub.

  5. Liste todas as cargas de trabalho descobertas no projeto host. Ele retorna cargas de trabalho que estão disponíveis para serem registradas em um aplicativo.

    gcloud apphub discovered-workloads list \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Você verá uma saída semelhante a esta:

    ID: c9c08669-0fd2-4f7c-b2b1-2cf3c57662c2
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    WORKLOAD_PROPERTIES: {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1', 'zone': 'us-west1-a'}
    

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

  6. Registre a carga de trabalho da etapa anterior no aplicativo como sample-workload. Copie o ID da carga de trabalho do campo de saída na etapa anterior.

    gcloud apphub applications workloads create sample-workload \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/WORKLOAD_ID' \
        --display-name='workload-instance-group' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Substitua WORKLOAD_ID pelo ID da carga de trabalho que você quer registrar.

  7. Liste todas as cargas de trabalho registradas no aplicativo.

    gcloud apphub applications workloads list \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=us-west1
    

    Você verá uma saída semelhante a esta:

    ID: sample-workload
    DISPLAY_NAME: workload-instance-group
    WORKLOAD_REFERENCE: {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'}
    CREATE_TIME: 2024-02-13T00:31:45
    

    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.

Conferir todos os serviços e cargas de trabalho

É possível visualizar detalhes dos serviços e cargas de trabalho de todos os projetos de serviço anexados ao projeto host.

  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"

    Todos os serviços e cargas de trabalho dos projetos de serviço anexados são exibidos.

  2. Na lista Região, selecione us-west1. A carga de trabalho workload-instance-group é exibida com detalhes como Tipo do App Hub, Importante e Registrado em.

  3. Para filtrar os serviços ou as cargas de trabalho com base no estado:

    1. No campo Filtro, selecione filtros como Status do registro.
    2. Clique em Registered. Uma lista de serviços e cargas de trabalho registradas para o aplicativo é exibida.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Excluir os recursos do App Hub

Console

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

    Acesse Aplicativos

  2. Clique no nome de um aplicativo, sample-application.

  3. Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, clique no nome do serviço, service-forwarding-rule.

  4. Na página Serviços e cargas de trabalho, clique em Cancelar registro. Um alerta notifica que o serviço não está registrado.

  5. Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, clique no nome da carga de trabalho, workload-instance-group.

  6. Na página Serviços e cargas de trabalho, clique em Cancelar registro. Um alerta notifica que a carga de trabalho não está registrada.

  7. Acesse a página Aplicativos do App Hub.

    Acesse Aplicativos

  8. Clique no nome de um aplicativo.

  9. Na página tutorial-application, clique em Delete.

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

    Acesse configurações

  11. Na página Configurações, marque a caixa de seleção do SERVICE_PROJECT_ID que você quer remover do projeto host.

  12. Clique em Desassociar projetos.

gcloud

  1. Liste os serviços registrados no aplicativo:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  2. Cancele o registro dos serviços no aplicativo:

    gcloud apphub applications services delete sample-service-backend \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-forwarding-rule \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
    gcloud apphub applications services delete sample-service-url-map \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

    Os serviços agora são serviços descobertos que podem ser registrados no aplicativo.

  3. Liste as cargas de trabalho registradas no aplicativo:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    
  4. Cancele o registro da carga de trabalho no aplicativo:

    gcloud apphub applications workloads delete sample-workload \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=us-west1
    

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

  5. Exclua o aplicativo:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=us-west1
    
  6. Remova o projeto de serviço do projeto host:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
      --project=HOST_PROJECT_ID
    

Excluir a implantação

Quando você não precisar mais da solução, exclua todos os recursos para evitar o faturamento contínuo dos recursos criados nesta solução.

Use este procedimento se você tiver implantado a solução usando a CLI do Terraform.

  1. No Cloud Shell, verifique se o diretório de trabalho atual é terraform-docs-samples/lb/regional_external_http_load_balancer. Se não estiver, acesse esse diretório.

  2. Remova os recursos provisionados pelo Terraform:

    terraform destroy
    

    O Terraform exibe uma lista dos recursos que serão destruídos.

  3. Quando for solicitado que você execute as ações, digite yes.

    O Terraform exibe as mensagens que mostram o progresso. Depois que todos os recursos forem excluídos, o Terraform exibirá a seguinte mensagem:

    Destroy complete!
    

Quando você não precisar mais do projeto do Google Cloud usado na solução, exclua-o.

Exclua o projeto

    Exclua um projeto do Google Cloud:

    gcloud projects delete PROJECT_ID

Substitua PROJECT_ID pelo HOST_PROJECT_ID.

A seguir