Este tutorial mostra como configurar uma aplicação do App Hub num único projeto que funciona como o projeto de anfitrião e serviço do App Hub. Num projeto de serviço, implementa um grupo de instâncias gerido (MIG) com balanceamento de carga e anexa o projeto de serviço ao projeto anfitrião do App Hub. Em seguida, numa aplicação no projeto anfitrião do App Hub, regista e monitoriza todos os recursos de infraestrutura do projeto de serviço como serviços e cargas de trabalho do App Hub.
Este tutorial destina-se a pessoas que configuram e administram o App Hub. Deve ter alguma experiência com o Cloud Load Balancing.
Objetivos
Este tutorial mostra como concluir as seguintes tarefas:- Crie ou selecione um Google Cloud projeto. Este projeto é o seu projeto de serviço e anfitrião do App Hub. Neste projeto, ative a API App Hub.
Neste projeto, use o Terraform para implementar uma rede VPC, um balanceador de carga de aplicações externo regional e um back-end de MIG para o balanceador de carga. O Application Load Balancer externo regional inclui os seguintes recursos:
- Verificação de funcionamento de HTTP
- Regra de encaminhamento
- Mapa do URL
- Proxy de destino
- Serviço de back-end com um grupo de instâncias geridas como back-end
- Certificado SSL (para HTTPS)
Apenas a regra de encaminhamento, o mapa de URLs, o serviço de back-end e o MIG ficam disponíveis como recursos descobertos no App Hub. Para mais informações, consulte os conceitos e o modelo de dados.
Atribua as funções e as autorizações adequadas a este projeto para atuar como o projeto anfitrião do App Hub.
Anexe o projeto anfitrião do App Hub como um projeto de serviço do App Hub para descobrir recursos do projeto de serviço como serviços e cargas de trabalho descobertos. Google Cloud
Crie uma aplicação do App Hub regional no projeto de anfitrião do App Hub.
Registe serviços descobertos e uma carga de trabalho do projeto de serviço na aplicação App Hub e atribua atributos.
Veja os detalhes dos serviços e das cargas de trabalho registados no App Hub.
Custos
Para uma estimativa do custo dos Google Cloud recursos que a solução de VM gerida com balanceamento de carga usa, consulte a estimativa pré-calculada na Google Cloud calculadora de preços.
Use a estimativa como ponto de partida para calcular o custo da implementação. Pode modificar a estimativa para refletir quaisquer alterações de configuração que planeie fazer aos recursos usados na solução.
A estimativa pré-calculada baseia-se em pressupostos para determinados fatores, incluindo o seguinte:
- As Google Cloud localizações onde os recursos são implementados.
- O tempo durante o qual 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 for o criador do projeto, é-lhe atribuída a
função básica de proprietário
(roles/owner
). Por predefinição, esta função de Identity and Access Management (IAM)
inclui as autorizações necessárias para acesso total à maioria dos Google Cloud
recursos.
Se não for o criador do projeto, as autorizações necessárias têm de ser concedidas no projeto ao principal adequado. Por exemplo, um principal pode ser uma Conta Google (para utilizadores finais) ou uma conta de serviço (para aplicações e cargas de trabalho).
Para receber as autorizações de que precisa para concluir este tutorial, peça ao seu administrador que lhe conceda as seguintes funções da IAM no seu projeto:
-
Administrador de utilização de serviços (
roles/serviceusage.services.enable
) -
Administrador da conta de serviço (
roles/iam.serviceAccounts.create
) -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Cloud Infrastructure Manager (
roles/config.admin
) -
Administrador do App Hub (
roles/apphub.admin
)
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Consola
Na Google Cloud consola, aceda à página do seletor de projetos.
Selecione ou crie um Google Cloud projeto, para ser o projeto anfitrião do App Hub.
-
Enable the App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager, and Service Usage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
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.
Certifique-se de que tem instalada a versão mais recente da Google Cloud CLI. Execute o seguinte comando a partir do Cloud Shell:
gcloud components update
Crie ou selecione um novo projeto,
HOST_PROJECT_ID
, para ser o projeto anfitrião do App Hub.Crie um Google Cloud projeto:
gcloud projects create HOST_PROJECT_ID
Selecione o Google Cloud projeto que criou:
gcloud config set project HOST_PROJECT_ID
Ative as APIs App Hub, Cloud Resource Manager, Compute Engine, Infrastructure Manager e Service Usage:
gcloud services enable apphub.googleapis.com \ cloudresourcemanager.googleapis.com \ compute.googleapis.com \ config.googleapis.com \ serviceusage.googleapis.com
Preparar o ambiente
Para ajudar a implementar esta solução com o mínimo de esforço, é disponibilizada uma configuração do Terraform no GitHub. A configuração do Terraform define todos os Google Cloud recursos necessários para a solução. Transfira a configuração do Terraform do GitHub, personalize opcionalmente o código conforme necessário e, em seguida, implemente a solução através da CLI do Terraform. Depois de implementar a solução, pode continuar a usar o Terraform para a gerir.
Segue-se o fluxo de processamento de pedidos da topologia que a solução de VM gerida com balanceamento de carga implementa.
O utilizador faz um pedido à aplicação, que está implementada no Compute Engine. O Cloud Load Balancing recebe este pedido.
O Cloud Load Balancing encaminha o tráfego para os grupos de instâncias geridos do Compute Engine, usando informações na regra de encaminhamento, no mapa de URLs e no serviço de back-end.
Configure o cliente do Terraform
Pode executar o Terraform no Cloud Shell ou no seu anfitrião 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 num 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
. Este é o diretório que contém os ficheiros de configuração do Terraform para a solução. Se precisar de alterar 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!
Valide e reveja a configuração do Terraform
Certifique-se de que o diretório de trabalho atual é
terraform-docs-samples/lb/regional_external_http_load_balancer
. Se não for, aceda a esse diretório.Verifique se a configuração do Terraform não tem erros:
terraform validate
Se o comando devolver erros, faça as correções necessárias na configuração e, em seguida, execute novamente o comando
terraform validate
. Repita este passo até o comando devolver a seguinte mensagem:Success! The configuration is valid.
Reveja os recursos definidos na configuração:
terraform plan
O resultado do comando
terraform plan
é uma lista dos recursos que o Terraform aprovisiona quando aplica a configuração.Se quiser fazer alterações, edite a configuração e, em seguida, execute novamente os comandos
terraform validate
eterraform plan
.
Aprovisione os recursos
Quando não forem necessárias mais alterações na configuração do Terraform, implemente os recursos.
Certifique-se de que o diretório de trabalho atual é
terraform-docs-samples/lb/regional_external_http_load_balancer
. Se não for, aceda a esse diretório.Aplique a configuração do Terraform:
terraform apply
O Terraform apresenta uma lista dos recursos que vão ser criados.
Quando lhe for pedido para realizar as ações, introduza
yes
.O Terraform apresenta mensagens que mostram o progresso da implementação.
Se não for possível concluir a implementação, o Terraform apresenta os erros que causaram a falha. Reveja as mensagens de erro e atualize a configuração para corrigir os erros. Em seguida, execute novamente o comando
terraform apply
.Depois de criar todos os recursos, o Terraform apresenta a seguinte mensagem:
Apply complete!
Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).
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 URLs e as regras de encaminhamento tornam-se serviços descobertos no projeto anfitrião do App Hub. O MIG do Compute Engine torna-se uma carga de trabalho descoberta no projeto anfitrião do App Hub.
Quando já não precisar da solução, pode eliminar a implementação para evitar a faturação contínua dos Google Cloud recursos. Para mais informações, consulte Elimine a implementação.
Conceda autorizações de IAM
Forneça as funções e as autorizações do IAM adequadas ao projeto de anfitrião do App Hub.
Consola
Para receber as autorizações necessárias para concluir este tutorial, peça ao seu administrador que lhe conceda as funções da IAM necessárias no seu projeto:
Na Google Cloud consola, aceda à página IAM.
Clique em
Conceder acesso. O painel Conceder acesso é aberto.No campo Novos membros, introduza o endereço de email do indivíduo que vai administrar o App Hub, a função de administrador do App Hub no projeto anfitrião.
Clique em Selecionar uma função e, no campo Filtro, introduza
App Hub
.Selecione a função Administrador do App Hub.
Clique em Adicionar outra função e, na lista Selecionar uma função, selecione Visitante de monitorização.
Clique em Guardar.
gcloud
Para conceder as funções a indivíduos que vão usar o App Hub, repita o comando seguinte substituindo as funções IAM, conforme necessário. Para mais informações, consulte o artigo Funções e autorizaçõ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 utilizador que tem a função de administrador do App Hub no projeto anfitrião. Este valor tem o formatousername@yourdomain
, por exemplo,222larabrown@gmail.com
.Conceda a função de administrador do App Hub no projeto de serviço aos indivíduos que administram o App Hub. Têm de ter a função de administrador do App Hub para adicionar projetos de serviço ao projeto anfitrião. Precisa de, pelo menos, uma pessoa com esta função para cada projeto de serviço. Neste exemplo, o projeto anfitrião atua como 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 a função Leitor de monitorização no projeto anfitrião aos indivíduos que administram o App Hub. Têm de ter a função de visualizador de monitorização no projeto anfitrião para ver as métricas.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member='user:HOST_PROJECT_ADMIN' \ --role='roles/monitoring.viewer'
Anexe um projeto de serviço
Os projetos de serviço são Google Cloud projetos que contêm recursos de infraestrutura que pode registar numa aplicação do App Hub. Para mais informações, consulte Projetos de serviço. Para este tutorial, uma vez que só temos um projeto, anexe o projeto no qual implementou os recursos como o projeto de serviço do App Hub.
Consola
Na Google Cloud consola, aceda à página Definições do App Hub.
Na página Definições, clique em Anexar projetos.
No painel apresentado, pesquise projetos na lista apresentada e selecione as caixas de verificação dos projetos de serviço do App Hub.
Clique em Selecionar. A tabela Attached Service Project(s) (Projetos de serviço anexados) apresenta o projeto anfitrião selecionado como o projeto de serviço.
Clique em Fechar.
gcloud
Adicione o seu projeto anfitrião como o projeto de serviço ao projeto anfitrião 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 anfitrião do App Hub, pode ver todos os Google Cloud recursos do projeto de serviço anexado como serviços e cargas de trabalho do App Hub descobertos. Para mais informações sobre como ver estes serviços e cargas de trabalho descobertos, consulte o artigo Veja aplicações, serviços e cargas de trabalho existentes.
Crie uma aplicação
Crie uma aplicação para ser o contentor dos seus serviços e cargas de trabalho. Quando cria uma aplicação, pode atribuir propriedades imutáveis, como um tipo de âmbito ou uma localização a partir da qual quer registar recursos e atributos variáveis, como criticidade e ambiente. Pode usar os atributos das variáveis para filtrar as aplicações. Para mais informações, consulte o artigo Propriedades e atributos.
Neste tutorial, cria uma aplicação Regional para gerir recursos de uma região específica. Se tiver Google Cloud recursos nos projetos de serviço do App Hub anexados que são implementados globalmente ou em várias regiões, pode criar uma aplicação global e registar estes recursos. Para mais informações sobre como criar uma aplicação global, consulte o artigo Configure o App Hub.
Consola
- Certifique-se de que está no projeto anfitrião do App Hub.
Na Google Cloud consola, aceda à página Aplicações do App Hub.
Clique em Criar candidatura.
Na página Criar aplicação, no painel Escolher região da aplicação e nome, selecione Regional.
Na lista Região, selecione us-west1.
No campo Nome da aplicação, introduza
tutorial-application
. Este nome é um identificador exclusivo e é imutável depois de criar a aplicação.Introduza um Nome a apresentar,
Tutorial
e clique em Continuar. Este é um nome fácil de usar que pode atualizar. Para mais informações, consulte o artigo Atualize uma aplicação existente.No painel Adicionar atributos, na lista Criticidade, selecione Elevada. A criticidade indica o quão crítica é uma aplicação, um serviço ou uma carga de trabalho para as operações da sua empresa.
No campo Ambiente, para indicar a fase do ciclo de vida do software, selecione Produção.
Clique em Continuar.
No painel Adicionar proprietários, adicione os seguintes detalhes para proprietários programadores, proprietários operadores e proprietários de empresas. Tenha em atenção que tem de introduzir o endereço de email do proprietário se adicionar um nome a apresentar.
- Introduza um nome a apresentar do proprietário.
- Introduza o endereço de email do proprietário. Este valor tem de ter o formato
username@yourdomain
, por exemplo,222larabrown@gmail.com
.
Repita estes passos para cada programador, operador e proprietário da empresa.
Clique em Criar.
A nova candidatura é criada e apresentada na página Candidaturas. Tenha em atenção que apenas a regra de encaminhamento, o mapa de URLs, o serviço de back-end e o grupo de instâncias gerido (MIG) ficam disponíveis como recursos descobertos na aplicação App Hub. Para mais informações, consulte os conceitos e o modelo de dados.
gcloud
Selecione o projeto anfitrião do App Hub que criou:
gcloud config set project HOST_PROJECT_ID
Crie uma nova aplicação denominada
tutorial-application
na regiãous-west1
e atribua-lhe um nome a apresentar,Tutorial
. Este nome da aplicação,tutorial-application
é um identificador exclusivo e é imutável depois de criar a aplicação. O nome a apresentarTutorial
é um nome intuitivo que pode atualizar. Para mais informações, consulte o artigo Atualize uma aplicação existente.gcloud apphub applications create tutorial-application \ --display-name='Tutorial' \ --scope-type=REGIONAL \ --project=HOST_PROJECT_ID \ --location=us-west1
Liste as aplicações no projeto anfitrião do App Hub:
gcloud apphub applications list \ --project=HOST_PROJECT_ID \ --location=us-west1
Vê um resultado semelhante ao seguinte:
ID DISPLAY_NAME CREATE_TIME tutorial-application Tutorial 2023-10-31T18:33:48
Atualize a sua aplicação com os atributos
criticality-type
,environment-type
e de 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 o seguinte:
DISPLAY-NAME-DEVELOPER
,DISPLAY-NAME-OPERATOR
eDISPLAY-NAME-BUSINESS
: nomes a apresentar dos proprietários do programador, do operador e da empresa, respetivamente.EMAIL-NAME-DEVELOPER
,EMAIL-NAME-OPERATOR
eEMAIL-NAME-BUSINESS
: endereços de email do programador, operador e proprietários da empresa, respetivamente. Estes valores têm de ter o formatousername@yourdomain
, por exemplo,222larabrown@gmail.com
.
Notas:
criticality-type
: indica a importância de uma aplicação, um serviço ou uma carga de trabalho para as operações da sua empresa.environment-type
: indica as fases do ciclo de vida do software.
Obtenha detalhes da aplicação que criou:
gcloud apphub applications describe tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
O comando devolve informações no formato YAML, semelhantes às seguintes:
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'
Registe serviços e cargas de trabalho
O registo de serviços e cargas de trabalho adiciona-os a uma aplicação que lhe permite monitorizar os recursos adicionados.
Consola
Na Google Cloud consola, aceda à página Aplicações do App Hub.
Clique no nome da sua aplicação, Tutorial. O separador Serviços e cargas de trabalho é apresentado com uma lista de serviços e cargas de trabalho registados que estão nos seus projetos de serviço do App Hub.
Registe um serviço:
- No separador Serviços e cargas de trabalho, clique em Registar serviço/carga de trabalho.
- Na página Registar 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 Selecionar recurso, introduza o Nome do recurso,
tutorial-service-backend
. - Introduza um Nome a apresentar,
Backend service
e clique em Continuar. - No painel Adicionar atributos, na lista Criticidade, para indicar a importância da aplicação, selecione Alta.
- No campo Ambiente, para indicar a fase 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 de programadores, proprietários de operadores e proprietários de empresas.
Tenha em atenção que tem de introduzir o endereço de email do proprietário se adicionar um nome a apresentar.
- Introduza um nome a apresentar do proprietário.
- Introduza o endereço de email do proprietário. Este valor tem de ter o formato
username@yourdomain
, por exemplo,222larabrown@gmail.com
.
- Repita estes passos para cada programador, operador e proprietário da empresa.
- Clique em Registar.
No separador Serviços e cargas de trabalho, na secção Serviços e cargas de trabalho registados, pode ver o novo serviço adicionado.
Repita os passos anteriores para registar os outros serviços como tutorial-service-forwarding-rule e tutorial-service-url-map, respetivamente.
Registe uma carga de trabalho repetindo os passos anteriores para registar um serviço com as seguintes exceções:
- No painel Registar serviço ou carga de trabalho, na secçã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 Selecionar recurso, introduza o Nome do recurso,
tutorial-workload-mig
. - Introduza um Nome a apresentar,
Workload instance group
e clique em Continuar. No separador Serviços e cargas de trabalho, na secção Serviços e cargas de trabalho registados, pode ver a nova carga de trabalho adicionada.
gcloud
Adicione um indivíduo com autorizaçõ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 utilizador que tem a função de editor do App Hub no projeto anfitrião do App Hub. Este valor tem o formatousername@yourdomain
, por exemplo,222larabrown@gmail.com
.Apresenta todos os serviços descobertos no projeto anfitrião do App Hub. Este comando devolve serviços que estão disponíveis para serem registados numa aplicação.
gcloud apphub discovered-services list \ --project=HOST_PROJECT_ID \ --location=us-west1
Vê um resultado semelhante ao seguinte:
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 serviços
ID
s, por exemplo,BACKEND_SERVICE_SP2_ID
do resultado para usar no passo seguinte.Registe os serviços do passo anterior na sua aplicação. Copie os IDs dos serviços do campo de saída no passo 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 o seguinte:
BACKEND_SERVICE_ID
: o serviçoID
do serviço de back-end que quer registar.FORWARDING_RULE_SERVICE_ID
: o serviçoID
da regra de encaminhamento que quer registar.URL_MAP_SERVICE_ID
: o serviçoID
do mapa de URLs que quer registar.
Liste todos os serviços registados na aplicação:
gcloud apphub applications services list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Vê um resultado semelhante ao seguinte:
Os serviços registados, mas desanexados, são indicados por um valor vazio no campoID 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
SERVICE_REFERENCE
. Para mais informações sobre os estados de registo, consulte as propriedades e os atributos do App Hub.Apresenta todas as cargas de trabalho descobertas no projeto anfitrião do App Hub. Este comando devolve cargas de trabalho que estão disponíveis para serem registadas numa aplicação.
gcloud apphub discovered-workloads list \ --project=HOST_PROJECT_ID \ --location=us-west1
Vê um resultado semelhante ao seguinte:
Copie o ID da carga de trabalho do resultado para usar no passo seguinte.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'}Registe as cargas de trabalho do passo anterior na sua aplicação. Copie o ID da carga de trabalho do campo de saída no passo anterior.
Substituagcloud 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
WORKLOAD_ID
pelo ID da carga de trabalho que quer registar.Apresentar uma lista de todas as cargas de trabalho registadas na aplicação:
gcloud apphub applications workloads list \ --application=tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Vê um resultado semelhante ao seguinte:
As cargas de trabalho registadas, mas desassociadas, são indicadas por um valor vazio no campoID 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
WORKLOAD_REFERENCE
. Para mais informações sobre os estados de registo, consulte as propriedades e os atributos do App Hub.
Veja todos os serviços e cargas de trabalho
Pode ver os detalhes dos serviços e das cargas de trabalho dos projetos de serviço anexados ao projeto anfitrião do App Hub.
Na Google Cloud consola, aceda à página Serviços e cargas de trabalho do App Hub.
Na lista Região, selecione us-west1. A carga de trabalho Workload instance group é apresentada com detalhes como App Hub Type, Criticality e Registered to.
Para filtrar os serviços ou as cargas de trabalho com base no respetivo estado:
- No campo Filtro, selecione filtros como Estado do registo.
- Clique em Registado. É apresentada uma lista de serviços e cargas de trabalho registados na aplicação.
Monitorize aplicações
A monitorização de aplicações oferece painéis de controlo prontos a usar (OOTB) para monitorizar registos, métricas e incidentes para aplicações do App Hub e os respetivos serviços e cargas de trabalho registados. Para mais informações, consulte o artigo Monitorização de aplicações. Para ver estes painéis de controlo, faça o seguinte:
Na Google Cloud consola, aceda à página Aplicações do App Hub.
Efetue um dos seguintes passos:
- Para ver o painel de controlo OOTB de nível superior que apresenta informações de resumo para uma lista de aplicações registadas no seu projeto anfitrião ou pasta com apps, clique em Ver na observabilidade.
- Para ver o painel de controlo OOTB de uma aplicação, siga estes passos:
- Clique no nome da aplicação.
- Clique em Ver painel de controlo de observabilidade.
- Para ver o painel de controlo OOTB de um serviço ou uma carga de trabalho específico, siga
estes passos:
- Clique no nome da aplicação.
- Na linha que apresenta o nome do serviço ou da carga de trabalho, clique em
Ver painel de controlo de observabilidade.
Para mais informações sobre como ver os painéis de controlo, consulte o artigo Veja a telemetria da aplicação.
Limpar
Para evitar incorrer em custos na sua conta do Google Cloud pelos recursos usados neste tutorial, elimine o projeto que contém os recursos ou mantenha o projeto e elimine os recursos individuais.
Elimine os recursos do App Hub
Consola
Na Google Cloud consola, aceda à página App Hub Aplicações.
Clique no nome de uma aplicação, Tutorial.
No separador Serviços e cargas de trabalho, na secção Serviços e cargas de trabalho registados, clique no nome de um serviço.
Na página Serviços e cargas de trabalho, clique em Anular registo.
Um alerta notifica que o serviço não está registado.
No separador Serviços e cargas de trabalho, na secção Serviços e cargas de trabalho registados, clique no nome de uma carga de trabalho.
No separador Detalhes, clique em Anular registo.
Um alerta notifica que a carga de trabalho não está registada.
Aceda à página Aplicações do App Hub.
Clique no nome de uma aplicação.
Na página tutorial-application, clique em Eliminar.
Na Google Cloud consola, aceda à página Definições do App Hub.
Na página Definições, selecione a caixa de verificação do projeto de serviço que quer remover do projeto anfitrião do App Hub.
Clique em Desassociar projetos.
gcloud
Indique os serviços registados na aplicação:
gcloud apphub applications services list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Anule o registo dos serviços na aplicação:
gcloud apphub applications services delete SERVICE_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Substitua
SERVICE_NAME
pelo nome do seu serviço. Os serviços são agora serviços descobertos que podem ser registados na aplicação.Liste as cargas de trabalho registadas na aplicação:
gcloud apphub applications workloads list \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Anule o registo da carga de trabalho na aplicação:
gcloud apphub applications workloads delete WORKLOAD_NAME \ --application=tutorial-application --project=HOST_PROJECT_ID \ --location=us-west1
Substitua
WORKLOAD_NAME
pelo nome da sua carga de trabalho. A carga de trabalho é agora uma carga de trabalho descoberta que pode ser registada na aplicação.Elimine a aplicação:
gcloud apphub applications delete tutorial-application \ --project=HOST_PROJECT_ID \ --location=us-west1
Remova o projeto de serviço do projeto anfitrião do App Hub:
gcloud apphub service-projects remove SERVICE_PROJECT_ID \ --project=HOST_PROJECT_ID
Elimine a implementação
Quando já não precisar da solução, para evitar a faturação contínua dos recursos que criou nesta solução, elimine todos os recursos.
Use este procedimento se tiver implementado a solução através da CLI do Terraform.
No Cloud Shell, certifique-se de que o diretório de trabalho atual é
terraform-docs-samples/lb/regional_external_http_load_balancer
. Se não for, aceda a esse diretório.Remova os recursos aprovisionados pelo Terraform:
terraform destroy
O Terraform apresenta uma lista dos recursos que vão ser destruídos.
Quando lhe for pedido para realizar as ações, introduza
yes
.O Terraform apresenta mensagens que mostram o progresso. Depois de todos os recursos serem eliminados, o Terraform apresenta a seguinte mensagem:
Destroy complete!
Quando já não precisar do Google Cloud projeto que usou para a solução, pode eliminá-lo.
Elimine o projeto
Consola
- Na Google Cloud consola, aceda à página Gerir recursos.
- Na lista de projetos, selecione o projeto que quer eliminar e, de seguida, clique em Eliminar.
- Na caixa de diálogo, escreva o ID do projeto e, de seguida, clique em Encerrar para eliminar o projeto.
gcloud
Elimine um Google Cloud projeto:
gcloud projects delete PROJECT_ID
Substitua PROJECT_ID
pelos IDs dos projetos do anfitrião ou do serviço.