Monitorize os recursos de infraestrutura através de uma aplicação global do App Hub


O App Hub permite-lhe gerir e ver recursos de infraestrutura de Google Cloud projetos através de aplicações do App Hub. Para criar estas aplicações do App Hub, precisa de um projeto anfitrião do App Hub ao qual pode anexar projetos de serviço que contenham Google Cloud recursos.

Este tutorial mostra como configurar uma aplicação global do App Hub para vários projetos e, em seguida, ver os recursos da aplicação. Usando vários projetos de serviço, configura um Application Load Balancer interno num ambiente de VPC partilhada. Em seguida, numa aplicação global no projeto de anfitrião do App Hub, regista e monitoriza todos os recursos de infraestrutura dos projetos 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

  • Configure uma aplicação do Global App Hub que contenha recursos que abrangem vários projetos.
  • Monitorize os recursos através das métricas do sistema para a aplicação.

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 de Preços.

Antes de começar

Antes de configurar este tutorial, decida as funções e as autorizações dos seus projetos e, em seguida, crie quatro projetos. Google Cloud Um destes projetos é o projeto anfitrião do App Hub e os outros três são projetos de serviço do App Hub.

Funções e autorizações necessárias

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 gerir o acesso a um projeto, uma pasta ou uma organização, peça ao seu administrador para lhe conceder as seguintes funções do IAM no recurso para o qual quer gerir o acesso (projeto, pasta ou organização):

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.

Crie projetos de anfitrião e de serviço do App Hub

Consola

  1. Na Google Cloud consola, aceda à página do seletor de projetos.

    Aceder ao seletor de projetos

  2. Selecione ou crie um Google Cloud projeto para ser o projeto anfitrião do App Hub.

  3. Enable the App Hub, Compute Engine, Service Management, 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. Na mesma pasta que o projeto anfitrião do App Hub, crie três novos Google Cloud projetos. Estes são os projetos de serviço do App Hub para o projeto anfitrião do App Hub.

  5. Certifique-se de que a faturação está ativada para todos os seus Google Cloud projetos.

  6. Enable the App Hub, Compute Engine, Service Management, 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 the serviceusage.services.enable permission. Learn how to grant roles.

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

  3. 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
  4. Certifique-se de que a faturação está ativada para todos os seus Google Cloud projetos.

  5. Ative as APIs App Hub, Compute Engine, Service Management e Service Usage:

    gcloud services enable apphub.googleapis.com \
       compute.googleapis.com \
       servicemanagement.googleapis.com \
       serviceusage.googleapis.com
  6. Crie três novos Google Cloud projetos para serem os projetos de serviço do App Hub para o projeto anfitrião do App Hub.

    1. Crie um projeto de serviço:

      gcloud projects create SERVICE_PROJECT_1_ID

      Substitua SERVICE_PROJECT_1_ID pelo ID do projeto de serviço 1.

    2. Selecione o projeto de serviço que criou:

      gcloud config set project SERVICE_PROJECT_1_ID
    3. Ative as APIs Compute Engine, Service Management e Service Usage:

      gcloud services enable compute.googleapis.com \
        servicemanagement.googleapis.com \
        serviceusage.googleapis.com
    4. Defina a variável de configuração usada neste tutorial:

      export SERVICE_PROJECT_1_NUMBER= $(gcloud projects describe $(gcloud config get-value project) --format='value(projectNumber)')
    5. Repita estes passos anteriores para criar SERVICE_PROJECT_2_ID e SERVICE_PROJECT_3_ID, ative as APIs e defina a variável de configuração.

Prepare o ambiente

Se já tiver um balanceador de carga de aplicações interno num ambiente de VPC partilhada configurado em vários projetos, avance para a secção Conceda autorizações de IAM neste documento.

Caso contrário, para configurar um Application Load Balancer interno num ambiente de VPC partilhada, siga estes passos:

Serviços e cargas de trabalho do App Hub com um balanceador de carga e um grupo de instâncias gerido.
Figura 1. Serviços e cargas de trabalho do App Hub com um balanceador de carga e grupos de instâncias geridos numa VPC partilhada.
  1. No projeto de serviço 1, configure uma rede de VPC partilhada e duas sub-redes.
  2. No projeto de serviço 2, crie o serviço de back-end do balanceador de carga com dois grupos de instâncias geridos como back-ends.
  3. No projeto de serviço 3, crie outro serviço de back-end do balanceador de carga com dois grupos de instâncias geridos como back-ends.
  4. No projeto de serviço 1, crie os componentes de front-end do equilibrador de carga e o mapa de URLs.

Segue-se o fluxo de processamento de pedidos da topologia que a solução de VM gerida com balanceamento de carga implementa.

  1. A partir da rede de VPC partilhada, a VM do cliente faz um pedido HTTP ao balanceador de carga de aplicações interno no projeto de serviço 1.

  2. O balanceador de carga usa as informações no mapa de URLs e nos serviços de back-end para encaminhar o pedido para os back-ends do grupo de instâncias gerido.

Configure a rede e as sub-redes no projeto anfitrião da VPC partilhada

Precisa de uma rede VPC partilhada com duas sub-redes: uma para o front-end e os back-ends do balanceador de carga e outra para os proxies do balanceador de carga.

Este exemplo usa a seguinte rede, região e sub-redes:

  • Rede. A rede tem o nome lb-network.

  • Sub-rede para a interface e os back-ends do balanceador de carga. Uma sub-rede denominada lb-frontend-and-backend-subnet na região us-west1 usa 10.1.2.0/24 para o respetivo intervalo de IP principal.

  • Sub-rede para proxies. Uma sub-rede denominada proxy-only-subnet na região us-west1 usa 10.129.0.0/23 para o respetivo intervalo de IP principal.

Neste tutorial, designe o projeto de serviço 1 como o projeto anfitrião de VPC partilhada. Todos os passos nesta secção têm de ser realizados no projeto de serviço 1.

Configure a sub-rede para o front-end e os back-ends do balanceador de carga

Não tem de realizar este passo sempre que quiser criar um novo equilibrador de carga. Só tem de garantir que os projetos de serviço têm acesso a uma sub-rede na rede de VPC partilhada (além da sub-rede apenas de proxy).

Consola

  1. Na Google Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Clique em Criar rede de VPC.
  3. No campo Nome, introduza lb-network.
  4. Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).
  5. Na secção Nova sub-rede, introduza as seguintes informações:

    • Nome: lb-frontend-and-backend-subnet

    • Região: us-west1

    • Intervalo de endereços IP: 10.1.2.0/24

  6. Clique em Concluído.

  7. Clique em Criar.

gcloud

  1. Defina o projeto como Projeto de serviço 1:

      gcloud config set project SERVICE_PROJECT_1_ID

  2. Crie uma rede VPC com o comando gcloud compute networks create:

    gcloud compute networks create lb-network --subnet-mode=custom
    
  3. Crie uma sub-rede na rede lb-network na região us-west1:

    gcloud compute networks subnets create lb-frontend-and-backend-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-west1
    

