Este guia fornece instruções para criar balanceadores de carga de rede de encaminhamento externo baseados em serviços de back-end que fazem o balanceamento de carga do tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6. Pode usar esta configuração para equilibrar a carga do tráfego que usa protocolos IP diferentes de TCP ou UDP. Os balanceadores de carga de rede de encaminhamento externo baseados em conjunto de destino não suportam esta capacidade.
Para configurar um balanceador de carga de rede de passagem externo para protocolos IP que não sejam TCP ou UDP, tem de criar uma regra de encaminhamento com o protocolo definido como
L3_DEFAULT
. Esta regra de encaminhamento aponta para um serviço de back-end com o protocolo definido como
UNSPECIFIED
.
Neste exemplo, usamos dois balanceadores de carga de rede de passagem externos para distribuir o tráfego pelas VMs de back-end em dois grupos de instâncias geridos zonais na região us-central1
.
Ambos os balanceadores de carga recebem tráfego no mesmo endereço IP externo.
Um balanceador de carga tem uma regra de encaminhamento com o protocolo TCP
e a porta 80, e o outro balanceador de carga tem uma regra de encaminhamento com o protocolo L3_DEFAULT
. O tráfego TCP que chega ao endereço IP na porta 80 é processado pela regra de encaminhamento.TCP
Todo o outro tráfego que não corresponda à regra de encaminhamento específica do TCP é processado pela regra de encaminhamento L3_DEFAULT
.
Este cenário distribui o tráfego por instâncias em bom estado. Para suportar isto, cria verificações de funcionamento de TCP para ajudar a garantir que o tráfego é enviado apenas para instâncias em bom estado.
O balanceador de carga de rede de encaminhamento externo é um balanceador de carga regional. Todos os componentes do balanceador de carga têm de estar na mesma região.
Antes de começar
Instale a CLI do Google Cloud. Para uma vista geral completa da ferramenta, consulte a vista geral da CLI gcloud. Pode encontrar comandos relacionados com o equilíbrio de carga na referência da API e do gcloud.
Se não tiver executado a CLI gcloud anteriormente, execute primeiro o comando
gcloud init
para fazer a autenticação.
Este guia pressupõe que está familiarizado com o bash.
Configure a rede e as sub-redes
O exemplo nesta página usa uma rede VPC no modo personalizado denominada lb-network
. Se quiser apenas processar tráfego IPv4, pode usar uma rede VPC no modo automático.
No entanto, o tráfego IPv6 requer uma sub-rede de modo personalizado.
O tráfego IPv6 também requer uma sub-rede de pilha dupla (stack-type
definida como
IPV4_IPV6
). Quando cria uma sub-rede de pilha dupla numa rede VPC de modo personalizado,
escolhe um tipo de acesso IPv6 para a
sub-rede. Para este exemplo, definimos o parâmetro ipv6-access-type
da sub-rede como
EXTERNAL
. Isto significa que é possível atribuir endereços IPv4 externos e endereços IPv6 externos a novas VMs nesta sub-rede. As regras de encaminhamento também podem ser atribuídas a endereços IPv4 externos e endereços IPv6 externos.
Os back-ends e os componentes do balanceador de carga usados neste exemplo estão localizados nesta região e sub-rede:
- Região:
us-central1
- Sub-rede:
lb-subnet
, com o intervalo de endereços IPv4 principal 10.1.2.0/24. Embora escolha o intervalo de endereços IPv4 configurado na sub-rede, o intervalo de endereços IPv6 é atribuído automaticamente. A Google fornece um bloco CIDR IPv6 de tamanho fixo (/64).
Para criar a rede e a sub-rede de exemplo, siga estes passos.
Consola
Para suportar o tráfego IPv4 e IPv6, siga estes passos:
Na Trusted Cloud consola, aceda à página Redes VPC.
Clique em Criar rede de VPC.
Introduza um Nome de
lb-network
.Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).
Na secção Sub-redes, clique em Adicionar sub-rede e configure os seguintes campos:
- Nome:
lb-subnet
- Região:
us-central1
- Tipo de pilha de IP: IPv4 e IPv6 (dupla pilha)
- Intervalo IPv4:
10.1.2.0/24
Embora possa configurar um intervalo de endereços IPv4 para a sub-rede, não pode escolher o intervalo de endereços IPv6 para a sub-rede. A Google fornece um bloco CIDR IPv6 de tamanho fixo (/64). - Tipo de acesso IPv6: externo
- Clique em Concluído
- Nome:
Clique em Criar.
Para suportar apenas tráfego IPv4, siga estes passos:
Na Trusted Cloud consola, aceda à página Redes VPC.
Clique em Criar rede de VPC.
Introduza um Nome de
lb-network
.Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).
Na secção Sub-redes, clique em Adicionar sub-rede e configure os seguintes campos:
- Nome:
lb-subnet
- Região:
us-central1
- Tipo de pilha de IP: IPv4 (pilha única)
- Intervalo IPv4:
10.1.2.0/24
- Nome:
Clique em Criar.
gcloud
Crie a rede VPC de modo personalizado:
gcloud compute networks create lb-network \ --subnet-mode=custom
Na rede
lb-network
, crie uma sub-rede para os back-ends na regiãous-central1
.Para o tráfego IPv4 e IPv6, use o seguinte comando para criar uma sub-rede de pilha dupla:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Para tráfego IPv4 apenas, use o seguinte comando:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Crie os grupos de instâncias geridas zonais
Para este cenário de balanceamento de carga, cria dois grupos de instâncias geridos zonais do Compute Engine e instala um servidor Web Apache em cada instância.
Para processar o tráfego IPv4 e IPv6, configure as VMs de back-end para serem de pilha dupla. Defina o stack-type
da VM como IPV4_IPV6
. As VMs também herdam a definição ipv6-access-type
(neste exemplo, EXTERNAL
) da sub-rede. Para mais informações sobre os requisitos do IPv6, consulte o artigo Vista geral do balanceador de carga de passagem externo: regras de encaminhamento.
Para usar VMs existentes como back-ends, atualize as VMs para serem de pilha dupla através do comando gcloud compute instances network-interfaces update
.
As instâncias que participam como VMs de back-end para equilibradores de carga de rede de encaminhamento externo têm de executar o ambiente guest Linux adequado, o ambiente guest Windows ou outros processos que ofereçam uma capacidade equivalente.
Crie o grupo de instâncias para o tráfego TCP na porta 80
Consola
Crie um modelo de instância. Na Trusted Cloud consola, aceda à página Modelos de instâncias.
- Clique em Criar modelo de instância.
- Em Nome, introduza
ig-us-template-tcp-80
. - Certifique-se de que o disco de arranque está definido para uma imagem Debian, como o Debian GNU/Linux 12 (bookworm). Estas instruções usam comandos que só estão disponíveis no Debian, como
apt-get
. - Expanda a secção Opções avançadas.
Expanda a secção Gestão e, de seguida, copie o seguinte script para o 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
Expanda a secção Redes e, de seguida, especifique o seguinte:
- Para etiquetas de rede, adicione
network-lb-tcp-80
. - Para Interfaces de rede, clique na interface predefinida e
configure os seguintes campos:
- Rede:
lb-network
- Subnetwork:
lb-subnet
- Rede:
- Para etiquetas de rede, adicione
Clique em Criar.
Crie um grupo de instâncias gerido. Aceda à página Grupos de instâncias na Trusted Cloud consola.
- Clique em Criar grupo de instâncias.
- Selecione 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.
- No campo Nome, introduza
ig-us-tcp-80
. - Em Localização, selecione Zona única.
- Para a Região, selecione
us-central1
. - Para a Zona, selecione
us-central1-a
. - Em Modelo de instância, selecione
ig-us-template-tcp-80
. Especifique o número de instâncias que quer criar no grupo.
Para este exemplo, especifique as seguintes opções em Ajuste automático de escala:
- Para o Modo de ajuste automático de escala, selecione
Off:do not autoscale
. - Para Número máximo de instâncias, introduza
2
.
- Para o Modo de ajuste automático de escala, selecione
Clique em Criar.
gcloud
As instruções gcloud
neste guia pressupõem que está a usar a Cloud Shell ou outro ambiente com o bash instalado.
Crie um modelo de instância de VM com um servidor HTTP com o comando
gcloud compute instance-templates create
.Para processar o tráfego IPv4 e IPv6, use o seguinte comando.
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --tags=network-lb-tcp-80 \ --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'
Em alternativa, se quiser processar apenas tráfego IPv4, use o seguinte comando.
gcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-tcp-80 \ --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" \ ://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Crie um grupo de instâncias gerido na zona com o comando
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create ig-us-tcp-80 \ --zone us-central1-a \ --size 2 \ --template ig-us-template-tcp-80
Crie o grupo de instâncias para TCP na porta 8080, UDP, ESP e tráfego ICMP
Consola
Crie um modelo de instância. Na Trusted Cloud consola, aceda à página Modelos de instâncias.
- Clique em Criar modelo de instância.
- No campo Nome, introduza
ig-us-template-l3-default
. - Certifique-se de que o disco de arranque está definido para uma imagem Debian, como o Debian GNU/Linux 12 (bookworm). Estas instruções usam comandos que só estão disponíveis no Debian, como
apt-get
. - Expanda a secção Opções avançadas.
Expanda a secção Gestão e, de seguida, copie o seguinte script para o campo Script de arranque. O script de arranque também configura o servidor Apache para ouvir na porta 8080 em vez da porta 80.
#! /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 sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2
Expanda a secção Redes e, de seguida, especifique o seguinte:
- Para etiquetas de rede, adicione
network-lb-l3-default
. - Para Interfaces de rede, clique na interface predefinida e
configure os seguintes campos:
- Rede:
lb-network
- Subnetwork:
lb-subnet
- Rede:
- Para etiquetas de rede, adicione
Clique em Criar.
Crie um grupo de instâncias gerido. Aceda à página Grupos de instâncias na Trusted Cloud consola.
- Clique em Criar grupo de instâncias.
- 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.
- No campo Nome, introduza
ig-us-l3-default
. - Em Localização, selecione Zona única.
- Para a Região, selecione
us-central1
. - Para a Zona, selecione
us-central1-c
. - Em Modelo de instância, selecione
ig-us-template-l3-default
. Especifique o número de instâncias que quer criar no grupo.
Para este exemplo, especifique as seguintes opções em Ajuste automático de escala:
- Para o Modo de ajuste automático de escala, selecione
Off:do not autoscale
. - Para Número máximo de instâncias, introduza
2
.
- Para o Modo de ajuste automático de escala, selecione
Clique em Criar.
gcloud
As instruções gcloud
neste guia pressupõem que está a usar a Cloud Shell ou outro ambiente com o bash instalado.
Crie um modelo de instância de VM com um servidor HTTP com o comando
gcloud compute instance-templates create
.O script de arranque também configura o servidor Apache para ouvir na porta 8080 em vez da porta 80.
Para processar o tráfego IPv4 e IPv6, use o seguinte comando.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --tags=network-lb-l3-default \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
Em alternativa, se quiser processar apenas tráfego IPv4, use o seguinte comando.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --tags=network-lb-l3-default \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'
Crie um grupo de instâncias gerido na zona com o comando
gcloud compute instance-groups managed create
.gcloud compute instance-groups managed create ig-us-l3-default \ --zone us-central1-c \ --size 2 \ --template ig-us-template-l3-default
Configure regras de firewall
Crie as seguintes regras de firewall:
- Regras de firewall que permitem que o tráfego TCP externo alcance as instâncias de back-end no grupo de instâncias
ig-us-tcp-80
na porta 80 (através da etiqueta de destinonetwork-lb-tcp-80
). Crie regras de firewall separadas para permitir o tráfego IPv4 e IPv6. - Regras de firewall que permitem que outro tráfego externo (TCP na porta 8080, UDP, ESP e ICMP) alcance instâncias de back-end no grupo de instâncias (através da etiqueta de destino
network-lb-l3-default
). Crie regras de firewall separadas para permitir o tráfego IPv4 e IPv6.ig-us-l3-default
Este exemplo cria regras de firewall que permitem que o tráfego de todos os intervalos de origem alcance as instâncias de back-end nas portas configuradas. Se quiser criar regras de firewall separadas especificamente para as sondas de verificação de funcionamento, use os intervalos de endereços IP de origem documentados no artigo Vista geral das verificações de funcionamento: intervalos de IP de sondas e regras de firewall.
Consola
Na Trusted Cloud consola, aceda à página Políticas de firewall.
Para permitir que o tráfego TCP IPv4 alcance os back-ends no grupo de instâncias
ig-us-tcp-80
, crie a seguinte regra de firewall.- Clique em Criar regra de firewall.
- Introduza um Nome de
allow-network-lb-tcp-80-ipv4
. - Selecione a Rede à qual a regra de firewall se aplica (Predefinição).
- Em Segmentações, selecione Etiquetas de segmentação especificadas.
- No campo Etiquetas alvo, introduza
network-lb-tcp-80
. - Defina o Filtro de origem como Intervalos IPv4.
- Defina os intervalos IPv4 de origem como 0.0.0.0/0, o que permite o tráfego de qualquer origem. Isto permite que o tráfego externo e as sondagens de verificação de estado alcancem as instâncias de back-end.
- Em Protocolos e portas, selecione Protocolos e portas
especificados. Em seguida, selecione a caixa de verificação TCP e introduza
80
. - Clique em Criar. Pode demorar algum tempo até que a consola apresente a nova regra de firewall ou pode ter de clicar em Atualizar para ver a regra.
Para permitir que o tráfego IPv4 UDP, ESP e ICMP alcance os back-ends no grupo de instâncias
ig-us-l3-default
, crie a seguinte regra de firewall.- Clique em Criar regra de firewall.
- Introduza um Nome de
allow-network-lb-l3-default-ipv4
. - Selecione a Rede à qual a regra de firewall se aplica (Predefinição).
- Em Segmentações, selecione Etiquetas de segmentação especificadas.
- No campo Etiquetas alvo, introduza
network-lb-l3-default
. - Defina o Filtro de origem como Intervalos IPv4.
- Defina os Intervalos IPv4 de origem como
0.0.0.0/0
, o que permite tráfego de qualquer origem. Isto permite que o tráfego externo e as sondagens de verificação de estado alcancem as instâncias de back-end. - Em Protocolos e portas, selecione Protocolos e portas
especificados.
- Selecione a caixa de verificação TCP e introduza
8080
. - Selecione a caixa de verificação UDP.
- Selecione a caixa de verificação Outro e introduza
esp, icmp
.
- Selecione a caixa de verificação TCP e introduza
- Clique em Criar. Pode demorar algum tempo até que a consola apresente a nova regra de firewall ou pode ter de clicar em Atualizar para ver a regra.
Para permitir que o tráfego TCP IPv6 alcance os back-ends no
ig-us-tcp-80
grupo de instâncias, crie a seguinte regra de firewall.- Clique em Criar regra de firewall.
- Introduza um Nome de
allow-network-lb-tcp-80-ipv6
. - Selecione a Rede à qual a regra de firewall se aplica (Predefinição).
- Em Segmentações, selecione Etiquetas de segmentação especificadas.
- No campo Etiquetas alvo, introduza
network-lb-tcp-80
. - Defina o Filtro de origem como Intervalos de IPv6.
- Defina os Intervalos IPv6 de origem como
::/0
, o que permite tráfego de qualquer origem. Isto permite que o tráfego externo e as sondagens de verificação de estado alcancem as instâncias de back-end. - Em Protocolos e portas, selecione Protocolos e portas
especificados. Clique na caixa de verificação junto a TCP e introduza
80
. - Clique em Criar. Pode demorar algum tempo até que a consola apresente a nova regra de firewall ou pode ter de clicar em Atualizar para ver a regra.
Para permitir que o tráfego IPv6 UDP, ESP e ICMPv6 alcance os back-ends no grupo de instâncias
ig-us-l3-default
, crie a seguinte regra de firewall. Esta regra de firewall também permite que as sondas de verificação de funcionamento TCP alcancem as instâncias na porta 8080.- Clique em Criar regra de firewall.
- Introduza um Nome de
allow-network-lb-l3-default-ipv6
. - Selecione a Rede à qual a regra de firewall se aplica (Predefinição).
- Em Segmentações, selecione Etiquetas de segmentação especificadas.
- No campo Etiquetas alvo, introduza
network-lb-l3-default
. - Defina o Filtro de origem como Intervalos de IPv6.
- Defina os Intervalos IPv6 de origem como
::/0
, o que permite tráfego de qualquer origem. Isto permite que o tráfego externo e as sondagens de verificação de estado alcancem as instâncias de back-end. - Em Protocolos e portas, selecione Protocolos e portas
especificados.
- Clique na caixa de verificação junto a TCP e introduza
8080
. - Clique na caixa de verificação junto a UDP.
- Clique na caixa de verificação junto a Outro e introduza
esp, 58
.
- Clique na caixa de verificação junto a TCP e introduza
- Clique em Criar. Pode demorar algum tempo até que a consola apresente a nova regra de firewall ou pode ter de clicar em Atualizar para ver a regra.
gcloud
Para permitir que o tráfego TCP IPv4 alcance os back-ends no grupo de instâncias
ig-us-tcp-80
, crie a seguinte regra de firewall.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv4 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=0.0.0.0/0
Para permitir que o tráfego IPv4 UDP, ESP e ICMP alcance os back-ends no grupo de instâncias
ig-us-l3-default
, crie a seguinte regra de firewall. Esta regra de firewall também permite que as sondas de verificação de funcionamento TCP alcancem as instâncias na porta 8080.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv4 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,icmp \ --source-ranges=0.0.0.0/0
Para permitir que o tráfego TCP IPv6 alcance os back-ends no
ig-us-tcp-80
grupo de instâncias, crie a seguinte regra de firewall.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv6 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=::/0
Para permitir que o tráfego IPv6 UDP, ESP e ICMPv6 alcance os back-ends no grupo de instâncias
ig-us-l3-default
, crie a seguinte regra de firewall. Esta regra de firewall também permite que as sondas de verificação de funcionamento TCP alcancem as instâncias na porta 8080.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv6 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,58 \ --source-ranges=::/0
Configure os balanceadores de carga
Em seguida, configure dois balanceadores de carga. Configure ambos os balanceadores de carga para usarem o mesmo endereço IP externo para as regras de encaminhamento, em que um balanceador de carga processa o tráfego TCP na porta 80 e o outro balanceador de carga processa o tráfego TCP, UDP, ESP e ICMP na porta 8080.
Quando configura um balanceador de carga, as suas instâncias de VM de back-end recebem pacotes destinados ao endereço IP externo estático que configurou. Se estiver a usar uma imagem fornecida pelo
Compute Engine,
as suas instâncias são configuradas automaticamente para processar este endereço IP. Se estiver a usar outra imagem, tem de configurar este endereço como um alias em eth0
ou como um loopback em cada instância.
Para configurar dois equilibradores de carga, siga as instruções abaixo.
Consola
Inicie a configuração
Na Trusted Cloud consola, aceda à página Equilíbrio de carga.
- Clique em Criar equilibrador de carga.
- Para Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Seguinte.
- Para Proxy ou passagem, selecione Passagem do balanceador de carga e clique em Seguinte.
- Para Público ou interno, selecione Público (externo) e clique em Seguinte.
- Clique em Configurar.
Configuração básica
- No campo Nome, introduza o nome
backend-service-tcp-80
do novo equilibrador de carga. - Na lista Região, selecione
us-central1
.
Configuração do back-end
- Clique em Configuração de back-end.
- Na página Configuração de back-end, faça o seguinte:
- Na lista Verificação de funcionamento, clique em Criar uma verificação de funcionamento e, de seguida, introduza as seguintes informações:
- Nome:
tcp-health-check-80
- Protocolo: TCP
- Porta:
80
- Nome:
- Clique em Criar.
- Na secção Novo back-end, selecione o tipo de pilha de IP. Se criou back-ends de pilha dupla para processar o tráfego IPv4 e IPv6, selecione IPv4 e IPv6 (pilha dupla). Para processar apenas tráfego IPv4, selecione IPv4 (pilha única).
- Na lista Grupo de instâncias, selecione
ig-us-tcp-80
e, de seguida, clique em Concluído.
- Na lista Verificação de funcionamento, clique em Criar uma verificação de funcionamento e, de seguida, introduza as seguintes informações:
- Verifique se existe uma marca de verificação azul junto a Configuração de back-end antes de continuar.
Configuração da interface
- Clique em Configuração do front-end.
- No campo Nome, introduza
forwarding-rule-tcp-80
. - Para processar o tráfego IPv4, siga estes passos:
- Para Versão do IP, selecione IPv4.
- Na secção Finalidade do IP interno, na lista Endereço IP,
selecione Criar endereço IP.
- No campo Nome, introduza
network-lb-ipv4
. - Clique em Reservar.
- No campo Nome, introduza
- Para Portas, escolha Única. No campo Número da porta, introduza
80
. - Clique em Concluído.
Para processar o tráfego IPv6, siga os passos seguintes:
- Para a versão do IP, selecione IPv6.
- Para Sub-rede, selecione lb-subnet.
- Na lista Intervalo IPv6, selecione Criar
endereço IP.
- No campo Nome, introduza
network-lb-ipv6
. - Clique em Reservar.
- No campo Nome, introduza
- Para Portas, escolha Única. No campo Número da porta, introduza
80
. - Clique em Concluído.
Um círculo azul com uma marca de verificação à esquerda de Configuração do front-end indica uma configuração bem-sucedida.
Reveja a configuração
- Clique em Rever e finalizar.
- Reveja as definições de configuração do equilibrador de carga.
- Opcional: clique em Código equivalente para ver o pedido da API REST que vai ser usado para criar o equilibrador de carga.
Clique em Criar.
Na página de balanceamento de carga, na coluna Back-end do novo balanceador de carga, vê uma marca de verificação verde a indicar que o novo balanceador de carga está em bom estado.
Crie o segundo balanceador de carga
Inicie a configuração
Na Trusted Cloud consola, aceda à página Equilíbrio de carga.
- Clique em Criar equilibrador de carga.
- Para Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Seguinte.
- Para Proxy ou passagem, selecione Passagem do balanceador de carga e clique em Seguinte.
- Para Público ou interno, selecione Público (externo) e clique em Seguinte.
- Clique em Configurar.
Configuração básica
- No campo Nome, introduza o nome
backend-service-l3-default
do novo equilibrador de carga. - Na lista Região, selecione
us-central1
.
Configuração do back-end
- Clique em Configuração de back-end.
- Na página Configuração de back-end, faça o seguinte:
- Na lista Verificação de funcionamento, clique em Criar uma verificação de funcionamento e, de seguida, introduza as seguintes informações:
- Nome:
tcp-health-check-8080
- Protocolo:TCP
- Porta:
8080
- Nome:
- Clique em Criar.
- Na secção Novo back-end, selecione o tipo de pilha de IP. Se criou back-ends de pilha dupla para processar o tráfego IPv4 e IPv6, selecione IPv4 e IPv6 (pilha dupla). Para processar apenas tráfego IPv4, selecione IPv4 (pilha única).
- Na lista Grupo de instâncias, selecione
ig-us-l3-default
e, de seguida, clique em Concluído. - Na lista Protocolos, selecione L3 (vários protocolos).
- Na lista Verificação de funcionamento, clique em Criar uma verificação de funcionamento e, de seguida, introduza as seguintes informações:
- Verifique se existe uma marca de verificação azul junto a Configuração de back-end antes de continuar.
Configuração da interface
- Clique em Configuração do front-end.
- No campo Nome, introduza
forwarding-rule-l3-default
. - Para processar o tráfego IPv4, siga estes passos:
- Para Versão do IP, selecione IPv4.
- Na secção Finalidade do IP interno, na lista Endereço IP,
selecione Criar endereço IP.
- No campo Nome, introduza
network-lb-ipv4
. - Clique em Reservar.
- No campo Nome, introduza
- Na lista Protocolo, selecione L3 (Vários protocolos).
- Para Portas, escolha Todas.
- Clique em Concluído.
Para processar o tráfego IPv6, siga os passos seguintes:
- Para a versão do IP, selecione IPv6.
- Para Sub-rede, selecione lb-subnet.
- Na lista Intervalo IPv6, selecione Criar
endereço IP.
- No campo Nome, introduza
network-lb-ipv6
. - Clique em Reservar.
- No campo Nome, introduza
- No campo Protocolo, selecione L3 (Vários protocolos).
- Para Portas, selecione Todas.
- Clique em Concluído.
Um círculo azul com uma marca de verificação à esquerda de Configuração do front-end indica uma configuração bem-sucedida.
Reveja a configuração
- Clique em Rever e finalizar.
- Reveja as definições de configuração do equilibrador de carga.
- Opcional: clique em Código equivalente para ver o pedido da API REST que vai ser usado para criar o equilibrador de carga.
Clique em Criar.
Na página de balanceamento de carga, na coluna Back-end do novo balanceador de carga, vê uma marca de verificação verde a indicar que o novo balanceador de carga está em bom estado.
gcloud
Reserve um endereço IP externo estático.
Para o tráfego IPv4: crie um endereço IP externo estático para os seus balanceadores de carga.
gcloud compute addresses create network-lb-ipv4 \ --region us-central1
Para tráfego IPv6: crie um intervalo de endereços IPv6 externos estático para os seus balanceadores de carga. A sub-rede usada tem de ser uma sub-rede de pilha dupla com um intervalo de sub-redes IPv6 externo.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLB
Crie uma verificação de funcionamento de TCP para a porta 80. Esta verificação de funcionamento é usada para verificar o funcionamento das backends no grupo de instâncias
ig-us-tcp-80
.gcloud compute health-checks create tcp tcp-health-check-80 \ --region us-central1 \ --port 80
Crie uma verificação de funcionamento de TCP para a porta 8080. Esta verificação de estado é usada para verificar o estado dos back-ends no grupo de instâncias
ig-us-l3-default
.gcloud compute health-checks create tcp tcp-health-check-8080 \ --region us-central1 \ --port 8080
Crie o primeiro balanceador de carga para tráfego TCP na porta 80.
Crie um serviço de back-end com o protocolo definido como
TCP
.gcloud compute backend-services create backend-service-tcp-80 \ --protocol TCP \ --health-checks tcp-health-check-80 \ --health-checks-region us-central1 \ --region us-central1
Adicione o grupo de instâncias de back-end ao serviço de back-end.
gcloud compute backend-services add-backend backend-service-tcp-80 \ --instance-group ig-us-tcp-80 \ --instance-group-zone us-central1-a \ --region us-central1
Para tráfego IPv4: crie uma regra de encaminhamento para encaminhar o tráfego TCP recebido na porta 80 para o serviço de back-end.
TCP
é o protocolo de regra de encaminhamento predefinido e não tem de ser definido explicitamente.Use o endereço IP reservado no passo 1 como o endereço IP externo estático do balanceador de carga.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service backend-service-tcp-80
Para o tráfego IPv6: crie uma regra de encaminhamento para encaminhar o tráfego TCP recebido na porta 80 para o serviço de back-end.
TCP
é o protocolo de regra de encaminhamento predefinido e não tem de ser definido explicitamente.Use o intervalo de endereços IPv6 reservado no passo 1 como o endereço IP externo estático do balanceador de carga. A sub-rede usada tem de ser uma sub-rede de pilha dupla com um intervalo de sub-redes IPv6 externo.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service backend-service-tcp-80
Crie o segundo balanceador de carga para TCP na porta 8080, UDP, ESP e tráfego ICMP.
Crie um serviço de back-end com o protocolo definido como
UNSPECIFIED
.gcloud compute backend-services create backend-service-l3-default \ --protocol UNSPECIFIED \ --health-checks tcp-health-check-8080 \ --health-checks-region us-central1 \ --region us-central1
Adicione o grupo de instâncias de back-end ao serviço de back-end.
gcloud compute backend-services add-backend backend-service-l3-default \ --instance-group ig-us-l3-default \ --instance-group-zone us-central1-c \ --region us-central1
Para tráfego IPv4: crie uma regra de encaminhamento com o protocolo definido como
L3_DEFAULT
para processar todo o tráfego de protocolo IP suportado restante (TCP na porta 8080, UDP, ESP e ICMP). Todas as portas têm de ser configuradas com regras de encaminhamentoL3_DEFAULT
.Use o mesmo endereço IPv4 externo que usou para o equilibrador de carga anterior.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --ports all \ --ip-protocol L3_DEFAULT \ --address network-lb-ipv4 \ --backend-service backend-service-l3-default
Para tráfego IPv6: crie uma regra de encaminhamento com o protocolo definido como
L3_DEFAULT
para processar todo o tráfego de protocolo IP suportado restante (TCP na porta 8080, UDP, ESP e ICMP). Todas as portas têm de ser configuradas com regras de encaminhamentoL3_DEFAULT
.Use o intervalo de endereços IPv6 reservado no passo 1 como o endereço IP externo estático do balanceador de carga. A sub-rede usada tem de ser uma sub-rede de pilha dupla com um intervalo de sub-redes IPv6 externo.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports all \ --ip-protocol L3_DEFAULT \ --backend-service backend-service-l3-default
Teste o balanceador de carga
Agora que o serviço de balanceamento de carga está configurado, pode começar a enviar tráfego para o endereço IP externo do balanceador de carga e ver o tráfego a ser distribuído para as instâncias de back-end.
Procure o endereço IP externo do balanceador de carga
Consola
Na Trusted Cloud consola, aceda à página de balanceamento de carga Componentes de balanceamento de carga.
No separador Regras de encaminhamento, localize as regras de encaminhamento usadas pelo balanceador de carga.
Na coluna Endereço IP, tome nota do endereço IP externo indicado para cada regra de encaminhamento IPv4 e IPv6.
gcloud: IPv4
Introduza o seguinte comando para ver o endereço IP externo da regra de encaminhamento usada pelo balanceador de carga.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
Este exemplo usa o mesmo endereço IP para ambas as regras de encaminhamento IPv4, pelo que usar forwarding-rule-l3-default
também funciona.
gcloud: IPv6
Introduza o seguinte comando para ver o endereço IPv6 externo da
forwarding-rule-tcp-80
regra de encaminhamento usada pelo balanceador de carga.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \ --region us-central1
Este exemplo usa o mesmo endereço IP para ambas as regras de encaminhamento IPv6, pelo que a utilização de forwarding-rule-l3-default
também funciona.
Envie tráfego para o balanceador de carga
Este procedimento envia tráfego externo para o balanceador de carga. Execute os seguintes testes para ajudar a garantir que o tráfego TCP na porta 80 está a ser equilibrado pela carga do grupo de instâncias ig-us-tcp-80
, enquanto todo o outro tráfego (TCP na porta 8080, UDP, ESP e ICMP) está a ser processado pelo grupo de instâncias ig-us-l3-default
.
Validar o comportamento com pedidos TCP na porta 80
Faça pedidos Web (através de TCP na porta 80) ao balanceador de carga usando
curl
para contactar o respetivo endereço IP.Em clientes com conetividade IPv4, execute o seguinte comando:
while true; do curl -m1 IP_ADDRESS; done
Em clientes com conetividade IPv6, execute o seguinte comando:
while true; do curl -m1 http://IPV6_ADDRESS; done
Por exemplo, se o endereço IPv6 atribuído for [2001:db8:1:1:1:1:1:1/96], o comando é semelhante ao seguinte:
while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]; done
Tenha em atenção o texto devolvido pelo comando
curl
. O nome da VM de back-end que gera a resposta é apresentado nesse texto, por exemplo,Page served from: VM_NAME
. As respostas provêm apenas de instâncias no grupo de instânciasig-us-tcp-80
.Se a sua resposta for inicialmente sem êxito, pode ter de aguardar cerca de 30 segundos para que a configuração seja totalmente carregada e para que as suas instâncias sejam marcadas como em bom estado antes de tentar novamente.
Verificar o comportamento com pedidos TCP na porta 8080
Fazer pedidos Web (através de TCP na porta 8080) ao balanceador de carga usando curl
para contactar o respetivo endereço IP.
Em clientes com conetividade IPv4, execute o seguinte comando:
while true; do curl -m1 IPV4_ADDRESS:8080; done
Em clientes com conetividade IPv6, execute o seguinte comando:
while true; do curl -m1 http://IPV6_ADDRESS; done
Por exemplo, se o endereço IPv6 atribuído for [2001:db8:1:1:1:1:1:1/96], o comando é semelhante ao seguinte:
while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:8080; done
Tenha em atenção o texto devolvido pelo comando curl
. As respostas provêm apenas de instâncias no grupo de instâncias ig-us-l3-default
.
Isto mostra que qualquer tráfego enviado para o endereço IP do balanceador de carga na porta 8080 é processado apenas pelos back-ends no grupo de instâncias ig-us-l3-default
.
Validar o comportamento com pedidos ICMP
Para validar o comportamento com o tráfego ICMP, capture a saída do comando tcpdump
para confirmar que apenas as VMs de back-end no grupo de instâncias ig-us-l3-default
estão a processar pedidos ICMP enviados para o balanceador de carga.
Use o SSH para estabelecer ligação às VMs de back-end.
Na Trusted Cloud consola, aceda à página Instâncias de VM.
Na lista de instâncias de máquinas virtuais (VMs), clique em SSH na linha da instância à qual quer estabelecer ligação.
Execute o seguinte comando para usar o
tcpdump
para começar a detetar tráfego ICMP.sudo tcpdump icmp -w ~/icmpcapture.pcap -s0 -c 10000 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
Deixe a janela do SSH aberta.
Repita os passos 1 e 2 para todas as quatro VMs de back-end.
Faça pedidos ICMP ao balanceador de carga.
Para testar as respostas IPv4, use
ping
para contactar o endereço IPv4 do equilibrador de carga.ping IPV4_ADDRESS
Para testar as respostas IPv6, use
ping6
para contactar o endereço IPv6 do balanceador de carga.ping6 IPV6_ADDRESS
Por exemplo, se o endereço IPv6 atribuído for [2001:db8:1:1:1:1:1:1/96], o comando é semelhante ao seguinte:
ping6 2001:db8:1:1:1:1:1:1
Regresse à janela SSH aberta de cada VM e pare o comando de captura
tcpdump
. Pode usar Ctrl+C para o fazer.Para cada VM, verifique o resultado do comando
tcpdump
no ficheiroicmpcapture.pcap
.sudo tcpdump -r ~/icmpcapture.pcap -n
Para as VMs de back-end no grupo de instâncias
ig-us-l3-default
, vê entradas de ficheiros semelhantes às seguintes:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet) 22:13:07.814486 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 1, length 64 22:13:07.814513 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 1, length 64 22:13:08.816150 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 2, length 64 22:13:08.816175 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 2, length 64 22:13:09.817536 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 3, length 64 22:13:09.817560 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 3, length 64 ...
Para as VMs de back-end no grupo de instâncias
ig-us-tcp-80
, vê que não foram recebidos pacotes e o ficheiro está em branco:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
Opções de configuração adicionais
Crie uma regra de encaminhamento IPv6 com BYOIP
O balanceador de carga criado nos passos anteriores está configurado com regras de encaminhamento com IP version
como IPv4
ou IPv6
. Esta secção fornece instruções para criar uma regra de encaminhamento IPv6 com endereços IP (BYOIP).
A funcionalidade Bring your own IP addresses permite-lhe aprovisionar e usar os seus próprios endereços IPv6 públicos para Trusted Cloud by S3NS recursos. Para mais informações, consulte o artigo Use os seus próprios endereços IP.
Antes de começar a configurar uma regra de encaminhamento IPv6 com endereços BYOIP, tem de concluir os seguintes passos:
- Crie um prefixo IPv6 anunciado publicamente
- Crie prefixos públicos delegados
- Crie subprefixos IPv6
- Anuncie o prefixo
Para criar uma nova regra de encaminhamento, siga estes passos:
Consola
Na Trusted Cloud consola, aceda à página Equilíbrio de carga.
- Clique no nome do equilibrador de carga que quer modificar.
- Clique em Editar.
- Clique em Configuração do front-end.
- Clique em Adicionar IP e porta do front-end.
- Na secção Novo IP e porta de front-end, especifique o seguinte:
- Selecione o Protocolo de que precisa.
- No campo Versão do IP, selecione IPv6.
- No campo Origem do intervalo IPv6, selecione BYOIP.
- Na lista Recolha de IPs, selecione um subprefixo criado nos passos anteriores com a opção de regra de encaminhamento ativada.
- No campo Intervalo IPv6, introduza o intervalo de endereços IPv6. O prefixo do intervalo de endereços IPv6 tem de corresponder ao comprimento do prefixo atribuível especificado pelo subprefixo associado.
- No campo Portas, introduza um número de porta.
- Clique em Concluído.
- Clique em Atualizar.
gcloud
Crie a regra de encaminhamento através do comando
gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FWD_RULE_NAME \ --load-balancing-scheme EXTERNAL \ --ip-protocol PROTOCOL \ --ports ALL \ --ip-version IPV6 \ --region REGION_A \ --address IPV6_CIDR_RANGE \ --backend-service BACKEND_SERVICE \ --ip-collection PDP_NAME
Substitua o seguinte:
FWD_RULE_NAME
: o nome da regra de encaminhamentoPROTOCOL
: o protocolo IP para a regra de encaminhamento. A predefinição éTCP
. Para este exemplo, o protocolo IP pode serTCP
ouL3_DEFAULT
.REGION_A
: região para a regra de encaminhamentoIPV6_CIDR_RANGE
: o intervalo de endereços IPv6 que a regra de encaminhamento serve. O prefixo do intervalo de endereços IPv6 tem de corresponder ao comprimento do prefixo atribuível especificado pelo subprefixo associado.BACKEND_SERVICE
: o nome do serviço de back-endPDP_NAME
: o nome do prefixo público delegado. O PDP tem de ser um subprefixo no modo EXTERNAL_IPV6_FORWARDING_RULE_CREATION
O que se segue?
- Para configurar um balanceador de carga de rede de encaminhamento direto externo com back-ends de NEG zonais que lhe permitem encaminhar pacotes para interfaces de rede não pertencentes a instâncias de VM, consulte o artigo Configure um balanceador de carga de rede de encaminhamento direto externo com NEGs zonais.
nic0
- Para obter informações sobre como os balanceadores de carga de rede de encaminhamento externo funcionam com os serviços de back-end, consulte a vista geral do balanceador de carga de rede de encaminhamento externo baseado em serviços de back-end.
- Para saber como fazer a transição de um balanceador de carga de rede de passagem externo de um back-end de conjunto de destino para um serviço de back-end regional, consulte o artigo Migre balanceadores de carga de rede de passagem externos de conjuntos de destino para serviços de back-end.
- Para configurar a proteção avançada contra DDoS de rede para um Network Load Balancer de passagem externo através do Cloud Armor, consulte o artigo Configure a proteção avançada contra DDoS de rede.
- Para eliminar recursos, consulte o artigo Limpar a configuração do equilibrador de carga.