Este tutorial mostra como configurar um aplicativo do App Hub em um único projeto que funciona como o projeto de host e de serviço do App Hub. Em um projeto de serviço, você implanta um grupo gerenciado de instâncias (MIG, na sigla em inglês) balanceado de carga e anexa o projeto de serviço ao projeto host do App Hub. Em seguida, em um aplicativo no projeto host do App Hub, você registra e monitora todos os recursos de infraestrutura do projeto de serviço como serviços e cargas de trabalho do App Hub.
Este tutorial é destinado a pessoas que configuram e administram o App Hub. Você precisa ter alguma experiência com o Cloud Load Balancing.
Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:- Criar ou selecionar um projeto do Google Cloud. Esse projeto é o host e o projeto de serviço do App Hub. Neste projeto, ative a API App Hub.
Neste projeto, use o Terraform para implantar uma rede VPC, um balanceador de carga de aplicativo externo regional e um back-end MIG para o 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 recursos descobertos no App Hub. Para mais informações, consulte conceitos e modelo de dados.
Forneça as funções e permissões adequadas a esse projeto para que ele seja o projeto host do hub de apps.
Anexe o projeto host do App Hub como um projeto de serviço do App Hub para descobrir os recursos do Google Cloud do projeto de serviço como serviços e cargas de trabalho descobertos.
Crie um aplicativo regional do App Hub no projeto host do App Hub.
Registre os serviços descobertos e uma carga de trabalho do projeto de serviço no App Hub e atribua atributos.
Confira 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 balanceamento de carga, 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 é o criador do projeto, as permissões necessárias precisam ser concedidas ao principal apropriado. Por exemplo, um principal pode ser uma Conta do Google (para usuários finais) ou uma conta de serviço (para aplicativos e cargas de trabalho).
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:
-
Administrador do Service Usage (
roles/serviceusage.services.enable
) -
Administrador da conta de serviço (
roles/iam.serviceAccounts.create
) -
Administrador de projetos do IAM (
roles/resourcemanager.projectIamAdmin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
Administrador do App Hub (
roles/apphub.admin
)
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
No console do Google Cloud, acesse a página do seletor de projetos.
Selecione ou crie um projeto do Google Cloud para ser o projeto de hospedagem do App Hub.
-
Enable the required APIs.
gcloud
-
In the Google Cloud console, 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.
Verifique se a versão mais recente da Google Cloud CLI está instalada. Execute o comando a seguir no Cloud Shell:
gcloud components update
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
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.
Confira a seguir o fluxo de processamento de solicitações da topologia implantada pela solução de VM gerenciada com balanceamento de carga.
O usuário faz uma solicitação ao aplicativo, que é implantado no Compute Engine. O Cloud Load Balancing recebe essa solicitação.
Cloud Load Balancing roteia o tráfego para os grupos de instâncias gerenciadas do Compute Engine usando 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. Este tutorial descreve como executar o Terraform no Cloud Shell, que tem o Terraform pré-instalado e configurado para autenticar com o Google Cloud.
O código do Terraform para esta solução está disponível em um repositório do GitHub.
No Cloud Shell, clone o repositório do GitHub para o Cloud Shell.
git clone https://github.com/terraform-google-modules/terraform-docs-samples
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
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
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.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.
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
eterraform plan
novamente.
Provisionar os recursos
Quando nenhuma outra alteração for necessária na configuração, implante os recursos:
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.Aplique a configuração do Terraform:
terraform apply
O Terraform exibe uma lista dos recursos que serão criados.
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 URLs, 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 passam a ser 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
Forneça os papéis e as permissões do IAM apropriados ao projeto host do App Hub.
Console
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:
No console do Google Cloud, abra a página IAM.
Clique em
Conceder acesso. O painel Conceder acesso será aberto.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.
Clique em Selecionar uma função e, no campo Filtro, insira
App Hub
.Selecione a função Administrador do App Hub.
Clique em Adicionar outro papel e, na lista Selecionar um papel, selecione Leitor de monitoramento.
Clique em Salvar.
gcloud
Para conceder as funções a pessoas que vão usar o App Hub, repita o comando a seguir substituindo as funções do IAM, conforme necessário. Para mais informações, consulte Papéis e permissões do App Hub.
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 formatousername@yourdomain
, por exemplo,222larabrown@gmail.com
.Conceda a função de administrador do App Hub no projeto de serviço às pessoas que administram o App Hub. Eles precisam ter o papel de administrador do App Hub para adicionar projetos de serviço ao projeto host. É necessário ter pelo menos uma pessoa com essa função 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 do HOST_PROJECT_ID.Conceda o papel de leitor de monitoramento no projeto host às pessoas que administram o App Hub. Eles precisam ter o papel de leitor de monitoramento no projeto host para conferir as métricas.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/monitoring.viewer'
Anexar um projeto de serviço
Os projetos de serviço são projetos do Google Cloud que contêm recursos de infraestrutura que podem ser registrados em um aplicativo do App Hub. Para mais informações, consulte Projetos de serviço. Para este tutorial, como temos apenas um projeto, anexe o projeto em que você implantou os recursos como o projeto de serviço do App Hub.
Console
No console do Google Cloud, acesse a página Configurações do App Hub.
Na página Configurações, clique em Anexar projetos.
No painel que abrir, pesquise projetos na lista exibida e selecione as caixas de seleção dos projetos de serviço do App Hub.
Clique em Selecionar. A tabela Attached Service Project(s) mostra o projeto host selecionado como o projeto de serviço.
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
Depois de anexar o projeto de serviço ao projeto host do App Hub, você pode conferir todos os recursos do Google Cloud do projeto de serviço anexado como serviços e cargas de trabalho descobertos do App Hub. Para mais informações sobre como visualizar esses serviços e cargas de trabalho descobertos, consulte Conferir aplicativos, serviços e cargas de trabalho atuais.
Criar um aplicativo
Crie um aplicativo para ser o contêiner dos seus serviços e cargas de trabalho. Ao criar um aplicativo, é possível atribuir propriedades imutáveis, como um tipo de escopo ou local em que você quer registrar recursos e atributos variáveis, como criticidade e ambiente. É possível usar os atributos de variáveis para filtrar as aplicações. Para mais informações, consulte Propriedades e atributos.
Console
- Verifique se você está no projeto host do App Hub.
No console do Google Cloud, acesse a página Applications do App Hub.
Clique em Criar aplicativo.
Na página Criar aplicativo, no painel Escolher região e nome do aplicativo, selecione Regional.
Na lista Região, selecione us-west1.
No campo Nome do aplicativo, digite
tutorial-application
. Esse nome é um identificador exclusivo e não pode ser alterado depois que você cria o aplicativo.Insira um Nome de exibição,
Tutorial
e clique em Continuar. É um nome fácil de usar que pode ser atualizado. Para mais informações, consulte Atualizar um aplicativo atual.No painel Adicionar atributos, na lista Gravidade, selecione Alta. A importância indica o quanto um aplicativo, serviço ou carga de trabalho é importante para as operações comerciais.
No campo Ambiente, para indicar o estágio do ciclo de vida do software, selecione Produção.
Clique em Continuar.
No painel Adicionar proprietários, adicione os seguintes detalhes 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.
- Insira o nome de exibição de um proprietário.
- Insira o endereço de e-mail do proprietário. Esse valor precisa ter
o formato
username@yourdomain
, por exemplo,222larabrown@gmail.com
.
Repita essas etapas para cada desenvolvedor, operador e proprietário de empresa.
Clique em Criar.
O novo aplicativo é criado e listado na página Aplicativos.
gcloud
Selecione o projeto host do App Hub que você criou:
gcloud config set project HOST_PROJECT_ID
Crie um novo aplicativo chamado
tutorial-application
na regiãous-west1
e atribua um nome de exibição,Tutorial
. Esse nome de aplicativo,tutorial-application
, é um identificador exclusivo e não pode ser modificado depois que você cria o aplicativo. O nome de exibição,Tutorial
, é um nome fácil de usar que pode ser atualizado. Para mais informações, consulte Atualizar um aplicativo atual.gcloud apphub applications create tutorial-application \ --display-name='Tutorial' \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=us-west1
Liste os aplicativos no projeto host do App Hub:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
Você verá uma saída semelhante a esta:
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
Atualize seu app 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
eDISPLAY-NAME-BUSINESS
: mostram os nomes dos proprietários do desenvolvedor, do operador e da empresa, respectivamente.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
eEMAIL-NAME-BUSINESS
: endereços de e-mail dos proprietários do desenvolvedor, do operador e da empresa, respectivamente. Esses valores precisam ter o formatousername@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 as fases do ciclo de vida do software.
Confira os detalhes do app 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 a este:
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 que permite monitorar os recursos adicionados.
Console
No console do Google Cloud, acesse a página Applications do App Hub.
Clique no nome do seu aplicativo, Tutorial. A guia Serviços e cargas de trabalho é mostrada com uma lista de serviços e cargas de trabalho registrados nos projetos de serviço do App Hub.
Registre um serviço:
- Na guia Serviços e cargas de trabalho, clique em Registrar serviço/carga de trabalho.
- Na página Registrar serviço ou carga de trabalho, no painel Selecionar recurso, clique em Procurar para selecionar o serviço ou a carga de trabalho como um Recurso.
- No painel Selecionar recurso, escolha o Nome do serviço, l7-xlb-backend-service, e clique em Selecionar.
- No painel Select resource, insira o Nome do recurso,
tutorial-service-backend
. - Insira um Nome de exibição,
Backend service
e clique em Continuar. - No painel Add attributes, na lista Criticality, para indicar a importância do aplicativo, selecione High.
- No campo Ambiente, para indicar o estágio do ciclo de vida do software, selecione Produção.
- Clique em Continuar.
- 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.
- Insira o nome de exibição de um proprietário.
- Insira o endereço de e-mail do proprietário. Esse valor precisa ter
o formato
username@yourdomain
, por exemplo,222larabrown@gmail.com
.
- Repita essas etapas para cada desenvolvedor, operador e proprietário de empresa.
- 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.
Repita as etapas anteriores para registrar os outros serviços como tutorial-service-forwarding-rule e tutorial-service-url-map, respectivamente.
Para registrar uma carga de trabalho, repita as etapas anteriores para registrar um serviço com as seguintes exceções:
- 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.
- No painel Select resource, insira o Nome do recurso,
tutorial-workload-mig
. - Insira um Nome de exibição,
Workload instance group
e clique em Continuar. Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, você pode conferir a nova carga de trabalho adicionada.
gcloud
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 do App Hub. Esse valor tem o formatousername@yourdomain
, por exemplo,222larabrown@gmail.com
.Listar todos os serviços descobertos no projeto host do App Hub. 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 SERVICE_REFERENCE SERVICE_PROPERTIES
BACKEND_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}FORWARDING_RULE_SERVICE_ID"
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}URL_MAP_SERVICE_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} {'gcpProject': 'projects/SERVICE_PROJECT_ID', 'location': 'us-west1'}Copie os
ID
s do serviço, por exemplo,BACKEND_SERVICE_SP2_ID
da saída para usar na próxima etapa.Registre os serviços da etapa anterior no seu aplicativo. Copie os IDs de serviço do campo de saída na etapa anterior.
gcloud apphub applications services create tutorial-service-backend \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_ID' \ --display-name='Backend service' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-service-forwarding-rule \ --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/FORWARDING_RULE_SERVICE_ID' \ --display-name='Forwarding rule' \ --criticality-type='HIGH' \ --environment-type='PRODUCTION' \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
gcloud apphub applications services create tutorial-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çoID
do serviço de back-end que você quer registrar.FORWARDING_RULE_SERVICE_ID
: o serviçoID
da regra de encaminhamento que você quer registrar.URL_MAP_SERVICE_ID
: o serviçoID
do mapa de URL que você quer registrar.
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 DISPLAY_NAME SERVICE_REFERENCE CREATE_TIME tutorial-service-backend Backend service {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/backendServices/l7-xlb-backend-service'} 2024-02-13T00:31:45 tutorial-service-forwarding-rule Forwarding rule {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/forwardingRules/l7-xlb-forwarding-rule'} 2024-02-13T00:31:45 tutorial-service-url-map URL map {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/regions/us-west1/urlMaps/regional-l7-xlb-map'} 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 as propriedades e os atributos do App Hub.Liste todas as cargas de trabalho descobertas no projeto host do App Hub. Esse comando retorna as 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 WORKLOAD_REFERENCE WORKLOAD_PROPERTIES
INSTANCE_GROUP_ID
{'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} {'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.
Registre a carga de trabalho da etapa anterior no seu aplicativo como
tutorial-workload-mig
. Copie o ID da carga de trabalho do campo de saída na etapa anterior.gcloud apphub applications workloads create tutorial-workload-mig \ --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.Lista 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 DISPLAY_NAME WORKLOAD_REFERENCE CREATE_TIME tutorial-workload-mig Workload instance group {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_NUMBER]/zones/us-west1-a/instanceGroups/l7-xlb-backend-example'} 2024-02-13T00:31:45
As cargas de trabalho registradas, mas separadas, 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.
Conferir todos os serviços e cargas de trabalho
É possível conferir detalhes dos serviços e dos workloads nos projetos de serviço anexados ao projeto host do App Hub.
No console do Google Cloud, acesse a página Serviços e cargas de trabalho do App Hub.
Na lista Região, selecione us-west1. A carga de trabalho do grupo de instâncias de carga de trabalho é mostrada com detalhes como Tipo de hub de apps, Crítica e Registrado em.
Para filtrar os serviços ou cargas de trabalho com base no estado deles:
- No campo Filtro, selecione opções como Status do registro.
- Clique em Registrado. Uma lista de serviços e cargas de trabalho registrados no aplicativo vai aparecer.
Ver métricas do aplicativo
É possível conferir as métricas do sistema dos aplicativos criados no projeto de host do App Hub. Essas métricas correspondem aos indicadores de ouro: tráfego, erros, latência e saturação que ajudam a monitorar o desempenho e a integridade do aplicativo.
No console do Google Cloud, acesse a página Applications do App Hub.
Clique no nome do aplicativo,
Tutorial
.A guia Serviços e cargas de trabalho é mostrada com os metadados dos serviços e das cargas de trabalho registrados no aplicativo.
Para conferir as métricas do sistema de serviços e cargas de trabalho registrados, clique em Métricas.
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
No console do Google Cloud, acesse a página Aplicativos do Hub de apps.
Clique no nome de um aplicativo, Tutorial.
Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, clique no nome de um serviço.
Na página Serviços e cargas de trabalho, clique em Cancelar registro.
Um alerta notifica que o serviço não está registrado.
Na guia Serviços e cargas de trabalho, na seção Serviços e cargas de trabalho registrados, clique no nome de uma carga de trabalho.
Na guia Detalhes, clique em Cancelar registro.
Um alerta notifica que a carga de trabalho não está registrada.
Acesse a página Aplicativos do hub.
Clique no nome de um aplicativo.
Na página tutorial-application, clique em Delete.
No console do Google Cloud, acesse a página Configurações do App Hub.
Na página Settings, marque a caixa de seleção do projeto de serviço que você quer remover do projeto de host do App Hub.
Clique em Desanexar projetos.
gcloud
Liste os serviços registrados no aplicativo:
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Cancele o registro dos serviços do aplicativo:
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
SERVICE_NAME
pelo nome do serviço;Os serviços agora são serviços descobertos que podem ser registrados no aplicativo.
Liste as cargas de trabalho registradas no aplicativo:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Cancele o registro da carga de trabalho no aplicativo:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Substitua
WORKLOAD_NAME
pelo nome da carga de trabalho.A carga de trabalho agora é uma carga de trabalho descoberta que pode ser registrada no aplicativo.
Exclua o aplicativo:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Remova o projeto de serviço do projeto host do App Hub:
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.
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.Remova os recursos provisionados pelo Terraform:
terraform destroy
O Terraform exibe uma lista dos recursos que serão destruídos.
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
- No console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- 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
pelos IDs do projeto host ou de serviço.