Configure a sub-rede só de proxy

A sub-rede apenas de proxy é usada por todos os equilibradores de carga baseados no Envoy regionais na região us-west1, na rede VPC lb-network. Só pode existir uma sub-rede só de proxy ativa por região e por rede.

Não execute este passo se já existir uma sub-rede só de proxy reservada na região us-west1 nesta rede.

Consola

  1. Na Google Cloud consola, aceda à página Redes VPC.

    Aceda a redes de VPC

  2. Clique no nome da rede VPC partilhada: lb-network.
  3. Clique no separador Sub-redes e clique em Adicionar sub-rede.
  4. No painel Adicionar uma sub-rede, no campo Nome, introduza proxy-only-subnet.
  5. Na lista Região, selecione us-west1.
  6. Defina Purpose como Regional Managed Proxy.
  7. No campo Intervalo de endereços IP, introduza 10.129.0.0/23.
  8. Clique em Adicionar.

gcloud

Crie a sub-rede só de proxy com o comando gcloud compute networks subnets create:

gcloud compute networks subnets create proxy-only-subnet \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=us-west1 \
    --network=lb-network \
    --range=10.129.0.0/23

Conceda aos administradores do projeto de serviço acesso à sub-rede de back-end

Os administradores do projeto de serviço precisam de acesso à sub-rede lb-frontend-and-backend-subnet para poderem aprovisionar os back-ends do balanceador de carga.

Um administrador da VPC partilhada tem de conceder acesso à sub-rede de back-end aos administradores do projeto de serviço (ou aos programadores que implementam recursos e back-ends que usam a sub-rede). Para ver instruções, consulte o artigo Administradores do projeto de serviço para algumas sub-redes.

Configure regras de firewall no projeto de serviço 1

Este exemplo usa as seguintes regras de firewall:

  • fw-allow-health-check. Uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite todo o tráfego TCP dos sistemas de verificação de funcionamento em Google Cloude 35.191.0.0/16.130.211.0.0/22 Este exemplo usa a etiqueta de destino load-balanced-backend para identificar as instâncias às quais deve ser aplicada.

  • fw-allow-proxies. Uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite o tráfego TCP nas portas 80, 443 e 8080 dos proxies geridos do balanceador de carga. Este exemplo usa a etiqueta de destino load-balanced-backend para identificar as instâncias às quais deve aplicar-se.

  • fw-allow-ssh. Uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite a conetividade SSH de entrada na porta TCP 22 a partir de qualquer endereço. Pode escolher um intervalo de IPs de origem mais restritivo para esta regra. Por exemplo, pode especificar apenas os intervalos de IP do sistema a partir do qual inicia sessões SSH. Este exemplo usa a etiqueta allow-ssh de destino para identificar as máquinas virtuais (VMs) às quais a regra de firewall se aplica.

Sem estas regras de firewall, a regra de negação predefinida de entrada bloqueia o tráfego de entrada para as instâncias de back-end.

Consola

  1. Na Google Cloud consola, aceda à página Políticas de firewall.

    Aceder a Políticas de firewall

  2. Clique em Criar regra de firewall para criar a regra que permite Google Cloud verificações de funcionamento:
    • Nome: fw-allow-health-check
    • Rede: lb-network
    • Sentido do tráfego: entrada
    • Ação na correspondência: permitir
    • Objetivos: etiquetas de objetivo especificadas
    • Etiquetas de segmentação: load-balanced-backend
    • Filtro de origem: intervalos de IPv4
    • Intervalos de IPv4 de origem: 130.211.0.0/22 e 35.191.0.0/16
    • Protocolos e portas:
      • Escolha Protocolos e portas especificados.
      • Selecione a caixa de verificação TCP e introduza 80 para o número da porta.
      • Como prática recomendada, limite esta regra apenas aos protocolos e portas que correspondam aos usados pela sua verificação de funcionamento. Se usar tcp:80 para o protocolo e a porta, Google Cloud pode usar HTTP na porta 80 para contactar as suas VMs, mas não pode usar HTTPS na porta 443 para as contactar.

  3. Clique em Criar.
  4. Clique em Criar regra de firewall para criar a regra que permite Google Cloud verificações de funcionamento:
    • Nome: fw-allow-proxies
    • Rede: lb-network
    • Sentido do tráfego: entrada
    • Ação na correspondência: permitir
    • Objetivos: etiquetas de objetivo especificadas
    • Etiquetas de segmentação: load-balanced-backend
    • Filtro de origem: intervalos de IPv4
    • Intervalos IPv4 de origem: 10.129.0.0/23
    • Protocolos e portas:
      • Escolha Protocolos e portas especificados.
      • Selecione a caixa de verificação TCP e introduza 80, 443, 8080 para os números das portas.
  5. Clique em Criar.
  6. Clique em Criar regra de firewall para criar a regra que permite Google Cloud verificações de funcionamento:
    • Nome: fw-allow-ssh
    • Rede: lb-network
    • Sentido do tráfego: entrada
    • Ação na correspondência: permitir
    • Objetivos: etiquetas de objetivo especificadas
    • Etiquetas de segmentação: allow-ssh
    • Filtro de origem: intervalos de IPv4
    • Intervalos IPv4 de origem: 0.0.0.0/0
    • Protocolos e portas:
      • Escolha Protocolos e portas especificados.
      • Selecione a caixa de verificação TCP e introduza 22 para o número da porta.
  7. Clique em Criar.

gcloud

  1. Crie a regra de firewall fw-allow-health-check para permitir verificações de funcionamentoGoogle Cloud . Este exemplo permite todo o tráfego TCP de sondas de verificação de estado. No entanto, pode configurar um conjunto mais restrito de portas para satisfazer as suas necessidades.

    gcloud compute firewall-rules create fw-allow-health-check \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --source-ranges=130.211.0.0/22,35.191.0.0/16 \
       --target-tags=load-balanced-backend \
       --rules=tcp
    
  2. Crie a regra de firewall fw-allow-proxies para permitir o tráfego da sub-rede só de proxy do Envoy para alcançar os seus back-ends:

    gcloud compute firewall-rules create fw-allow-proxies \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --source-ranges=10.129.0.0/23 \
       --target-tags=load-balanced-backend \
       --rules=tcp:80,tcp:443,tcp:8080
    
  3. Crie a regra de firewall fw-allow-ssh para permitir a conetividade SSH a VMs com a etiqueta de rede allow-ssh:

    gcloud compute firewall-rules create fw-allow-ssh \
       --network=lb-network \
       --action=allow \
       --direction=ingress \
       --target-tags=allow-ssh \
       --rules=tcp:22
    

Reserve um endereço IPv4 interno estático

Os administradores do projeto de serviço podem reservar um endereço IPv4 ou IPv6 interno numa sub-rede de uma rede de VPC partilhada. O objeto de configuração do endereço IP é criado no projeto de serviço, enquanto o respetivo valor provém do intervalo de endereços IPv4 disponíveis na sub-rede partilhada escolhida.

