Criar um aplicativo do App Hub usando um único projeto


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

Este tutorial é destinado a pessoas que configuram e administram App Hub. Você deve ter alguma experiência Cloud Load Balancing.

Objetivos

Nesta seção, mostramos como concluir as seguintes tarefas:

  1. Criar ou selecionar um projeto do Google Cloud. Este projeto é seu projeto host do App Hub.
  2. Usar o Terraform para implantar uma rede VPC, um balanceador de carga de aplicativo externo regional e um MIG que é o endpoint do balanceador de carga. O balanceador de carga de aplicativo externo regional inclui os seguintes recursos:

    • Verificação de integridade de HTTP
    • Regra de encaminhamento
    • Mapa de URL
    • Proxy de destino
    • Serviço de back-end com um grupo de instâncias gerenciadas como o back-end
    • Certificado SSL (para HTTPS)

    Somente a regra de encaminhamento, o mapa de URL, o serviço de back-end e o MIG ficam disponíveis como descobriu recursos no App Hub. Para mais informações, consulte conceitos e modelo de dados.

  3. Atribua os papéis e permissões apropriados ao projeto host.

  4. Anexe o projeto host do App Hub como um projeto de serviço.

  5. Crie um aplicativo no projeto host do App Hub.

  6. Descobrir os recursos de infraestrutura como serviços do App Hub e do Google Cloud.

  7. Registre serviços e uma carga de trabalho do projeto de serviço no e atribuir atributos.

  8. Confira os detalhes dos serviços e cargas de trabalho registrados no App Hub.

Custos

Para uma estimativa do custo dos recursos do Google Cloud que o que a solução de VM gerenciada com balanceamento de carga usa, confira a estimativa pré-calculada 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 devem ser concedidas no para o principal apropriado. Por exemplo, um principal pode ser um uma Conta do Google (para usuários finais) ou uma conta de serviço (para aplicativos e do Google Cloud).

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 com papéis personalizados ou 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. Selecionar ou criar um projeto do Google Cloud como 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. Executar o seguinte comando no Cloud Shell:

      gcloud components update

  3. Crie ou selecione um novo projeto HOST_PROJECT_ID, como 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. Fazer o download da configuração do Terraform no GitHub, personalizar o código conforme necessário e implantar a solução usando a CLI do Terraform. Depois de implantar a solução, você pode 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ções da topologia que o e implantação de soluções de VM gerenciadas com balanceamento de carga.

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

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

Configurar o cliente do Terraform

É possível executar o Terraform no Cloud Shell ou no seu host local. Isso tutorial descreve como executar o Terraform no Cloud Shell, que tem 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 no Cloud Shell.

    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 os servidores mapa de URL, serviço de back-end e MIG do Compute Engine. O back-end serviço, mapa de URL e regras de encaminhamento se tornam serviços descobertos no projeto host do App Hub. O O MIG do Compute Engine se torna uma carga de trabalho descoberta nos 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

Atribua os papéis e permissões apropriados do IAM para projeto host do App Hub.

Console

  1. Para ter as permissões necessárias para concluir este tutorial, peça para o administrador conceder a você o 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 do pessoa física que vai administrar o App Hub, o papel Administrador do App Hub no projeto host.

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

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

gcloud

  1. Conceder os papéis a indivíduos que vão administrar App Hub, repita o comando a seguir substituindo 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 o papel Administrador do App Hub no projeto host. Esse valor tem no formato username@yourdomain, por exemplo, robert.smith@example.com.

  2. Conceda o papel de administrador do App Hub no projeto de serviço ao para indivíduos que administram o App Hub. Eles devem ter o Papel de administrador do App Hub para adicionar projetos de serviço ao host projeto. Você precisa de pelo menos uma pessoa com esse papel em cada serviço projeto. 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 do HOST_PROJECT_ID.

Anexar um projeto de serviço

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

Console

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

    Acesse configurações

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

  3. No painel que aparecer, pesquise projetos na lista exibida e Marque a caixa de seleção do projeto host.

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

  5. Clique em Fechar.

gcloud

