Codelab de balanceamento de carga HTTPs externo com gerenciamento de tráfego avançado (Envoy)

1. Introdução

Bem-vindo ao codelab do balanceador de carga HTTPs externo com gerenciamento avançado de tráfego (Envoy)!

A versão mais recente do balanceador de carga HTTP(S) externo com gerenciamento de tráfego avançado contém todos os recursos do balanceador de carga HTTP(S) externo global clássico, mas com uma lista cada vez maior de recursos avançados de gerenciamento de tráfego. Alguns desses recursos são novos nos nossos balanceadores de carga, e outros oferecem recursos aprimorados para recursos atuais. Uma lista parcial desses recursos inclui:

  • Divisão de tráfego ponderada
  • Solicitar espelhamento
  • Detecção de outlier
  • Tentativas de solicitação
  • Injeção de falhas
  • Outras opções de afinidade de sessão de back-end
  • Outras opções de transformação de cabeçalho
  • Compartilhamento de recursos entre origens (CORS, na sigla em inglês)
  • Novos algoritmos de balanceamento de carga

O que você vai aprender

  • Como configurar um grupo gerenciado de instâncias e a VPC e as regras de firewall associadas
  • Como usar os recursos avançados de gerenciamento de tráfego do novo balanceador de carga
  • Como validar se os recursos avançados de gerenciamento de tráfego estão funcionando conforme o esperado.

O que é necessário

  • Conhecimento básico de redes e HTTP
  • Conhecimento básico de linha de comando do Unix/Linux

Topologia e caso de uso do codelab

dd8bd5e8e1341878.png

Figura 1: topologia de roteamento do balanceador de carga HTTP

Neste codelab, você vai configurar três grupos gerenciados de instâncias, um no leste, um no oeste e um no centro. Você vai criar um balanceador de carga HTTPS externo global. O balanceador de carga vai usar vários recursos da lista de recursos avançados compatíveis com o balanceador de carga baseado no Envoy. Depois da implantação, gere uma carga simulada e verifique se as configurações definidas estão funcionando corretamente.

2. Configuração e requisitos

Configuração de ambiente autoguiada

  1. Faça login no Console do Google Cloud e crie um novo projeto ou reutilize um existente. Crie uma conta do Gmail ou do Google Workspace, se ainda não tiver uma.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • O Nome do projeto é o nome de exibição para os participantes do projeto. É uma string de caracteres não usada pelas APIs do Google e pode ser atualizada quando você quiser.
  • O ID do projeto precisa ser exclusivo em todos os projetos do Google Cloud e não pode ser mudado após a definição. O console do Cloud gera automaticamente uma string exclusiva. Em geral, não importa o que seja. Na maioria dos codelabs, é necessário fazer referência ao ID do projeto, normalmente identificado como PROJECT_ID. Se você não gostar do ID gerado, crie outro aleatório. Se preferir, teste o seu e confira se ele está disponível. Ele não pode ser mudado após essa etapa e permanece durante o projeto.
  • Para sua informação, há um terceiro valor, um Número do projeto, que algumas APIs usam. Saiba mais sobre esses três valores na documentação.
  1. Em seguida, ative o faturamento no console do Cloud para usar os recursos/APIs do Cloud. A execução deste codelab não vai ser muito cara, se tiver algum custo. Para encerrar os recursos e evitar cobranças além deste tutorial, exclua os recursos criados ou exclua o projeto. Novos usuários do Google Cloud estão qualificados para o programa de US$ 300 de avaliação sem custos.

Inicie o Cloud Shell

Embora o Google Cloud e o Spanner possam ser operados remotamente do seu laptop, neste codelab usaremos o Google Cloud Shell, um ambiente de linha de comando executado no Cloud.

No Console do Google Cloud, clique no ícone do Cloud Shell na barra de ferramentas superior à direita:

55efc1aaa7a4d3ad.png

O provisionamento e a conexão com o ambiente levarão apenas alguns instantes para serem concluídos: Quando o processamento for concluído, você verá algo como:

7ffe5cbb04455448.png

Essa máquina virtual contém todas as ferramentas de desenvolvimento necessárias. Ela oferece um diretório principal persistente de 5 GB, além de ser executada no Google Cloud. Isso aprimora o desempenho e a autenticação da rede. Neste codelab, todo o trabalho pode ser feito com um navegador. Você não precisa instalar nada.

Antes de começar

No Cloud Shell, verifique se o ID do projeto está configurado.

