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 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 o 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. Use o Terraform para implantar uma rede VPC, um balanceador de carga de aplicativo externo regional e um MIG que seja 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. Descubra os recursos de infraestrutura como serviços e cargas de trabalho do App Hub.

  7. Registre serviços e uma carga de trabalho do projeto de serviço no aplicativo e atribua 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 é o criador do projeto, as permissões necessárias precisam ser concedidas ao 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 a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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. Selecionar ou criar um projeto do Google Cloud como o projeto host do App Hub.

  3. Enable the required APIs.

    Enable the APIs

gcloud

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

    Activate Cloud Shell

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

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

      gcloud components update

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

    • Crie um 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, é 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.

Confira a seguir o fluxo de processamento de solicitações da topologia implantada pela solução de VM gerenciada 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 para o 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 mapa de URL, serviço de back-end e 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 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

Forneça 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 ao administrador para conceder a você os papéis do IAM necessários 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 participantes, insira o endereço de e-mail da pessoa que vai administrar o App Hub, a função Administrador do App Hub no projeto de hospedagem.

    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 tem a função de administrador do App Hub no projeto host. Esse valor tem o formato username@yourdomain, por exemplo, robert.smith@example.com.

  2. Conceda o papel de administrador do App Hub no projeto de serviço ao para indivíduos que administram o App Hub. Eles precisam ter a função de administrador do App Hub para adicionar projetos de serviço ao projeto host. 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 projeto de serviço.

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 abrir, 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.

  4. Na página Criar aplicativo, em Escolher região do aplicativo e nome, na lista Região, selecione us-west1.

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

  6. Insira um Nome de exibição, sample-application e clique em Continuar.

  7. No painel Adicionar atributos, na lista Importância, selecione Alta. A criticidade indica o nível de importância do aplicativo, serviço ou carga de trabalho para suas operações comerciais.

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

  9. Clique em Continuar.

  10. No painel Adicionar proprietários, adicione os seguintes detalhes para Proprietários do desenvolvedor, Proprietários do operador e Proprietários da empresa. Você precisará inserir o endereço de e-mail do proprietário se adicionar uma tela nome.

    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, 222larabrown@gmail.com.
  11. Repita essas etapas para cada desenvolvedor, operador e proprietário da empresa.

  12. Clique em Criar.

O novo aplicativo é criado e 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 chamado 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 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 precisam ter o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.

    Observações:

    • criticality-type: indica a importância de um aplicativo, serviço ou carga de trabalho para as operações de negócios.
    • environment-type: indica os estágios do software no ciclo de vida de ML.
  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 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. Na página Registrar serviço ou carga de trabalho, em No painel Selecionar recurso, clique em Procurar para selecionar o serviço ou carga de trabalho como um Recurso.
    3. No painel Selecionar recurso, escolha o Nome do serviço, l7-xlb-backend-service, e clique em Selecionar.
    4. No painel Select resource, insira o Nome do recurso, sample-service-backend.
    5. Insira um Nome de exibição, service-backend e clique em Continuar.
    6. No painel Add attributes, na lista Criticality, para indicar a importância do aplicativo, selecione High.
    7. No campo Ambiente, para indicar o estágio do ciclo de vida do software, selecione Produção.
    8. Clique em Continuar.
    9. No painel Adicionar proprietários, adicione os seguintes detalhes conforme necessário para Proprietários do desenvolvedor, Proprietários do operador e Proprietários da empresa. É 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, 222larabrown@gmail.com.
    10. Repita essas etapas para cada desenvolvedor, operador e proprietário da empresa.
    11. Clique em Registrar.

    Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, você pode conferir 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. Para registrar uma carga de trabalho, repita 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. No painel 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, 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 a função de 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 os serviços que estão 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 seu app. 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 da regra de encaminhamento que você quer registrar.
    • URL_MAP_SERVICE_ID: o serviço ID do URL. mapa que você quer registrar.
  4. Lista 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 separados, são indicados por um valor vazio no campo 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 cargas de trabalho que estão disponíveis para registro 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 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
    

    Registradas, mas as cargas de trabalho desconectadas são indicadas por um valor vazio no campo WORKLOAD_REFERENCE. Para mais informações sobre os status de registro, consulte as propriedades e os 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 é mostrada com detalhes como App Hub Type, Criticality e Registered to.

  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 Registrado. Uma lista de serviços e cargas de trabalho registrados no aplicativo será 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 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 guia Detalhes, 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 Excluir.

  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 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 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ê 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 Encerrar para excluir o projeto.

gcloud

Exclua um projeto do Google Cloud:

gcloud projects delete PROJECT_ID

Substitua PROJECT_ID por HOST_PROJECT_ID.

A seguir