Adicionar o projeto host como o projeto de serviço ao App Hub projeto host.

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 Criar aplicativo está exibidos.

  4. Na lista Região, selecione us-west1.

  5. No campo Application Name, insira 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. Importância indica a importância de um aplicativo, serviço ou carga de trabalho para sua empresa operations.

  9. No campo Environment, para indicar o estágio do software selecione Produção.

  10. Clique em Continuar.

  11. Na seção Adicionar proprietários, insira os seguintes detalhes: para Proprietários de desenvolvedores, Proprietários operadores e Proprietários de empresas. Você precisará digitar o endereço de e-mail do proprietário se adicionar uma tela nome.

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

  13. Clique em Criar.

O novo aplicativo é criado e aparece 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 ela 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 o aplicativo com criticality-type, environment-type. e proprietários:

    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 do desenvolvedor, operador e proprietário da empresa, respectivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: endereços de e-mail do desenvolvedor, operador e proprietário da empresa, respectivamente. Esses valores devem têm o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.

    Observações:

    • criticality-type: indica o nível de importância do aplicativo. serviço ou carga de trabalho é para suas operações comerciais.
    • environment-type: indica os estágios do software no ciclo de vida de ML.
  5. Receba 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 é mostrada com uma lista de serviços e cargas de trabalho que estão nos projetos de serviço.

  3. Registre um serviço:

    1. Na guia Serviços e cargas de trabalho, clique em Registre serviço/carga de trabalho.
    2. No painel Registrar serviço ou carga de trabalho, na seção 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, digite o Nome do atributo. sample-service-backend
    4. Insira um Nome de exibição, service-backend.
    5. Na lista Importância, para indicar a importância do aplicativo, selecione Alta.
    6. No campo Environment, para indicar o estágio do software selecione Produção.
    7. Clique em Continuar.
    8. Adicione os seguintes detalhes conforme necessário para os proprietários de desenvolvedores: Proprietários operadores e Proprietários de empresas. Você deve inserir o endereço de e-mail do proprietário caso adicione 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 deve ter no formato username@yourdomain, por exemplo, 222larabrown@gmail.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, adicionado.

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

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

    1. No painel Registrar serviço ou carga de trabalho, na seção seção Escolher serviço ou carga de trabalho, selecione o Nome do carga de trabalho, l7-xlb-backend-example, e clique em Continuar.
    2. Na seção Adicionar atributos, digite 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, carga de trabalho adicionada.

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 "Editor do App Hub" no projeto host. Esse valor tem no formato username@yourdomain, por exemplo, robert.smith@example.com.

  2. Liste todos os serviços descobertos no projeto host. Esse comando retorna serviços que estão disponíveis para serem registrados 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 seu aplicativo. Copiar 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 de a regra de encaminhamento que você quer registrar.
    • URL_MAP_SERVICE_ID: o serviço ID do URL. mapa 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 na SERVICE_REFERENCE. Para mais informações sobre os status de registro, consulte propriedades e atributos do App Hub.

  5. Liste todas as cargas de trabalho descobertas no projeto host. Esse comando retorna 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 para a próxima etapa.

  6. Registre a carga de trabalho da etapa anterior no seu aplicativo como sample-workload. Copie o ID da carga de trabalho o campo de saída da 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 do 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
    

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

Ver todos os serviços e cargas de trabalho

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

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

    Acessar "Serviços e cargas de trabalho"

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

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

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

    1. No campo Filter, selecione filtros como Registration status.
    2. Clique em Registrado. Uma lista de serviços e cargas de trabalho registrados para o aplicativo.

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 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, no na seção Serviços e cargas de trabalho registrados, clique no nome 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, no na seção Serviços e cargas de trabalho registrados, clique no nome carga de trabalho: workload-instance-group.

  6. Na guia Detalhes, clique em Cancelar o 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 Excluir.

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

    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 Desanexar 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 do 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 para o 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 para o 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ê implantou 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

Console

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você excluir e clique em Excluir.
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerre para excluir o projeto.

gcloud

Exclua um projeto do Google Cloud:

gcloud projects delete PROJECT_ID

Substitua PROJECT_ID pelo HOST_PROJECT_ID.

A seguir