Para reservar um endereço IP interno autónomo no projeto de serviço, conclua os seguintes passos.

Consola

  1. Configure a VPC partilhada.
  2. Na Google Cloud consola, aceda à página VPC partilhada.

    Aceda à VPC partilhada

  3. Inicie sessão como administrador da VPC partilhada.

  4. Selecione o projeto de serviço no seletor de projetos.

  5. Aceda a Rede VPC >Endereços IP.

  6. Na página Endereços IP, clique em Reservar endereço IP estático interno.

  7. No campo Nome, introduza l7-ilb-ip-address como o nome do endereço IP.

  8. Na lista Versão do IP, selecione IPv4.

  9. Em Rede, selecione lb-network.

  10. Nas listas Sub-rede, selecione lb-frontend-and-backend-subnet.

  11. Clique em Reservar.

gcloud

  1. Se ainda não o fez, autentique-se na CLI do Google Cloud como administrador do projeto de serviço da VPC partilhada.

    gcloud auth login SERVICE_PROJECT_ADMIN
    

    Substitua SERVICE_PROJECT_ADMIN pelo nome do administrador do projeto de serviço da VPC partilhada. Estes valores têm de ter o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.

  2. Use o comando compute addresses create para reservar um endereço IP:

    
    gcloud compute addresses create l7-ilb-ip-address \
        --project SERVICE_PROJECT_1_ID \
        --subnet=lb-frontend-and-backend-subnet \
        --region=us-west1 \
        --ip-version=IPV4
    

Os detalhes adicionais para criar endereços IP são publicados na documentação do SDK.

Configure a VPC partilhada no projeto de serviço 1

Para configurar a VPC partilhada no projeto de serviço 1, designa o projeto de serviço 1 como o projeto anfitrião da VPC partilhada e os projetos de serviço 2 e 3 como os projetos de serviço da VPC partilhada. Mais adiante neste tutorial, quando criar os back-ends do MIG nos projetos de serviço 2 e 3, vai poder usar a mesma rede VPC e sub-redes criadas anteriormente no projeto de serviço 1.

  1. Ative um projeto anfitrião.
  2. Anexe um projeto de serviço.
  3. Conceda a função de utilizador da rede de computação (roles/compute.networkUser) aos projetos de serviço 2 e 3:

    Consola

    1. Na Google Cloud consola, aceda à página IAM.

      Aceda ao IAM

    2. Clique em Conceder acesso. O painel Conceder acesso é aberto.

    3. No campo Novos principais, introduza SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com.

      Tenha em atenção que pode obter os números dos projetos de serviço no Painel de controlo do projeto:

      Aceder ao painel de controlo

    4. Clique em Selecionar uma função e, no campo Filtro, introduza Compute Network User.

    5. Selecione a função Utilizador da rede de computação e clique em Guardar.

    6. Repita os passos anteriores para conceder a função Compute Network User ao Service Project 3 (SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com).

    gcloud

    1. No projeto de serviço 1, conceda a função de utilizador da rede de computação ao projeto de serviço 2.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1_ID \
       --member='serviceAccount:SERVICE_PROJECT_2_NUMBER@cloudservices.gserviceaccount.com' \
       --role='roles/compute.networkUser'
      

      Substitua SERVICE_PROJECT_2_NUMBER pelo número do projeto do projeto de serviço 2.

    2. No projeto de serviço 1, conceda a função de utilizador da rede de computação ao projeto de serviço 3.

      gcloud projects add-iam-policy-binding SERVICE_PROJECT_1_ID \
       --member='serviceAccount::SERVICE_PROJECT_3_NUMBER@cloudservices.gserviceaccount.com' \
       --role='roles/compute.networkUser'
      

      Substitua SERVICE_PROJECT_3_NUMBER pelo número do projeto do projeto de serviço 3.

Crie um serviço de back-end e MIGs no projeto de serviço 2

Todos os passos nesta secção têm de ser realizados no projeto de serviço 2.

Consola

  1. Crie um modelo de instância. Na Google Cloud consola, aceda à página Modelos de instâncias.

    Aceda a Modelos de instâncias

    1. Clique em Criar modelo de instância.
    2. Introduza um Nome para o modelo de instância: tutorial-ig-template-sp2.
    3. Na secção Localização, selecione Regional (recomendado) e us-west1(Oregão) como a Região.
    4. Na secção Configuração da máquina, selecione N2 como a série.
    5. Certifique-se de que o Disco de arranque está definido para uma imagem Debian, como Debian GNU/Linux 12 (bookworm). Estas instruções usam comandos que só estão disponíveis no Debian, como apt-get. Se precisar de alterar o Disco de arranque, clique em Alterar.
      1. Em Sistema operativo, selecione Debian.
      2. Para Versão, selecione uma das imagens Debian disponíveis, como Debian GNU/Linux 12 (bookworm).
      3. Clique em Selecionar.
    6. Clique em Opções avançadas e, de seguida, em Redes.
    7. Introduza as seguintes etiquetas de rede: allow-ssh e load-balanced-backend.
    8. Na secção Interfaces de rede, selecione Redes partilhadas comigo (do projeto anfitrião: SERVICE_PROJECT_1_ID).
    9. Selecione a sub-rede lb-frontend-and-backend-subnet na rede lb-network.
    10. Clique em Gestão. Para Gestão, insira o seguinte script no campo Script de arranque.
      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | tee /var/www/html/index.html
      systemctl restart apache2
      
    11. Clique em Criar.
  2. Crie um grupo de instâncias gerido. Na Google Cloud consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

    1. Clique em Criar grupo de instâncias.
    2. Escolha Novo grupo de instâncias gerido (sem estado). Para mais informações, consulte o artigo Grupos de instâncias geridos sem estado ou com estado.
    3. Introduza um Nome para o grupo de instâncias: tutorial-sp2-mig-a.
    4. Para Modelo de instância, selecione tutorial-ig-template-sp2.
    5. Para Localização, selecione Zona única.
    6. Para Região, selecione us-west1.
    7. Especifique o número de instâncias que quer criar no grupo.

      Para este exemplo, especifique as seguintes opções para o dimensionamento automático:

      • Para o Modo de ajuste automático de escala, selecione Off:do not autoscale.
      • Para Número máximo de instâncias, introduza 2.
    8. Clique em Criar.

  3. Crie um serviço de back-end regional. Como parte deste passo, também vamos criar a verificação de funcionamento e adicionar back-ends ao serviço de back-end. Na Google Cloud consola, aceda à página Back-ends.

    Aceda a Back-ends

    1. Clique em Criar serviço de back-end.
    2. Na caixa de diálogo Criar serviço de back-end, clique em Criar junto a Serviço de back-end regional.
    3. Introduza um Nome para o serviço de back-end: tutorial-backend-service-sp2.
    4. Para Região, selecione us-west1.
    5. Para Tipo de balanceador de carga, selecione Balanceador de carga de aplicações interno regional (INTERNAL_MANAGED).
    6. Defina o Tipo de back-end como Grupo de instâncias.
    7. Na secção Back-ends, defina os seguintes campos:
      1. Defina Grupo de instâncias como tutorial-sp2-mig-a.
      2. Introduza os números de porta: 80.
      3. Defina o Modo de equilíbrio como Utilização.
      4. Clique em Concluído.
    8. Na secção Verificação de estado, clique em Criar uma verificação de estado e defina os seguintes campos:
      1. Nome: tutorial-regional-health-check
      2. Protocolo: HTTP
      3. Porta: 80
      4. Clique em Guardar.
    9. Clique em Continuar.
    10. Clique em Criar.
  4. Repita os passos anteriores e crie um grupo de instâncias gerido, tutorial-sp2-mig-b e adicione-o ao serviço de back-end tutorial-backend-service-sp2.