gcloud config list project

gcloud config set project [YOUR-PROJECT-NAME]

PROJECT_ID=[YOUR-PROJECT-NAME]

echo $PROJECT_ID

Ativar APIs

Ative todos os serviços necessários

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com

3. criar a rede VPC

Crie uma rede VPC

No Cloud Shell

gcloud compute networks create httplbs --subnet-mode=auto

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/httplbs].
NAME: httplbs
SUBNET_MODE: AUTO
BGP_ROUTING_MODE: REGIONAL
IPV4_RANGE:
GATEWAY_IPV4:

Criar regras de firewall da VPC

Depois de criar a VPC, crie regras de firewall. A regra de firewall será usada para permitir que todos os IPs acessem o IP externo do site do aplicativo de teste na porta 80 para tráfego http.

No Cloud Shell

gcloud compute firewall-rules create httplb-allow-http-rule \
--allow tcp:80 \
--network httplbs \
--source-ranges 0.0.0.0/0 \
--priority 700

Saída

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/httplb-allow-http-rule].
Creating firewall...done.
NAME: httplb-allow-http-rule
NETWORK: httplbs
DIRECTION: INGRESS
PRIORITY: 700
ALLOW: tcp:80
DENY:
DISABLED: False

4. Configurar os grupos gerenciados de instâncias

Você precisa configurar grupos gerenciados de instâncias que incluem os padrões para recursos de back-end usados pelo balanceador de carga HTTP. Primeiro, vamos criar modelos de instância que definem a configuração das VMs a serem criadas em cada região. Em seguida, para um back-end em cada região, vamos criar um grupo gerenciado de instâncias que faz referência a um modelo de instância.

Os grupos gerenciados de instâncias podem ser zonais ou regionais no escopo. Para este exercício prático, vamos criar três grupos gerenciados de instâncias regionais: um em us-east1, um em us-west1 e outro em us-central1.

Nesta seção, você pode conferir um script de inicialização pré-criado que será referenciado na criação da instância. Esse script de inicialização instala e ativa recursos de servidor da Web que serão usados para simular um aplicativo da Web. Se quiser, analise o script.

Criar os modelos de instância leste, oeste e central

A primeira etapa é criar o modelo de instância us-east-1.

No Cloud Shell

gcloud compute instance-templates create us-east1-template \
   --region=us-east1 \
   --network=httplbs \
   --tags=http-server, \
   --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://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-east1-template].
NAME: us-east1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:02:37.511-08:00

A próxima etapa é criar o modelo de instância us-west-1.

No Cloud Shell

gcloud compute instance-templates create us-west1-template \
   --region=us-west1 \
   --network=httplbs \
   --tags=http-server, \
   --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://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-west1-template].
NAME: us-west1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:08.577-08:00

A próxima etapa é criar o modelo de instância us-central-1.

No Cloud Shell

gcloud compute instance-templates create us-central1-template \
   --region=us-central1 \
   --network=httplbs \
   --tags=http-server, \
   --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://169.254.169.254/computeMetadata/v1/instance/name)"
     echo "Page served from: $vm_hostname" | \
     tee /var/www/html/index.html
     systemctl restart apache2'

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates/us-central1-template].
NAME: us-central1-template
MACHINE_TYPE: n1-standard-1
PREEMPTIBLE:
CREATION_TIMESTAMP: 2021-11-11T11:03:44.179-08:00

Agora é possível verificar se os modelos de instância foram criados com sucesso usando o seguinte comando gcloud:

No Cloud Shell

gcloud compute instance-templates list

Saída

NAME                  MACHINE_TYPE   PREEMPTIBLE  CREATION_TIMESTAMP
us-central1-template   n1-standard-1         2021-11-09T09:25:37.263-08:00
us-east1-template      n1-standard-1         2021-11-09T09:24:35.275-08:00
us-west1-template      n1-standard-1         2021-11-09T09:25:08.016-08:00

Criar os grupos gerenciados de instâncias leste, oeste e central

Agora precisamos criar um grupo gerenciado de instâncias com base nos modelos de instância criados anteriormente.

No Cloud Shell

gcloud compute instance-groups managed create us-east1-mig \
--base-instance-name=us-east1-mig \
--size=1 \
--template=us-east1-template \
--zone=us-east1-b 

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-east1-b/instanceGroupManagers/us-east1-mig].
NAME: us-east1-mig
LOCATION: us-east1-b
SCOPE: zone
BASE_INSTANCE_NAME: us-east1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-east1-template
AUTOSCALED: no

