Um balanceador de carga de rede de proxy externo regional é um balanceador de carga regional de camada 4 baseado em proxy que permite executar e escalonar o tráfego do serviço TCP em uma única região atrás de um endereço IP regional externo. Esses balanceadores de carga distribuem o tráfego TCP externo da Internet para back-ends na mesma região.
Nesta página, descrevemos como configurar um balanceador de carga de rede de proxy externo regional para balancear a carga do tráfego para back-ends em ambientes locais ou em outros ambientes de nuvem que estão conectados usando a conectividade híbrida A configuração da conectividade híbrida para conectar suas redes ao Google Cloud não está no escopo desta página.
Antes de começar, leia a Visão geral do balanceador de carga de rede de proxy externo.
Neste exemplo, usaremos o balanceador de carga para distribuir o tráfego TCP nas VMs de back-end localizadas no local ou em outros ambientes de nuvem.
Neste exemplo, você configura a implantação mostrada no diagrama a seguir.
Este é um balanceador de carga regional. Todos os componentes do balanceador de carga (grupo de instâncias de back-end, serviço de back-end, proxy de destino e regra de encaminhamento) precisam estar na mesma região.
Permissões
Para configurar o balanceamento de carga híbrido, você precisa ter as seguintes permissões:
No Google Cloud
- Permissões para estabelecer conectividade híbrida entre o Google Cloud e seu ambiente local ou outros ambientes de nuvem. Confira a lista de permissões necessárias na documentação relevante do produto Conectividade de rede.
- Permissões para criar um NEG de conectividade híbrida e o balanceador de carga.
O papel Administrador do balanceador de carga do Compute (
roles/compute.loadBalancerAdmin
) contém a permissão necessária para executar as tarefas descritas neste guia.
No local ou em outro ambiente de nuvem que não seja o Google Cloud
- Permissões para configurar endpoints de rede que
autorizam os serviços no local ou em outros ambientes de nuvem a serem acessados
pelo Google Cloud com uma combinação de
IP:Port
. Para mais informações, entre em contato com o administrador de rede do ambiente. - Permissões para criar regras de firewall no seu ambiente local ou em outros ambientes de nuvem para que as sondagens de verificação de integridade do Google alcancem os endpoints.
- Permissões para configurar endpoints de rede que
autorizam os serviços no local ou em outros ambientes de nuvem a serem acessados
pelo Google Cloud com uma combinação de
Além disso, para concluir as instruções nesta página, você precisa criar um NEG híbrido de conectividade, um balanceador de carga e NEGs zonais (e os respectivos endpoints) para servir como back-ends baseados no Google Cloud para o balanceador de carga.
É necessário ser proprietário ou editor de um projeto ou ter os seguintes papéis de IAM do Compute Engine.
Tarefa | Papel necessário |
---|---|
Criar redes, sub-redes e componentes do balanceador de carga | Administrador de rede do Compute
(roles/compute.networkAdmin ) |
Adicionar e remover regras de firewall | Administrador de segurança do Compute
(roles/compute.securityAdmin ) |
Criar instâncias | Administrador da instância do Compute
(roles/compute.instanceAdmin ) |
Estabelecer conectividade híbrida
O Google Cloud e os ambientes locais ou em nuvem precisam ser conectados por uma conectividade híbrida usando anexos da VLAN do Cloud Interconnect ou túneis do Cloud VPN com o Cloud Router. Recomendamos que você use uma conexão de alta disponibilidade.
Um Cloud Router ativado com roteamento dinâmico global aprende sobre o endpoint específico usando o Border Gateway Protocol (BGP) e o programa na sua rede VPC do Google Cloud. O roteamento dinâmico regional não é compatível. Rotas estáticas também não são compatíveis.
A rede VPC que você usa para configurar o Cloud Interconnect ou o Cloud VPN é a mesma rede usada para configurar a implantação do balanceamento de carga híbrido. Verifique se os intervalos de CIDR da sub-rede da rede VPC não entram em conflito com os intervalos CIDR remotos. Quando os endereços IP se sobrepõem, as rotas de sub-rede são priorizadas em relação à conectividade remota.
Para receber instruções, consulte a seguinte documentação:
Configurar o ambiente fora do Google Cloud
Execute as etapas a seguir para configurar seu ambiente local ou outro ambiente de nuvem para balanceamento de carga híbrido:
- Configure endpoints da rede para expor serviços locais ao
Google Cloud (
IP:Port
). - Configure regras de firewall no seu ambiente local ou em outro ambiente de nuvem
- Configurar o Cloud Router para divulgar determinadas rotas necessárias para seu ambiente particular.
Configurar endpoints da rede
Depois de configurar a conectividade híbrida, você configura um ou mais endpoints de rede no seu ambiente local ou em outros ambientes de nuvem acessíveis pelo Cloud Interconnect ou pelo Cloud VPN usando uma combinação de IP:port
. Essa combinação de IP:port
é configurada como um ou
mais endpoints para o NEG de conectividade híbrida criado no
Google Cloud posteriormente neste processo.
Se houver vários caminhos para o endpoint do IP, o roteamento seguirá o comportamento descrito na Visão geral do Cloud Router.
Configurar regras de firewall
As regras de firewall a seguir precisam ser criadas no ambiente local ou em outro ambiente de nuvem:
- Crie uma regra de firewall de permissão de entrada no ambiente local ou em outros ambientes de nuvem para permitir que o tráfego da sub-rede somente proxy da região chegue aos endpoints.
Não é necessário adicionar intervalos de sondagem de verificação de integridade do Google à lista de permissões para NEGs híbridos. No entanto, se você estiver usando uma combinação de NEGs híbridos e zonais em um único serviço de back-end, será necessário usar lista de permissões dos intervalos de sondagem de verificação de integridade do Google para NEGs zonais.
Divulgar rotas
Configure o Cloud Router para divulgar os seguintes intervalos de IP personalizados no local ou outro ambiente de nuvem:
- O intervalo da sub-rede somente proxy da região.
Configurar ambiente do Google Cloud
Para as etapas a seguir, certifique-se de usar a mesma rede VPC
(chamada NETWORK
neste procedimento) usada para configurar a conectividade
híbrida entre os ambientes. É possível
selecionar qualquer sub-rede dessa rede para reservar o endereço IP do balanceador de carga
e criar o balanceador. Ela será chamada de LB_SUBNET
neste procedimento.
Além disso, verifique se a região usada (chamada REGION_A
neste procedimento) é a mesma usada para criar o túnel do Cloud VPN ou o anexo da VLAN do Cloud Interconnect.
Configurar a sub-rede somente proxy
Uma sub-rede somente proxy fornece um conjunto de endereços IP que o Google usa para executar proxies Envoy em seu nome. Os proxies encerram as conexões do cliente e criam novas conexões com os back-ends.
A sub-rede somente proxy é usada por todos os balanceadores de carga regionais
baseados no Envoy na
região (REGION_A
) da rede VPC NETWORK
.
Só pode haver uma sub-rede somente proxy ativa por região, por rede VPC. Pule esta etapa se já houver uma sub-rede somente proxy nessa região.
Console
Se você estiver usando o console do Google Cloud, é possível esperar e criar a sub-rede somente proxy depois na página Balanceamento de carga.
Se você quiser criar a sub-rede somente proxy agora, siga estas etapas:
No Console do Google Cloud, acesse a página Redes VPC.
Acesse a rede usada para configurar a conectividade híbrida entre os ambientes.
Clique em Add subnet.
Em Nome, insira
proxy-only-subnet
.Em Região, selecione
REGION_A
.Defina Finalidade como Proxy gerenciado regional.
Em Intervalo de endereços IP, insira
10.129.0.0/23
.Clique em Adicionar.
gcloud
Para criar a sub-rede somente proxy, use o comando gcloud compute networks subnets
create
:
gcloud compute networks subnets create proxy-only-subnet \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION_A \ --network=NETWORK \ --range=10.129.0.0/23
Reserve o endereço IP do balanceador de carga
Reserve um endereço IP estático para o balanceador de carga.
Console
No console do Google Cloud, acesse a página Reservar um endereço estático.
Escolha um nome para o novo endereço.
Em Nível de serviço de rede, selecione Padrão.
Em Versão IP, selecione IPv4. Os endereços IPv6 não são aceitos.
Em Tipo, selecione Regional.
Em Região, selecione
REGION_A
.Deixe a opção Anexado a definida como Nenhum. Depois de criar o balanceador de carga, esse endereço IP será anexado à regra de encaminhamento do balanceador de carga.
Clique em Reservar para reservar o IP.
gcloud
Para reservar um endereço IP externo estático, use o comando
gcloud compute addresses create
:gcloud compute addresses create ADDRESS_NAME \ --region=REGION_A \ --network-tier=STANDARD
Substitua
ADDRESS_NAME
pelo nome que você quer chamar com esse endereço.Para ver o resultado, use o comando
gcloud compute addresses describe
:gcloud compute addresses describe ADDRESS_NAME
Configurar o NEG de conectividade híbrida
Ao criar o NEG, use uma ZONE
que minimize a distância geográfica
entre o Google Cloud e o ambiente
local ou de outra nuvem. Por exemplo, se você estiver hospedando um serviço em um ambiente
local em Frankfurt, na Alemanha, será possível
especificar a zona europe-west3-a
do Google Cloud ao criar o NEG.
Além disso, a zona usada para criar o NEG precisa estar na mesma região em que o túnel do Cloud VPN ou o anexo da VLAN do Cloud Interconnect foi configurado para conectividade híbrida.
Para ver as regiões e zonas disponíveis, consulte Regiões e zonas disponíveis na documentação do Compute Engine.
Console
Criar um NEG de conectividade híbrida
No console do Google Cloud, acesse a página Grupos de endpoints da rede.
Clique em Criar grupo de endpoints de rede.
Em Nome, insira
HYBRID_NEG_NAME
.Em Tipo de grupo de endpoints de rede, selecione Grupo de endpoints de rede de conectividade híbrida (zonal).
Em Rede, selecione
NETWORK
.Em Sub-rede, selecione
LB_SUBNET
.Em Zona, selecione
HYBRID_NEG_ZONE
.Em Porta padrão, selecione o padrão.
Em Máximo de conexões, insira
2
.Clique em Criar.
Adicione endpoints ao NEG de conectividade híbrida
No console do Google Cloud, acesse a página Grupos de endpoints da rede.
Clique no nome do grupo de endpoints da rede que você criou na etapa anterior (
HYBRID_NEG_NAME
).Na página Detalhes do grupo de endpoints da rede, na seção Endpoints da rede neste grupo, clique em Adicionar endpoint da rede.
Na página Adicionar endpoint da rede, insira o endereço IP do novo endpoint da rede.
Selecione o Tipo de porta:
- Se você selecionar Padrão, o endpoint usará a porta padrão para todos os endpoints no grupo de endpoints da rede.
- Se você selecionar Personalizado, insira um número de porta diferente para ser usado pelo endpoint.
Para adicionar mais endpoints, clique em Adicionar endpoint da rede e repita as etapas anteriores.
Depois de adicionar todos os endpoints que não são do Google Cloud, clique em Criar.
gcloud
Para criar um NEG de conectividade híbrida, use o comando
gcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create HYBRID_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=HYBRID_NEG_ZONE \ --network=NETWORK
Adicione o endpoint IP:Porta local ao NEG híbrido:
gcloud compute network-endpoint-groups update HYBRID_NEG_NAME \ --zone=HYBRID_NEG_ZONE \ --add-endpoint="ip=ENDPOINT_IP_ADDRESS,port=ENDPOINT_PORT"
Use esse comando para adicionar os endpoints de rede que você configurou
anteriormente no local ou no seu ambiente de nuvem.
Repita --add-endpoint
quantas vezes forem necessárias.
Repita essas etapas para criar vários NEGs híbridos se necessário.
Configurar o balanceador de carga
Console
Iniciar a configuração
No console do Google Cloud, acesse a página Balanceamento de carga.
- Clique em Criar balanceador de carga.
- Em Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Próxima.
- Em Proxy ou passagem, selecione Balanceador de carga de proxy e clique em Próxima.
- Em Voltado ao público ou interno, selecione Voltado ao público (externo) e clique em Próxima.
- Em Implantação global ou de região única, selecione Melhor para cargas de trabalho regionais e clique em Próxima.
- Clique em Configurar.
Configuração básica
- Em Nome, insira um nome para o balanceador de carga.
- Em Região, selecione
REGION_A
. - Em Rede, selecione
NETWORK
.
Reservar uma sub-rede somente proxy
- Clique em Reservar sub-rede.
- Em Nome, insira
proxy-only-subnet
. - Em Intervalo de endereços IP, insira
10.129.0.0/23
. - Clique em Adicionar.
Configure o back-end
- Clique em Configuração de back-end.
- Em Tipo de back-end, selecione Grupo de endpoints de rede de conectividade híbrida (zonal).
- Em Protocol, selecione TCP.
- Em Novo back-end, selecione o NEG híbrido que você criou anteriormente
(
HYBRID_NEG_NAME
). Se preferir, clique em Criar um grupo de endpoints de rede para criar o NEG híbrido agora. Para saber como configurar o NEG, consulte Configurar o NEG híbrido. - Mantenha os valores padrão restantes e clique em Concluído.
- Configure a verificação de integridade:
- Em Verificação de integridade, selecione Criar verificação de integridade.
- Em Nome, digite um nome para a verificação de integridade.
- Em Protocol, selecione TCP.
- Em Porta, insira
80
.
- Mantenha os valores padrão restantes e clique em Salvar.
- No Console do Google Cloud, verifique se há uma marca de seleção ao lado de Configuração do back-end. Se não houver, verifique se você concluiu todas as etapas.
Configure o front-end
- Clique em Configuração de front-end.
- Em Nome, digite um nome para a regra de encaminhamento.
- Em Nível de serviço de rede, selecione Padrão.
- Em Endereço IP, selecione
LB_IP_ADDRESS
. - Em Número da porta, digite um número de porta de 1 a 65535. A regra de encaminhamento encaminha pacotes com uma porta de destino correspondente.
- Ative o Protocolo de proxy somente se ele funcionar com o serviço em execução nos seus endpoints locais ou em outros endpoints da nuvem. Por exemplo, o protocolo PROXY não funciona com o software servidor Apache HTTP. Para mais informações, consulte Protocolo de proxy.
- Clique em Concluído.
- No Console do Google Cloud, verifique se há uma marca de seleção ao lado de Configuração do front-end. Se não houver, verifique se você concluiu todas as etapas anteriores.
Revisar e finalizar
- Clique em Revisar e finalizar.
- Verifique suas configurações.
- Clique em Criar.
gcloud
Crie uma verificação de integridade para os back-ends:
gcloud compute health-checks create tcp TCP_HEALTH_CHECK_NAME \ --region=REGION_A \ --use-serving-port
Crie um serviço de back-end:
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=TCP \ --region=REGION_A \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION_A
Adicione o back-end NEG híbrido ao serviço de back-end:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=HYBRID_NEG_NAME \ --network-endpoint-group-zone=HYBRID_NEG_ZONE \ --region=REGION_A \ --balancing-mode=CONNECTION \ --max-connections=MAX_CONNECTIONS
Para
MAX_CONNECTIONS
, digite o máximo de conexões simultâneas que o back-end deve processar.Crie o proxy TCP de destino:
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE_NAME \ --region=REGION_A
Crie a regra de encaminhamento. Use o comando
gcloud compute forwarding-rules create
. SubstituaFWD_RULE_PORT
por um único número de porta de 1 a 65535. A regra de encaminhamento encaminha pacotes com uma porta de destino correspondente.gcloud compute forwarding-rules create FORWARDING_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network=NETWORK \ --network-tier=STANDARD \ --address=LB_IP_ADDRESS \ --ports=FWD_RULE_PORT \ --region=REGION_A \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION_A
Testar o balanceador de carga
Agora que você configurou o balanceador de carga, é possível testar o envio de tráfego para o endereço IP dele.
Anote o endereço IP do balanceador de carga.
Para encontrar o endereço IPv4, execute o seguinte comando:
gcloud compute addresses describe ADDRESS_NAME
Envie tráfego para o balanceador de carga executando o comando a seguir. Substitua
LB_IP_ADDRESS
pelo endereço IPv4 do balanceador de carga:curl -m1 LB_IP_ADDRESS:FWD_RULE_PORT
A seguir
- Para saber como os balanceadores de carga de rede de proxy externos funcionam, consulte esta página.
- Para configurar a geração de registros e o monitoramento do seu balanceador de carga, consulte esta página.
- Para excluir os recursos que você criou para não ser cobrado por eles no futuro, consulte Limpar a configuração do balanceador de carga.