gcloud

  1. Selecione o projeto de serviço que criou:
    gcloud config set project SERVICE_PROJECT_2_ID
  2. Crie um modelo de instância de VM, tutorial-ig-template-sp2 com um servidor HTTP:

    gcloud compute instance-templates create tutorial-ig-template-sp2 \
        --region=us-west1 \
        --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \
        --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
        --tags=allow-ssh,load-balanced-backend \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        systemctl restart apache2' \
        --project=SERVICE_PROJECT_2_ID
    

    Substitua o seguinte:

    • SERVICE_PROJECT_1_ID: o ID do projeto do projeto anfitrião da VPC partilhada.
    • SERVICE_PROJECT_2_ID: o ID do projeto do projeto de serviço, onde os back-ends do balanceador de carga e o serviço de back-end estão a ser criados.
  3. Crie um grupo de instâncias gerido, tutorial-sp2-mig-a na região:

    gcloud compute instance-groups managed create tutorial-sp2-mig-a \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp2 \
        --project=SERVICE_PROJECT_2_ID
    
  4. Defina a verificação de funcionamento de HTTP, tutorial-regional-health-check:

    gcloud compute health-checks create http tutorial-regional-health-check \
      --region=us-west1 \
      --use-serving-port \
      --project=SERVICE_PROJECT_2_ID
    
  5. Defina o serviço de back-end, tutorial-backend-service-sp2:

    gcloud compute backend-services create tutorial-backend-service-sp2 \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTP \
      --health-checks=tutorial-regional-health-check \
      --health-checks-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_2_ID
    
  6. Adicione back-ends ao serviço de back-end com o comando gcloud compute backend-services add-backend:

    gcloud compute backend-services add-backend tutorial-backend-service-sp2 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp2-mig-a \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_2_ID
    
  7. Crie outro grupo de instâncias geridas, tutorial-sp2-mig-b na região:

    gcloud compute instance-groups managed create tutorial-sp2-mig-b \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp2 \
        --project=SERVICE_PROJECT_2_ID
    
  8. Adicione back-ends ao serviço de back-end:

    gcloud compute backend-services add-backend tutorial-backend-service-sp2 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp2-mig-b \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_2_ID
    

Crie um serviço de back-end e MIGs no projeto de serviço 3

Todos os passos nesta secção têm de ser realizados no projeto de serviço 3.

Consola

  1. Crie um modelo de instância. Na Google Cloud consola, aceda à página Modelos de instâncias.

    Aceda a Modelos de instâncias

    1. Clique em Criar modelo de instância.
    2. Introduza um Nome para o modelo de instância: tutorial-ig-template-sp3.
    3. Na secção Localização, selecione Regional (recomendado) e us-west1(Oregão) como a Região.
    4. Na secção Configuração da máquina, selecione N2 como a série.
    5. Certifique-se de que o Disco de arranque está definido para uma imagem Debian, como Debian GNU/Linux 12 (bookworm). Estas instruções usam comandos que só estão disponíveis no Debian, como apt-get. Se precisar de alterar o Disco de arranque, clique em Alterar.
      1. Em Sistema operativo, selecione Debian.
      2. Para Versão, selecione uma das imagens Debian disponíveis, como Debian GNU/Linux 12 (bookworm).
      3. Clique em Selecionar.
    6. Clique em Opções avançadas e, de seguida, em Redes.
    7. Introduza as seguintes etiquetas de rede: allow-ssh e load-balanced-backend.
    8. Na secção Interfaces de rede, selecione Redes partilhadas comigo (do projeto anfitrião: SERVICE_PROJECT_1_ID).
    9. Selecione a sub-rede lb-frontend-and-backend-subnet na rede lb-network.
    10. Clique em Gestão. Para Gestão, insira o seguinte script no campo Script de arranque.
      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" http://metadata.google.internal/computeMetadata/v1/instance/name)"
      echo "Page served from: $vm_hostname" | tee /var/www/html/index.html
      systemctl restart apache2
      
    11. Clique em Criar.
  2. Crie um grupo de instâncias gerido. Na Google Cloud consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

    1. Clique em Criar grupo de instâncias.
    2. Escolha Novo grupo de instâncias gerido (sem estado). Para mais informações, consulte o artigo Grupos de instâncias geridos sem estado ou com estado.
    3. Introduza um Nome para o grupo de instâncias: tutorial-sp3-mig-a.
    4. Para Modelo de instância, selecione tutorial-ig-template-sp3.
    5. Para Localização, selecione Zona única.
    6. Para Região, selecione us-west1.
    7. Especifique o número de instâncias que quer criar no grupo.

      Para este exemplo, especifique as seguintes opções para o dimensionamento automático:

      • Para o Modo de ajuste automático de escala, selecione Off:do not autoscale.
      • Para Número máximo de instâncias, introduza 2.
    8. Clique em Criar.

  3. Crie um serviço de back-end regional. Como parte deste passo, também vamos criar a verificação de funcionamento e adicionar back-ends ao serviço de back-end. Na Google Cloud consola, aceda à página Back-ends.

    Aceda a Back-ends

    1. Clique em Criar serviço de back-end.
    2. Na caixa de diálogo Criar serviço de back-end, clique em Criar junto a Serviço de back-end regional.
    3. Introduza um Nome para o serviço de back-end: tutorial-backend-service-sp3.
    4. Para Região, selecione us-west1.
    5. Para Tipo de balanceador de carga, selecione Balanceador de carga de aplicações interno regional (INTERNAL_MANAGED).
    6. Defina o Tipo de back-end como Grupo de instâncias.
    7. Na secção Back-ends, defina os seguintes campos:
      1. Defina Grupo de instâncias como tutorial-sp3-mig-a.
      2. Introduza os números de porta: 80.
      3. Defina o Modo de equilíbrio como Utilização.
      4. Clique em Concluído.
    8. Na secção Verificação de estado, clique em Criar uma verificação de estado e defina os seguintes campos:
      1. Nome: tutorial-regional-health-check
      2. Protocolo: HTTP
      3. Porta: 80
      4. Clique em Guardar.
    9. Clique em Continuar.
    10. Clique em Criar.
  4. Repita os passos anteriores e crie um grupo de instâncias gerido, tutorial-sp3-mig-b e adicione-o ao serviço de back-end tutorial-backend-service-sp3.