No Cloud Shell

gcloud compute instance-groups managed create us-west1-mig \
--base-instance-name=us-west1-mig \
--size=1 \
--template=us-west1-template \
--zone=us-west1-a  

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-west1-a/instanceGroupManagers/us-west1-mig].
NAME: us-west1-mig
LOCATION: us-west1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-west1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-west1-template
AUTOSCALED: no

No Cloud Shell

gcloud compute instance-groups managed create us-central1-mig \
--base-instance-name=us-central1-mig \
--size=1 \
--template=us-central1-template \
--zone=us-central1-a 

Saída

Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/us-central1-a/instanceGroupManagers/us-central1-mig].
NAME: us-central1-mig
LOCATION: us-central1-a
SCOPE: zone
BASE_INSTANCE_NAME: us-central1-mig
SIZE: 0
TARGET_SIZE: 1
INSTANCE_TEMPLATE: us-central1-template
AUTOSCALED: no

Podemos verificar se os grupos de instâncias foram criados com sucesso usando o seguinte comando gcloud:

No Cloud Shell

gcloud compute instance-groups list

Saída

NAME                  LOCATION      SCOPE   NETWORK         MANAGED INSTANCES
us-central1-mig       us-central1   zone    httplbs          Yes      1
us-west1-mig          us-west1      zone    httplbs          Yes      1
us-east1-mig          us-east1      zone    httplbs          Yes      1

Verificar a funcionalidade do servidor da Web

Cada instância é configurada para executar um servidor da Web Apache com um script PHP simples que renderiza:

c87ca81d3125ac61.png

Para garantir que os servidores da Web estejam funcionando corretamente, navegue até Compute Engine -> Instâncias de VM. Verifique se as novas instâncias (por exemplo, us-east1-mig-xxx) foram criadas de acordo com as definições do grupo de instâncias.

Agora, faça uma solicitação da Web no navegador para garantir que o servidor da Web esteja em execução. Isso pode levar um minuto para começar. Na página "Instâncias de VM" do Compute Engine, selecione uma instância criada pelo grupo de instâncias e clique no IP externo (público) dela.

Ou, no navegador, acesse http://<IP_Address>

5. Configurar o balanceador de carga

Criar verificação de integridade

Primeiro, crie uma verificação de integridade básica para garantir que os serviços estejam funcionando corretamente. Vamos criar uma verificação de integridade básica. Há muitas outras personalizações avançadas disponíveis.

No Cloud Shell

gcloud compute health-checks create http http-basic-check \
    --port 80

Reservar endereço IP externo

Para esta etapa, é necessário reservar um endereço IP estático disponível globalmente que será anexado ao balanceador de carga mais tarde.

No Cloud Shell

gcloud compute addresses create lb-ipv4-2 \
    --ip-version=IPV4 \
    --global

Anote o endereço IP reservado.

gcloud compute addresses describe lb-ipv4-2 \
    --format="get(address)" \
    --global

Criar serviços de back-end

Agora precisamos criar um serviço de back-end para cada um dos grupos de instâncias gerenciadas que criamos anteriormente. Uma para leste, oeste e central.

Como criar um serviço de back-end para o grupo gerenciado de instâncias do leste.

No Cloud Shell

gcloud compute backend-services create east-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Criando um serviço de back-end para o grupo gerenciado de instâncias do Oeste.

No Cloud Shell

gcloud compute backend-services create west-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Como criar um serviço de back-end para o grupo gerenciado de instâncias central.

No Cloud Shell

gcloud compute backend-services create central-backend-service \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTP \
    --port-name=http \
    --health-checks=http-basic-check \
    --global

Adicionar MIGs aos serviços de back-end

Agora que criamos os respectivos serviços de back-end para cada cluster de aplicativo, precisamos adicionar os grupos gerenciados de instâncias criados anteriormente a cada serviço de back-end.

Adicione o MIG leste ao serviço de back-end.

No Cloud Shell

gcloud compute backend-services add-backend east-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-east1-mig \
    --instance-group-zone=us-east1-b \
    --global

Adicione o MIG West ao serviço de back-end.

No Cloud Shell

gcloud compute backend-services add-backend west-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-west1-mig \
    --instance-group-zone=us-west1-a \
    --global

Adicione o MIG central ao serviço de back-end.

No Cloud Shell