gcloud

  1. Selecione o projeto de serviço que criou:
    gcloud config set project SERVICE_PROJECT_3_ID
  2. Crie um modelo de instância de VM, tutorial-ig-template-sp3 com um servidor HTTP:

    gcloud compute instance-templates create tutorial-ig-template-sp3 \
        --region=us-west1 \
        --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \
        --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
        --tags=allow-ssh,load-balanced-backend \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        vm_hostname="$(curl -H "Metadata-Flavor:Google" \
        http://metadata.google.internal/computeMetadata/v1/instance/name)"
        echo "Page served from: $vm_hostname" | \
        tee /var/www/html/index.html
        systemctl restart apache2' \
        --project=SERVICE_PROJECT_3_ID
    

    Substitua o seguinte:

    • SERVICE_PROJECT_1_ID: o ID do projeto do projeto anfitrião da VPC partilhada.
    • SERVICE_PROJECT_3_ID: o ID do projeto do projeto de serviço, onde os back-ends do balanceador de carga e o serviço de back-end estão a ser criados.
  3. Crie um grupo de instâncias gerido, tutorial-sp3-mig-a na região:

    gcloud compute instance-groups managed create tutorial-sp3-mig-a \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp3 \
        --project=SERVICE_PROJECT_3_ID
    
  4. Defina a verificação de funcionamento de HTTP, tutorial-regional-health-check:

    gcloud compute health-checks create http tutorial-regional-health-check \
      --region=us-west1 \
      --use-serving-port \
      --project=SERVICE_PROJECT_3_ID
    
  5. Defina o serviço de back-end, tutorial-backend-service-sp3:

    gcloud compute backend-services create tutorial-backend-service-sp3 \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --protocol=HTTP \
      --health-checks=tutorial-regional-health-check \
      --health-checks-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_3_ID
    
  6. Adicione back-ends ao serviço de back-end com o comando gcloud compute backend-services add-backend:

    gcloud compute backend-services add-backend tutorial-backend-service-sp3 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp3-mig-a \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_3_ID
    
  7. Crie outro grupo de instâncias geridas, tutorial-sp3-mig-b na região:

    gcloud compute instance-groups managed create tutorial-sp3-mig-b \
        --region=us-west1 \
        --size=2 \
        --template=tutorial-ig-template-sp3 \
        --project=SERVICE_PROJECT_3_ID
    
  8. Adicione back-ends ao serviço de back-end:

    gcloud compute backend-services add-backend tutorial-backend-service-sp3 \
      --balancing-mode=UTILIZATION \
      --instance-group=tutorial-sp3-mig-b \
      --instance-group-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_3_ID
    

Crie o mapa de URL e a regra de encaminhamento no projeto de serviço 1

Todos os passos nesta secção têm de ser realizados no projeto de serviço 1.

Consola

Selecione o tipo de balanceador de carga

  1. Na Google Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique em Criar equilibrador de carga.
  3. Em Tipo de balanceador de carga, selecione Balanceador de carga de aplicações (HTTP/HTTPS) e clique em Seguinte.
  4. Para Público ou interno, selecione Interno e clique em Seguinte.
  5. Para a Implementação em várias regiões ou numa única região, selecione Melhor para cargas de trabalho regionais e clique em Seguinte.
  6. Clique em Configurar.

Configuração básica

  1. Introduza um Nome para o balanceador de carga tutorial-url-maps.
  2. Na lista Região, selecione us-west1.
  3. Na lista Rede, selecione lb-network (de Projeto: SERVICE_PROJECT_1_ID).

    Se vir o aviso É necessária uma sub-rede apenas de proxy na rede VPC partilhada confirme que o administrador do projeto anfitrião criou o proxy-only-subnet na região us-west1 na rede VPC partilhada lb-network. A criação do equilibrador de carga é bem-sucedida mesmo que não tenha autorização para ver a sub-rede apenas de proxy nesta página.

  4. Mantenha a janela aberta para continuar.

Configure o back-end

  1. Clique em Configuração de back-end.
  2. Clique em Serviços de back-end entre projetos.
  3. No campo ID do projeto, introduza o ID do projeto para o projeto de serviço 2.
  4. No campo Nome do serviço de back-end, introduza o nome do serviço de back-end do projeto de serviço 2 que quer usar. Para este exemplo, é tutorial-backend-service-sp2.
  5. Clique em Adicionar serviço de back-end.
  6. No campo ID do projeto, introduza o ID do projeto para o projeto de serviço 3.
  7. No campo Nome do serviço de back-end, introduza o nome do serviço de back-end do projeto de serviço 3 que quer usar. Para este exemplo, é tutorial-backend-service-sp3.
  8. Clique em Adicionar serviço de back-end.

Configure as regras de encaminhamento

  1. Clique em Regras de encaminhamento.
  2. Na secção Regras de anfitriões e caminhos, no campo Anfitrião 2, introduza *.
  3. No campo Caminhos 2, introduza /*.
  4. Na lista pendente Backend 2, selecione tutorial-backend-service-sp2.
  5. Clique em Adicionar regra de anfitrião e caminho.
  6. No campo Anfitrião 3, introduza tutorial-host.
  7. No campo Caminhos 3, introduza /*.
  8. Na lista pendente Backend 3, selecione tutorial-backend-service-sp3.

  9. Procure a marca de verificação azul à esquerda de Regras de anfitrião e caminho e clique no botão Atualizar.

    Para informações sobre a gestão de tráfego, consulte o artigo Configurar a gestão de tráfego.

Configure a interface

Para que a referência de serviços entre projetos funcione, o front-end tem de usar a mesma rede (lb-network) do projeto anfitrião de VPC partilhada que foi usada para criar o serviço de back-end.

  1. Clique em Configuração do front-end.
  2. Introduza um Nome para a regra de encaminhamento: l7-ilb-forwarding-rule.
  3. Defina o Protocolo como HTTP.
  4. Defina a Sub-rede como lb-frontend-and-backend-subnet. Não selecione a sub-rede apenas de proxy para o front-end, mesmo que seja uma opção na lista.
  5. Defina a Porta para 80.
  6. No campo Endereço IP, mantenha a opção predefinida, Efémero (automático).
  7. Clique em Concluído.

Reveja e finalize a configuração

  • Clique em Criar.

gcloud

  1. Selecione o projeto de serviço que criou:

    gcloud config set project SERVICE_PROJECT_1_ID

  2. Crie o mapa de URLs, tutorial-url-maps, e defina o serviço predefinido para o serviço de back-end criado no projeto de serviço 1:

    gcloud compute url-maps create tutorial-url-maps \
        --default-service=projects/SERVICE_PROJECT_2_ID/regions/us-west1/backendServices/tutorial-backend-service-sp2 \
        --region=us-west1 \
        --project=SERVICE_PROJECT_1_ID
    

    Substitua o seguinte:

    • SERVICE_PROJECT_2_ID: o ID do projeto do projeto de serviço 2, onde os back-ends do balanceador de carga e o serviço de back-end são criados.
    • SERVICE_PROJECT_1_ID: o ID do projeto do projeto de serviço 1, onde está a ser criado o front-end do balanceador de carga.
  3. Crie o proxy de destino, tutorial-http-proxy:

    gcloud compute target-http-proxies create tutorial-http-proxy \
      --url-map=tutorial-url-maps \
      --url-map-region=us-west1 \
      --region=us-west1 \
      --project=SERVICE_PROJECT_1_ID
    
  4. Crie a regra de encaminhamento l7-ilb-forwarding-rule para processar o tráfego HTTP. Para que a referência de serviços entre projetos funcione, a regra de encaminhamento tem de usar a mesma rede (lb-network) do projeto anfitrião de VPC partilhada que foi usada para criar o serviço de back-end.

    gcloud compute forwarding-rules create l7-ilb-forwarding-rule \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=projects/SERVICE_PROJECT_1_ID/global/networks/lb-network \
      --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
      --address=l7-ilb-ip-address \
      --ports=80 \
      --region=us-west1 \
      --target-http-proxy=tutorial-http-proxy \
      --target-http-proxy-region=us-west1 \
      --project=SERVICE_PROJECT_1_ID
    
  5. Para enviar tráfego para o serviço de back-end, associe o mapa de URLs ao serviço de back-end. Para mais informações, consulte o artigo Use mapas de URLs.

    1. Associe o serviço de back-end tutorial-backend-service-sp2 no projeto de serviço 2 ao mapa de URLs, tutorial-url-maps e ao nome do correspondente de caminhos, tutorial-path-matcher-sp2:

      gcloud compute url-maps add-path-matcher tutorial-url-maps \
         --path-matcher-name=tutorial-path-matcher-sp2 \
         --default-service=projects/SERVICE_PROJECT_2_ID/regions/us-west1/backendServices/tutorial-backend-service-sp2 \
         --region=us-west1
      
    2. Associe o serviço de back-end tutorial-backend-service-sp3 no projeto 3 do serviço ao mapa de URLs tutorial-url-maps e ao nome do correspondente de caminhos tutorial-path-matcher-sp3. Adicione uma nova regra de anfitrião, tutorial-host, com os anfitriões indicados, para que o correspondente de caminhos esteja associado à nova regra de anfitrião

      gcloud compute url-maps add-path-matcher tutorial-url-maps \
        --path-matcher-name=tutorial-path-matcher-sp3 \
        --default-service=projects/SERVICE_PROJECT_3_ID/regions/us-west1/backendServices/tutorial-backend-service-sp3 \
        --region=us-west1 \
        --new-hosts=tutorial-host
      

Teste o balanceador de carga

Para testar o equilibrador de carga, comece por criar uma VM cliente de exemplo. Em seguida, estabeleça uma sessão SSH com a VM e envie tráfego desta VM para o balanceador de carga.

Crie uma instância de VM de teste

Os clientes podem estar localizados no projeto anfitrião de VPC partilhada ou em qualquer projeto de serviço ligado. Neste exemplo, testa se o equilibrador de carga está a funcionar implementando uma VM cliente no projeto de serviço 1, que está designado como o projeto anfitrião de VPC partilhada. O cliente tem de usar a mesma rede de VPC partilhada e estar na mesma região que o equilibrador de carga.

Todos os passos nesta secção têm de ser realizados no projeto de serviço 2.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique em Criar instância.

  3. No campo Nome, introduza client-vm.

  4. Defina a Zona como us-west1-b.

  5. Clique em Opções avançadas e, de seguida, em Redes.

  6. Introduza as seguintes etiquetas de rede: allow-ssh e load-balanced-backend.

  7. Na secção Interfaces de rede, selecione Redes partilhadas comigo (do projeto anfitrião: SERVICE_PROJECT_1_ID).

  8. Selecione a sub-rede lb-frontend-and-backend-subnet na rede lb-network.

  9. Clique em Criar.

gcloud

Crie uma instância de VM de teste.

gcloud compute instances create client-vm \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --subnet=projects/SERVICE_PROJECT_1_ID/regions/us-west1/subnetworks/lb-frontend-and-backend-subnet \
    --zone=us-west1-b \
    --tags=allow-ssh \
    --project=SERVICE_PROJECT_2_ID

Envie tráfego para o balanceador de carga

Use o SSH para estabelecer ligação à instância que acabou de criar e testar se os serviços HTTP(S) nos back-ends são acessíveis através do endereço IP da regra de encaminhamento do balanceador de carga de aplicações interno e se o tráfego está a ser balanceado de carga nas instâncias de back-end.

  1. Recupere o valor do endereço IP do balanceador de carga:

    gcloud compute addresses list --filter="name=( 'l7-ilb-ip-address')"
    

    Vê um resultado semelhante ao seguinte:

    NAME: l7-ilb-ip-address
    ADDRESS/RANGE: 10.1.2.2
    TYPE: INTERNAL
    PURPOSE: GCE_ENDPOINT
    NETWORK:
    REGION: us-west1
    SUBNET: lb-frontend-and-backend-subnet
    STATUS: IN_USE
    

    Copie o serviço ADDRESS/RANGE, por exemplo, 10.1.2.2, do resultado para usar nos passos seguintes.

  2. Ligue-se à instância do cliente com SSH:

    gcloud compute ssh client-vm \
       --zone=us-west1-b \
       --project=SERVICE_PROJECT_2_ID
    
  3. Verifique se o endereço IP do equilibrador de carga está a publicar o respetivo nome do anfitrião:

    1. Verifique se o endereço IP está a publicar o respetivo nome do anfitrião no projeto de serviço 2:

      curl 10.1.2.2
      

      Vê um resultado semelhante ao seguinte:

      Page served from: tutorial-sp2-mig-a-10xk
      

    2. Verifique se o endereço IP está a publicar o respetivo nome do anfitrião no projeto de serviço 3:

      curl -H "Host: tutorial-host" 10.1.2.2
      

      Vê um resultado semelhante ao seguinte:

      Page served from: tutorial-sp3-mig-a-3d5h
      

Conceda autorizações de IAM

Forneça as funções e as autorizações do IAM adequadas aos projetos de serviço e anfitrião do App Hub.

Consola

  1. Na Google Cloud consola, aceda à página do seletor de projetos.

    Aceder ao seletor de projetos

  2. Selecione o projeto anfitrião do App Hub.

  3. Na Google Cloud consola, aceda à página IAM.

    Aceda ao IAM

  4. Clique em Conceder acesso. O painel Conceder acesso é aberto.

  5. No campo Novos responsáveis, 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 do App Hub.

  6. Clique em Selecionar uma função e, no campo Filtro, introduza App Hub.

  7. Selecione a função Administrador do App Hub e clique em Guardar.

  8. Em cada um dos projetos de serviço do App Hub, conceda a função de administrador do App Hub ao mesmo utilizador.

gcloud

  1. 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 do App Hub. Este valor tem o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.

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

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

    Substitua SERVICE_PROJECT_ID pelo ID dos projetos de serviço.

Anexe os projetos 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. Anexe os projetos de serviço nos quais implementou os recursos ao projeto anfitrião do App Hub.

Consola

  1. Na Google Cloud consola, aceda à página Definições do App Hub.

    Aceda às Definições

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

  3. No painel apresentado, pesquise projetos na lista apresentada e selecione as caixas de verificação dos projetos que quer adicionar como projetos de serviço.

  4. Clique em Selecionar. A tabela Attached Service Project(s) (Projetos de serviços anexados) apresenta os projetos de serviços selecionados.

  5. Clique em Fechar.

gcloud

  1. Anexe os projetos de serviço 1, 2 e 3 ao seu projeto de anfitrião do App Hub.

    gcloud apphub service-projects add SERVICE_PROJECT_1_ID \
      --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_2_ID \
      --project=HOST_PROJECT_ID
    
    gcloud apphub service-projects add SERVICE_PROJECT_3_ID \
      --project=HOST_PROJECT_ID
    
  2. Confirme que anexou os projetos de serviço do App Hub ao projeto anfitrião do App Hub:

    gcloud apphub service-projects list --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 global para ajudar a gerir recursos globais e regionais numa única aplicação. Se quiser agrupar os seus recursos de uma região específica, pode criar uma aplicação Regional e registar estes recursos. Para mais informações sobre como criar uma aplicação regional, consulte o artigo Configure o App Hub.

Consola

  1. Certifique-se de que está no projeto anfitrião do App Hub.
  2. Na Google Cloud consola, aceda à página Aplicações do App Hub.

    Aceda a Aplicações

  3. Clique em Criar candidatura.

  4. Na página Criar aplicação, no painel Escolha a região da aplicação e o nome, selecione Global.

  5. No campo Nome da aplicação, introduza tutorial-application. Este nome é um identificador exclusivo e é imutável depois de criar a aplicação.

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

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

  8. No campo Ambiente, para indicar a fase 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 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.

    1. Introduza um nome a apresentar do proprietário.
    2. Introduza o endereço de email do proprietário. Este valor tem de ter o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.
  11. Repita estes passos para cada programador, operador e proprietário da empresa.

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

  1. Selecione o projeto anfitrião do App Hub que criou:

    gcloud config set project HOST_PROJECT_ID
  2. Crie uma nova aplicação denominada tutorial-application na região global 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=GLOBAL \
        --project=HOST_PROJECT_ID \
        --location=global
    
  3. Liste as aplicações no projeto anfitrião do App Hub:

    gcloud apphub applications list \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Vê um resultado semelhante ao seguinte:

    ID                    DISPLAY_NAME  CREATE_TIME
    tutorial-application  Tutorial      2023-10-31T18:33:48
    
  4. 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=global
    

    Substitua o seguinte:

    • DISPLAY-NAME-DEVELOPER, DISPLAY-NAME-OPERATOR e DISPLAY-NAME-BUSINESS: nomes a apresentar dos proprietários do programador, do operador e da empresa, respetivamente.
    • EMAIL-NAME-DEVELOPER, EMAIL-NAME-OPERATOR e EMAIL-NAME-BUSINESS: endereços de email do programador, operador e proprietários da empresa, respetivamente. Estes valores têm de ter o formato username@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.
  5. Obtenha detalhes da aplicação que criou:

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

    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/global/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

  1. Na Google Cloud consola, aceda à página Aplicações do App Hub.

    Aceda a Aplicações

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

  3. Registe um serviço:

    1. No separador Serviços e cargas de trabalho, clique em Registar serviço/carga de trabalho.
    2. 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.
    3. No painel Selecionar recurso, escolha o Nome do serviço, tutorial-backend-service-sp2, e clique em Selecionar.
    4. No painel Selecionar recurso, introduza o Nome do recurso, tutorial-service-backend-sp2.
    5. Introduza um Nome a apresentar, Backend service (SP2) e clique em Continuar.
    6. No painel Adicionar atributos, na lista Criticidade, para indicar a importância da aplicação, selecione Alta.
    7. No campo Ambiente, para indicar a fase 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 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.
      1. Introduza um nome a apresentar do proprietário.
      2. Introduza o endereço de email do proprietário. Este valor tem de ter o formato username@yourdomain, por exemplo, 222larabrown@gmail.com.
    10. Repita estes passos para cada programador, operador e proprietário da empresa.
    11. 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.

  4. Repita os passos anteriores para registar os outros serviços como tutorial-service-backend-sp3, tutorial-service-forwarding-rule e tutorial-service-url-map, respetivamente.
  5. Registe uma carga de trabalho repetindo os passos anteriores para registar um serviço com as seguintes exceções:
    1. 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, tutorial-sp2-mig-a, e clique em Continuar.
    2. No painel Selecionar recurso, introduza o Nome do recurso, tutorial-workload-sp2-mig-a.
    3. Introduza um Nome a apresentar, Instance group - A (SP2) e clique em Continuar.
  6. Repita os passos anteriores para registar as outras cargas de trabalho como tutorial-workload-sp2-mig-a, tutorial-workload-sp2-mig-b, tutorial-workload-sp3-mig-a e tutorial-workload-sp3-mig-b, respetivamente.

gcloud

  1. 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 formato username@yourdomain, por exemplo, 222larabrown@gmail.com.

  2. 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_SP2_ID      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp2'}  {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}
    BACKEND_SERVICE_SP3_ID      {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp3'}  {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}
    FORWARDING_RULE_SERVICE_ID  {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule'}        {'gcpProject': 'projects/SERVICE_PROJECT_1_ID', 'location': 'us-west1'}
    URL_MAP_SERVICE_ID          {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/urlMaps/tutorial-url-maps'}                     {'gcpProject': 'projects/SERVICE_PROJECT_1_ID', 'location': 'us-west1'}
    

    Copie os serviços IDs, por exemplo, BACKEND_SERVICE_SP2_ID do resultado para usar no passo seguinte.

  3. 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-sp2 \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_SP2_ID' \
        --display-name='Backend service (SP2)' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications services create tutorial-service-backend-sp3 \
        --discovered-service='projects/HOST_PROJECT_ID/locations/us-west1/discoveredServices/BACKEND_SERVICE_SP3_ID' \
        --display-name='Backend service (SP3)' \
        --criticality-type='HIGH' \
        --environment-type='PRODUCTION' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    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=global
    
    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=global
    

    Substitua o seguinte:

    • BACKEND_SERVICE_SP2_ID: o serviço ID do serviço de back-end do projeto de serviço 2 que quer registar.
    • BACKEND_SERVICE_SP3_ID: o serviço ID do serviço de back-end do projeto de serviço 3 que quer registar.
    • FORWARDING_RULE_SERVICE_ID: o serviço ID da regra de encaminhamento do projeto de serviço 1 que quer registar.
    • URL_MAP_SERVICE_ID: o serviço ID do mapa de URLs do projeto de serviço 1 que quer registar.
  4. Liste todos os serviços registados na aplicação:

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

    Vê um resultado semelhante ao seguinte:

    ID                               DISPLAY_NAME      SERVICE_REFERENCE                                                                                                                       CREATE_TIME
    tutorial-service-backend-sp2     Backend service   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp2'}   2024-02-13T00:31:45
    tutorial-service-backend-sp3     Backend service   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/regions/us-west1/backendServices/tutorial-backend-service-sp3'}   2024-02-13T00:31:45
    tutorial-service-forwarding-rule Forwarding rule   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule'}         2024-02-13T00:31:45
    tutorial-service-url-map         URL map           {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_1_NUMBER]/regions/us-west1/urlMaps/tutorial-url-maps'}                      2024-02-13T00:31:45
    
    Os serviços registados, mas desanexados, são indicados por um valor vazio no campo SERVICE_REFERENCE. Para mais informações sobre os estados de registo, consulte as propriedades e os atributos do App Hub.

  5. 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=global
    

    Vê um resultado semelhante ao seguinte:

    ID                            WORKLOAD_REFERENCE                                                                                                          WORKLOAD_PROPERTIES
    INSTANCE_GROUP_SP3_A_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-a'}  {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}
    INSTANCE_GROUP_SP3_B_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-b'}  {'gcpProject': 'projects/SERVICE_PROJECT_3_ID', 'location': 'us-west1'}
    INSTANCE_GROUP_SP2_A_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-a'}  {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}
    INSTANCE_GROUP_SP2_B_ID    {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-b'}  {'gcpProject': 'projects/SERVICE_PROJECT_2_ID', 'location': 'us-west1'}
    
    Copie o ID da carga de trabalho do resultado para usar no passo seguinte.

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

    gcloud apphub applications workloads create tutorial-workload-sp3-mig-a \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP3_A_ID' \
        --display-name='Workload instance group (SP3-A)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications workloads create tutorial-workload-sp3-mig-b \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP3_B_ID' \
        --display-name='Workload instance group (SP3-B)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications workloads create tutorial-workload-sp2-mig-a \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP2_A_ID' \
        --display-name='Workload instance group (SP2-A)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    
    gcloud apphub applications workloads create tutorial-workload-sp2-mig-b \
        --discovered-workload='projects/HOST_PROJECT_ID/locations/us-west1/discoveredWorkloads/INSTANCE_GROUP_SP2_B_ID' \
        --display-name='Workload instance group (SP2-B)' \
        --application=tutorial-application \
        --project=HOST_PROJECT_ID \
        --location=global
    

    Substitua o seguinte:

    • INSTANCE_GROUP_SP3_A_ID, INSTANCE_GROUP_SP3_B_ID: as cargas de trabalho IDs dos grupos de instâncias geridos do projeto de serviço 3 que quer registar.
    • INSTANCE_GROUP_SP2_A_ID, INSTANCE_GROUP_SP2_B_ID: as cargas de trabalho IDs dos grupos de instâncias geridas do projeto de serviço 2 que quer registar.
  7. 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=global
    

    Vê um resultado semelhante ao seguinte:

    ID                              DISPLAY_NAME                      SERVICE_REFERENCE                                                                                                            CREATE_TIME
    tutorial-workload-sp3-mig-a     Workload instance group (SP3-A)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-a'}   2024-02-13T00:31:45
    tutorial-workload-sp3-mig-b     Workload instance group (SP3-B)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_3_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp3-mig-b'}   2024-02-13T00:31:45
    tutorial-workload-sp2-mig-a     Workload instance group (SP2-A)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-a'}   2024-02-13T00:31:45
    tutorial-workload-sp2-mig-b     Workload instance group (SP2-B)   {'uri': '//compute.googleapis.com/projects/[SERVICE_PROJECT_2_NUMBER]/zones/us-west1-a/instanceGroups/tutorial-sp2-mig-b'}   2024-02-13T00:31:45
    
    As cargas de trabalho registadas, mas desassociadas, são indicadas por um valor vazio no campo 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.

  1. Na Google Cloud consola, aceda à página Serviços e cargas de trabalho do App Hub.

    Aceda a Serviços e cargas de trabalho

    São apresentados todos os serviços e cargas de trabalho dos projetos de serviços do App Hub anexados.

  2. Na lista Região, selecione global. A carga de trabalho Workload instance group é apresentada com detalhes como App Hub Type, Criticality e Registered to.

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

    1. No campo Filtro, selecione filtros como Estado do registo.
    2. 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:

  1. Na Google Cloud consola, aceda à página Aplicações do App Hub.

    Aceda a Aplicações

  2. 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:
      1. Clique no nome da aplicação.
      2. 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:
      1. Clique no nome da aplicação.
      2. Na linha que apresenta o nome do serviço ou da carga de trabalho, clique em O ícone do painel de controlo de observabilidade de visualização 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

  1. Na Google Cloud consola, aceda à página App Hub Aplicações.

    Aceda a Aplicações

  2. Clique no nome de uma aplicação, Tutorial.

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

  4. Na página Serviços e cargas de trabalho, clique em Anular registo.

    Um alerta notifica que o serviço não está registado.

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

  6. No separador Detalhes, clique em Anular registo.

    Um alerta notifica que a carga de trabalho não está registada.

  7. Aceda à página Aplicações do App Hub.

    Aceda a Aplicações

  8. Clique no nome de uma aplicação.

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

  10. Na Google Cloud consola, aceda à página Definições do App Hub.

    Aceda às Definições

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

  12. Clique em Desassociar projetos.

gcloud

  1. Indique os serviços registados na aplicação:

    gcloud apphub applications services list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    
  2. Anule o registo dos serviços na aplicação:

    gcloud apphub applications services delete SERVICE_NAME \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    

    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.

  3. Liste as cargas de trabalho registadas na aplicação:

    gcloud apphub applications workloads list \
      --application=tutorial-application --project=HOST_PROJECT_ID \
      --location=global
    
  4. 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=global
    

    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.

  5. Elimine a aplicação:

    gcloud apphub applications delete tutorial-application \
      --project=HOST_PROJECT_ID \
      --location=global
    
  6. Remova os projetos de serviço do projeto anfitrião do App Hub:

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

    Substitua SERVICE_PROJECT_ID pelos IDs dos projetos de serviço 1, 2 e 3.

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.

Para mais informações, consulte o artigo Limpe a configuração do equilibrador de carga.

Elimine o projeto

Consola

  1. Na Google Cloud consola, aceda à página Gerir recursos.

    Aceda a Gerir recursos

  2. Na lista de projetos, selecione o projeto que quer eliminar e, de seguida, clique em Eliminar.
  3. 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.

O que se segue?