gcloud compute backend-services add-backend central-backend-service \
    --balancing-mode='UTILIZATION' \
    --instance-group=us-central1-mig \
    --instance-group-zone=us-central1-a \
    --global

Criar mapa de URL

O mapa de URL é onde os recursos avançados de gerenciamento de tráfego deste laboratório vão ficar. Precisamos criar um arquivo .yaml que contenha a configuração. No arquivo .yaml, criamos uma correspondência de prefixo em /roundrobbin. Portanto, apenas o tráfego correspondente a /roundrobbin será afetado por essas configurações. Especificamos que 50% do tráfego devem ir para o east-backend-service e 50% para o west-backend-service. Além disso, adicionamos um valor de cabeçalho de resposta:{test}, que estará presente em todas as respostas. Por fim, adicionamos que todo o tráfego deve ser espelhado para o central-backend-service. O tráfego é duplicado e enviado aqui apenas para fins de teste.

Salve o exemplo como um arquivo .yaml na sua máquina.

defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
kind: compute #urlMap
name: web-map-http
hostRules:
- hosts:
  - '*'
  pathMatcher: matcher1
pathMatchers:
- defaultService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
  name: matcher1
  routeRules:
  - matchRules:
    - prefixMatch: /roundrobbin
    priority: 2
    headerAction:
        responseHeadersToAdd:
          - headerName: test
            headerValue: value
            replace: True
    routeAction:
        weightedBackendServices:
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/east-backend-service
          weight: 50
        - backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/west-backend-service
          weight: 50
        retryPolicy:
            retryConditions: ['502', '504']
            numRetries: 3
            perTryTimeout:
                seconds: 1
                nanos: 50
        requestMirrorPolicy:
          backendService: https://www.googleapis.com/compute/v1/projects/[project_id]/global/backendServices/central-backend-service

Crie o mapa de URL importando o documento da sua máquina. O caminho de origem varia de acordo com o local em que você salva o arquivo .yaml.

No Cloud Shell

gcloud compute url-maps import web-map-http \
   --source /Users/[USERNAME]/Documents/Codelab/lbconfig.yaml \
   --global

Criar front-end HTTP

A etapa final na criação do balanceador de carga é criar o front-end. Isso vai mapear o endereço IP reservado anteriormente para o mapa de URLs do balanceador de carga criado.

No Cloud Shell

gcloud compute target-http-proxies create http-lb-proxy-adv \
    --url-map=web-map-http

Em seguida, crie uma regra de encaminhamento global que mapeie o endereço IP reservado anteriormente para o proxy HTTP.

No Cloud Shell

gcloud compute forwarding-rules create http-content-rule \
    --load-balancing-scheme EXTERNAL_MANAGED \
    --address=lb-ipv4-2 \
    --global \
    --target-http-proxy=http-lb-proxy-adv \
    --ports=80

6. Verificar se os recursos avançados de tráfego estão funcionando

Para verificar se o recurso de divisão de tráfego implementado está funcionando, gere alguma carga. Para isso, vamos criar uma nova VM para simular a carga.

Criar regra de firewall "Permitir SSH"

Para usar SSH na VM de onde vamos gerar tráfego, primeiro crie uma regra de firewall que permita o tráfego SSH para a VM.

No Cloud Shell

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

Saída

NAME          NETWORK  DIRECTION  PRIORITY  ALLOW   DENY  DISABLED
fw-allow-ssh  httplbs  INGRESS    1000      tcp:22        False

Criar a siege-vm

Agora, crie a siege-vm, que será usada para gerar carga.

No Cloud Shell

gcloud compute instances create siege-vm \
    --network=httplbs \
    --zone=us-east4-c \
    --machine-type=e2-medium \
    --tags=allow-ssh,http-server \
    --metadata=startup-script='sudo apt-get -y install siege'

Saída

NAME     ZONE        MACHINE_TYPE INTERNAL_IP  EXTERNAL_IP    STATUS
siege-vm us-east4-c  e2-medium    10.150.0.3   34.85.218.119  RUNNING

Em seguida, use o SSH na VM criada. Depois de criada, clique em SSH para iniciar um terminal e se conectar.

Depois de se conectar, execute o comando a seguir para gerar carga. Use o endereço IP que você reservou anteriormente para o balanceador de carga HTTP externo.

No Cloud Shell

siege -c 250 http://[$lb-ipv4-2]/roundrobbin

Saída

New configuration template added to /home/cloudcurriculumdeveloper/.siege
Run siege -C to view the current settings in that file
[alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory
** SIEGE 4.0.2
** Preparing 250 concurrent users for battle.
The server is now under siege...

Verificar a distribuição de carga

Agora que o Siege está em execução, é hora de verificar se o tráfego está sendo distribuído igualmente para os grupos de instâncias gerenciadas leste e oeste. Além disso, é possível verificar se o espelhamento de tráfego está funcionando e se o tráfego está sendo enviado para o grupo de instâncias gerenciadas central.

No console do Cloud, no menu de navegação, clique em Serviços de rede > Balanceamento de carga. Selecione o balanceador de carga web-map-http. Acesse a guia "Monitoramento" para ver o gráfico abaixo.

f4d6803db44be253.png

Você poderá ver a divisão de tráfego em tempo real para essa MIG. O tráfego é dividido igualmente porque você configurou uma divisão de round robin 50/50.

Para verificar se a política de espelhamento de tráfego criada está funcionando, confira a utilização do grupo de instâncias gerenciadas central-backend-service. Para fazer isso, navegue até "Compute", "Compute Engine", "Grupos de instâncias" e selecione "us-central1-mig". Em seguida, navegue até a guia "Monitoramento".

cf25e44d511529e7.png

Você vai notar que os gráficos foram preenchidos, mostrando que o tráfego foi espelhado para esse grupo de instâncias gerenciadas.

Interromper o cerco

Agora que você demonstrou que a divisão avançada de tráfego está funcionando, é hora de interromper o cerco. Para isso, volte ao terminal SSH de siege-vm e pressione CTRL+C para interromper a execução do siege.

Validar o envio do cabeçalho de resposta

Antes de fazer a limpeza, valide rapidamente se o cabeçalho de resposta adequado está sendo enviado pelo balanceador de carga HTTP. Você o configurou para enviar o teste de cabeçalho com o valor de conteúdo. Executar o comando curl no Cloud Shell vai gerar a resposta esperada.

No Cloud Shell

curl -svo /dev/null http://lb-ipv4-2/roundrobbin

Saída

*   Trying lb-ipv4-2..
* TCP_NODELAY set
* Connected to  lb-ipv4-2 ( lb-ipv4-2) port 80 (#0)
> GET /roundrobbin HTTP/1.1
> Host:  lb-ipv4-2
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 404 Not Found
< date: Wed, 10 Nov 2021 17:05:27 GMT
< server: envoy
< Content-Length: 273
< content-type: text/html; charset=iso-8859-1
< via: 1.1 google
< test: value
<
{ [273 bytes data]
* Connection #0 to host 34.149.2.26 left intact
* Closing connection 0

7. Limpeza do laboratório

Agora que terminamos de usar o ambiente do laboratório, é hora de desativá-lo. Execute os comandos a seguir para excluir o ambiente de teste.

No Cloud Shell

gcloud compute instances delete siege-vm --zone=us-east4-c

gcloud compute forwarding-rules delete http-content-rule --global
gcloud compute target-http-proxies delete http-lb-proxy-adv
gcloud compute url-maps delete web-map-http
gcloud compute backend-services delete east-backend-service --global
gcloud compute backend-services delete west-backend-service --global
gcloud compute backend-services delete central-backend-service --global

gcloud compute addresses delete lb-ipv4-2 --global
gcloud compute health-checks delete http-basic-check 

gcloud compute instance-groups managed delete us-east1-mig --zone us-east1-b
gcloud compute instance-groups managed delete us-west1-mig --zone us-west1-a
gcloud compute instance-groups managed delete us-central1-mig --zone us-central1-a

gcloud compute instance-templates delete "us-east1-template" 
gcloud compute instance-templates delete "us-west1-template" 
gcloud compute instance-templates delete "us-central1-template" 

gcloud compute firewall-rules delete httplb-allow-http-rule
gcloud compute firewall-rules delete fw-allow-ssh

gcloud compute networks delete httplbs 

8. Parabéns!

Você concluiu o codelab "Balanceador de carga HTTPs externo com gerenciamento de tráfego avançado (Envoy)".

O que vimos

  • Como configurar um grupo gerenciado de instâncias e a VPC e as regras de firewall associadas
  • Como usar os recursos avançados de gerenciamento de tráfego do novo balanceador de carga
  • Como validar se os recursos avançados de gerenciamento de tráfego estão funcionando conforme o esperado.

Próximas etapas

  • Teste outros recursos avançados de roteamento, como reescrita de URL, adição de cabeçalhos CORS e muito mais ( link).