Esta página ilustra como implementar um Application Load Balancer interno regional para equilibrar a carga do tráfego para pontos finais de rede que estão no local ou noutras nuvens públicas e que são acessíveis através da conetividade híbrida.
Se ainda não o fez, reveja a vista geral dos NEGs de conetividade híbrida para compreender os requisitos de rede para configurar o equilíbrio de carga híbrido.
Vista geral da configuração
O exemplo nesta página configura a seguinte implementação:
Tem de configurar a conetividade híbrida antes de configurar uma implementação de equilíbrio de carga híbrida. Esta página não inclui a configuração da conetividade híbrida.
Consoante o produto de conetividade híbrida que escolher (Cloud VPN ou Cloud Interconnect [dedicado ou de parceiro]), use a documentação do produto relevante.
Autorizações
Para configurar o equilíbrio de carga híbrido, tem de ter as seguintes autorizações:
Ativar Google Cloud
- Autorizações para estabelecer a conetividade híbrida entre o Google Cloud e o seu ambiente nas instalações ou outros ambientes na nuvem. Para ver a lista de autorizações necessárias, consulte a documentação do produto Network Connectivity relevante.
- Autorizações para criar um NEG de conetividade híbrida e o balanceador de carga.
A função de administrador do equilibrador de carga do Compute
(
roles/compute.loadBalancerAdmin
) contém as autorizações necessárias para realizar as tarefas descritas neste guia.
No seu ambiente local ou noutro ambiente que não seja deGoogle Cloud nuvem
- Autorizações para configurar pontos finais de rede que permitem que os serviços no seu ambiente no local ou noutros ambientes de nuvem sejam acessíveis a partir deGoogle Cloud através de uma combinação
IP:Port
. Para mais informações, contacte o administrador de rede do seu ambiente. - Autorizações para criar regras de firewall no seu ambiente nas instalações ou noutros ambientes na nuvem para permitir que as sondas de verificação de estado da Google alcancem os pontos finais.
- Autorizações para configurar pontos finais de rede que permitem que os serviços no seu ambiente no local ou noutros ambientes de nuvem sejam acessíveis a partir deGoogle Cloud através de uma combinação
Além disso, para concluir as instruções nesta página, tem de criar um NEG de conetividade híbrida, um equilibrador de carga e NEGs zonais (e os respetivos pontos finais) para funcionarem como back-ends baseados em Google Cloudpara o equilibrador de carga.
Deve ser proprietário ou editor do projeto, ou ter as seguintes funções do IAM do Compute Engine.
Tarefa | Função necessária |
---|---|
Crie redes, sub-redes e componentes do balanceador de carga | Administrador de rede de Calcular
(roles/compute.networkAdmin ) |
Adicione e remova regras de firewall | Administrador de segurança da computação
(roles/compute.securityAdmin ) |
Crie instâncias | Administrador de instância de computação
(roles/compute.instanceAdmin ) |
Estabeleça conetividade híbrida
O seu Google Cloud ambiente nas instalações ou outros ambientes na nuvem têm de estar ligados através de conetividade híbrida com anexos de VLAN do Cloud Interconnect ou túneis do Cloud VPN com VMs do Cloud Router ou do dispositivo de router. Recomendamos que use uma ligação de alta disponibilidade.
Um Cloud Router ativado com encaminhamento dinâmico global sabe mais sobre o ponto final específico através do protocolo de gateway de fronteira (BGP) e programa-o na sua Google Cloud rede VPC. O encaminhamento dinâmico regional não é suportado. As rotas estáticas também não são suportadas.
Pode usar a mesma rede ou uma rede VPC diferente no mesmo projeto para configurar a rede híbrida (Cloud Interconnect, Cloud VPN ou uma VM de dispositivo de encaminhamento) e o equilibrador de carga. Tenha em atenção o seguinte:
Se usar redes VPC diferentes, as duas redes têm de estar ligadas através do peering de redes VPC ou têm de ser raios VPC no mesmo hub do Network Connectivity Center.
Se usar a mesma rede VPC, certifique-se de que os intervalos 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, os caminhos de sub-rede têm prioridade sobre a conetividade remota.
Para ver instruções, consulte a seguinte documentação:
Configure o seu ambiente externo ao domínio Google Cloud
Execute os passos seguintes para configurar o seu ambiente no local ou outro ambiente de nuvem para o equilíbrio de carga híbrido:
- Configure pontos finais de rede para expor serviços no local a
Google Cloud (
IP:Port
). - Configure regras de firewall no seu ambiente nas instalações ou noutro ambiente na nuvem.
- Configure o Cloud Router para anunciar determinadas rotas necessárias ao seu ambiente privado.
Configure pontos finais de rede
Depois de configurar a conetividade híbrida, configura um ou mais pontos finais de rede no seu ambiente nas instalações ou noutros ambientes na nuvem que são acessíveis através do Cloud Interconnect ou do Cloud VPN ou do dispositivo Router usando uma combinação IP:port
. Esta IP:port
combinação é configurada como um ou mais pontos finais para o NEG de conetividade híbrida
que é criado Google Cloud mais tarde neste processo.
Se existirem vários caminhos para o ponto final IP, o encaminhamento segue o comportamento descrito na vista geral do Cloud Router.
Configure regras de firewall
As seguintes regras de firewall têm de ser criadas no seu ambiente nas instalações ou noutro ambiente na nuvem:
- Crie uma regra de firewall de permissão de entrada em ambientes no local ou noutras nuvens para permitir que o tráfego da sub-rede só de proxy da região alcance os pontos finais.
Não é necessário permitir tráfego dos intervalos de sondas de verificação de estado da Google para NEGs híbridos. No entanto, se estiver a usar uma combinação de NEGs híbridos e zonais num único serviço de back-end, tem de permitir o tráfego dos intervalos de sondas de verificação de estado da Google para os NEGs zonais.
Anuncie trajetos
Configure o Cloud Router para anunciar os seguintes intervalos de IP personalizados ao seu ambiente nas instalações ou outro ambiente na nuvem:
- O intervalo da sub-rede só de proxy da região.
Configure o Google Cloud ambiente
Para os passos seguintes, certifique-se de que usa a mesma rede VPC (denominada NETWORK neste procedimento) que foi usada para configurar a conetividade híbrida entre os ambientes.
Além disso, certifique-se de que a região usada (denominada REGION neste procedimento) é a mesma que a usada para criar o túnel da Cloud VPN ou a ligação VLAN do Cloud Interconnect.
Configure a sub-rede só de proxy
Esta sub-rede apenas de proxy é usada para todos os equilibradores de carga baseados no Envoy na região REGION.
Consola
- Na Google Cloud consola, aceda à página Redes VPC.
Aceda a redes de VPC - Aceda à rede que foi usada para configurar a conetividade híbrida entre os ambientes.
- Clique em Adicionar sub-rede.
- Introduza um Nome: PROXY_ONLY_SUBNET_NAME.
- Selecione uma região: REGION.
- Defina Purpose como Regional Managed Proxy.
- Introduza um intervalo de endereços IP: PROXY_ONLY_SUBNET_RANGE.
- 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_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=ACTIVE \ --region=REGION \ --network=NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Configure a sub-rede do balanceador de carga
Esta sub-rede é usada para criar os back-ends do NEG zonal do equilibrador de carga, o front-end e o endereço IP interno.
Cloud Console
- Na Google Cloud consola, aceda à página Redes VPC.
Aceda a redes de VPC - Aceda à rede que foi usada para configurar a conetividade híbrida entre os ambientes.
- Na secção Sub-redes:
- Defina o Subnet creation mode (Modo de criação de sub-rede) como Custom (Personalizado).
- Na secção Nova sub-rede, introduza as seguintes informações:
- Nome: LB_SUBNET_NAME
- Região: REGION
- Intervalo de endereços IP: LB_SUBNET_RANGE
- Clique em Concluído.
- Clique em Criar.
gcloud
Crie uma sub-rede na rede que foi usada para configurar a conetividade híbrida entre os ambientes.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Reserve o endereço IP do balanceador de carga
Por predefinição, é usado um endereço IP para cada regra de encaminhamento. Pode reservar um endereço IP partilhado, que lhe permite usar o mesmo endereço IP com várias regras de encaminhamento. No entanto, se quiser publicar o balanceador de carga através do Private Service Connect, não use um endereço IP partilhado para a regra de encaminhamento.
Consola
Pode reservar um endereço IP interno autónomo através da Google Cloud consola.
- Aceda à página Redes VPC.
- Clique na rede que foi usada para configurar a conetividade híbrida entre os ambientes.
- Clique em Endereços IP internos estáticos e, de seguida, em Reservar endereço estático.
- Introduza um Nome: LB_IP_ADDRESS.
- Para a Sub-rede, selecione LB_SUBNET_NAME.
- Se quiser especificar o endereço IP a reservar, em Endereço IP estático, selecione Permitir-me escolher e, em seguida, preencha um Endereço IP personalizado. Caso contrário, o sistema atribui automaticamente um endereço IP na sub-rede.
- Se quiser usar este endereço IP com várias regras de encaminhamento, em Finalidade, escolha Partilhado.
- Clique em Reservar para concluir o processo.
gcloud
Usando a CLI gcloud, execute o comando
compute addresses create
:gcloud compute addresses create LB_IP_ADDRESS \ --region=REGION \ --subnet=LB_SUBNET_NAME \
Use o
compute addresses describe
comando para ver o endereço IP atribuído:gcloud compute addresses describe LB_IP_ADDRESS \ --region=REGION
Se quiser usar o mesmo endereço IP com várias regras de encaminhamento, especifique
--purpose=SHARED_LOADBALANCER_VIP
.
Crie regras de firewall para NEGs zonais
Neste exemplo, cria as seguintes regras de firewall para os back-ends do NEG zonal em Google Cloud:
fw-allow-health-check
: Uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite o tráfego de sistemas de verificação de funcionamento (130.211.0.0/22
e35.191.0.0/16
). Este exemplo usa a etiqueta de destinoallow-health-check
para identificar as VMs de back-end às quais deve ser aplicada.Google Cloud Não é necessário permitir tráfego dos intervalos de sondas de verificação de estado da Google para NEGs híbridos. No entanto, se estiver a usar uma combinação de NEGs híbridos e zonais num único serviço de back-end, tem de permitir o tráfego dos intervalos de sondas de verificação de estado da Google para os NEGs zonais.fw-allow-ssh
: Uma regra de entrada 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 IPs dos sistemas a partir dos quais vai iniciar sessões SSH. Este exemplo usa a etiqueta de destinoallow-ssh
para identificar as VMs às quais deve ser aplicada.fw-allow-proxy-only-subnet
: uma regra de entrada que permite que as ligações da sub-rede só de proxy alcancem os back-ends.
Consola
- Na Google Cloud consola, aceda à página Políticas de firewall.
Aceder a Políticas de firewall - Clique em Criar regra de firewall para criar a regra que permite o tráfego de sondas de verificação de estado:
- Introduza um Nome de
fw-allow-health-check
. - Em Rede, selecione NETWORK.
- Em Segmentações, selecione Etiquetas de segmentação especificadas.
- Preencha o campo Etiquetas alvo com
allow-health-check
. - Defina o Filtro de origem como Intervalos IPv4.
- Defina os Intervalos IPv4 de origem como
130.211.0.0/22
e35.191.0.0/16
. - Em Protocolos e portas, selecione Protocolos e portas especificados.
- Selecione TCP e, em seguida, introduza
80
para o número da porta. - Clique em Criar.
- Introduza um Nome de
- Clique novamente em Criar regra de firewall para criar a regra que permite ligações SSH
de entrada:
- Nome:
fw-allow-ssh
- Rede: NETWORK
- Prioridade:
1000
- Direção 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 IPv4
- Intervalos IPv4 de origem:
0.0.0.0/0
- Protocolos e portas: escolha Protocolos e portas especificados.
- Selecione TCP e, em seguida, introduza
22
para o número da porta. - Clique em Criar.
- Nome:
- Clique novamente em Criar regra de firewall para criar a regra que permite ligações
de entrada da sub-rede só de proxy:
- Nome:
fw-allow-proxy-only-subnet
- Rede: NETWORK
- Prioridade:
1000
- Direção do tráfego: entrada
- Ação na correspondência: permitir
- Objetivos: etiquetas de objetivo especificadas
- Etiquetas de segmentação:
allow-proxy-only-subnet
- Filtro de origem: intervalos IPv4
- Intervalos IPv4 de origem: PROXY_ONLY_SUBNET_RANGE
- Protocolos e portas: escolha Protocolos e portas especificados
- Selecione TCP e, em seguida, introduza
80
para o número da porta. - Clique em Criar.
- Nome:
gcloud
Crie a regra
fw-allow-health-check-and-proxy
para permitir que as verificações de funcionamento alcancem as instâncias de back-end na porta TCP80
: Google Cloudgcloud compute firewall-rules create fw-allow-health-check \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp:80
Crie a regra de firewall
fw-allow-ssh
para permitir a conetividade SSH a VMs com a etiqueta de redeallow-ssh
. Quando omitesource-ranges
, Google Cloud interpreta a regra como qualquer origem.gcloud compute firewall-rules create fw-allow-ssh \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
Crie uma regra de firewall de permissão de entrada para a sub-rede só de proxy para permitir que o balanceador de carga comunique com instâncias de back-end na porta TCP
80
:gcloud compute firewall-rules create fw-allow-proxy-only-subnet \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-proxy-only-subnet \ --source-ranges=PROXY_ONLY_SUBNET_RANGE \ --rules=tcp:80
Configure o NEG zonal
Para back-ends baseados em Google Cloud, recomendamos que configure vários NEGs zonais na mesma região onde configurou a conetividade híbrida.
Para este exemplo, configurámos um NEG zonal (com pontos finais do tipo GCE_VM_IP_PORT
) na região REGION. Primeiro, crie as VMs na zona GCP_NEG_ZONE. Em seguida,
crie um NEG zonal no mesmo GCP_NEG_ZONE e
adicione os pontos finais de rede das VMs ao NEG.
Crie VMs
Consola
- Aceda à página de instâncias de VM na Google Cloud consola.
Aceder a instâncias de VM - Clique em Criar instância.
- Defina o Nome como
vm-a1
. - Para a Região, escolha REGION e escolha qualquer Zona. Isto é designado por GCP_NEG_ZONE neste procedimento.
- Na secção Disco de arranque, certifique-se de que a opção Debian GNU/Linux 12 (bookworm) está selecionada para as opções do disco de arranque. Clique em Escolher para alterar a imagem, se necessário.
Clique em Opções avançadas e faça as seguintes alterações:
- Clique em Rede e adicione as seguintes etiquetas de rede:
allow-ssh
,allow-health-check
eallow-proxy-only-subnet
. - Clique em Editar
- Rede: NETWORK
- Subnet: LB_SUBNET_NAME
- IP interno principal: efémero (automático)
- IP externo: efémero
em
Interfaces de rede, faça as seguintes alterações e, de seguida, clique em
Concluído:
Clique em Gestão. No campo Script de arranque, copie e cole o seguinte conteúdo do script. O conteúdo do script é idêntico para todas as quatro VMs:
#! /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
- Clique em Rede e adicione as seguintes etiquetas de rede:
Clique em Criar.
Repita os passos seguintes para criar uma segunda VM com a seguinte combinação de nome e zona:
- Nome:
vm-a2
, zona: GCP_NEG_ZONE
- Nome:
gcloud
Crie as VMs executando o seguinte comando duas vezes, usando estas combinações para o nome da VM e a respetiva zona. Os conteúdos do script são idênticos para ambas as VMs.
- VM_NAME de
vm-a1
e qualquer zona GCP_NEG_ZONE à sua escolha VM_NAME de
vm-a2
e a mesma zona de GCP_NEG_ZONEgcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check,allow-proxy-only-subnet \ --subnet=LB_SUBNET_NAME \ --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'
Crie o NEG zonal
Consola
Para criar um grupo de pontos finais de rede zonal:
- Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
Aceda à página Grupos de pontos finais da rede - Clique em Criar grupo de pontos finais de rede.
- Introduza um nome para o NEG zonal. Referido como GCP_NEG_NAME neste procedimento.
- Selecione o Tipo de grupo de pontos finais da rede: Grupo de pontos finais da rede (zonal).
- Selecione a rede: NETWORK
- Selecione a Sub-rede: LB_SUBNET_NAME
- Selecione a zona: GCP_NEG_ZONE
- Introduza a Porta predefinida:
80
. - Clique em Criar.
Adicione pontos finais ao NEG zonal:
- Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
Aceda aos grupos de pontos finais da rede - Clique no Nome do grupo de pontos finais de rede criado no passo anterior (GCP_NEG_NAME). É apresentada a página Detalhes do grupo de pontos finais de rede.
- Na secção Pontos finais de rede neste grupo, clique em Adicionar ponto final de rede. É apresentada a página Adicionar ponto final de rede.
- Selecione uma instância de VM para adicionar os respetivos endereços IP internos como pontos finais de rede. Na secção Interface de rede, é apresentado o nome, a zona e a sub-rede da VM.
- No campo Endereço IPv4, introduza o endereço IPv4 do novo ponto final de rede.
- Selecione o Tipo de porta.
- Se selecionar Predefinição, o ponto final usa a porta predefinida
80
para todos os pontos finais no grupo de pontos finais da rede. Isto é suficiente para o nosso exemplo porque o servidor Apache está a processar pedidos na porta80
. - Se selecionar Personalizado, introduza o Número da porta do ponto final a usar.
- Se selecionar Predefinição, o ponto final usa a porta predefinida
- Para adicionar mais pontos finais, clique em Adicionar ponto final de rede e repita os passos anteriores.
- Depois de adicionar todos os pontos finais, clique em Criar.
gcloud
Crie um NEG zonal (com
GCE_VM_IP_PORT
pontos finais) usando o comandogcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create GCP_NEG_NAME \ --network-endpoint-type=GCE_VM_IP_PORT \ --zone=GCP_NEG_ZONE \ --network=NETWORK \ --subnet=LB_SUBNET_NAME
Pode especificar um
--default-port
ao criar o NEG ou especificar um número de porta para cada ponto final conforme mostrado no passo seguinte.Adicione pontos finais a GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,port=80' \ --add-endpoint='instance=vm-a2,port=80'
Configure o NEG de conetividade híbrida
Ao criar o NEG, use um ZONE que minimize a distância geográfica entre Google Cloud e o seu ambiente nas instalações ou noutra nuvem. Por exemplo, se estiver a alojar um serviço num ambiente
no local em Frankfurt, na Alemanha, pode especificar a zona europe-west3-a
Google Cloud quando criar o NEG.
Além disso, se estiver a usar o Cloud Interconnect, o ZONE usado para criar o NEG deve estar na mesma região onde o anexo do Cloud Interconnect foi configurado.
Para ver as regiões e as zonas disponíveis, consulte a documentação do Compute Engine: regiões e zonas disponíveis.
Consola
Para criar um grupo de pontos finais de rede de conetividade híbrida:
- Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
Aceda a Grupos de pontos finais da rede - Clique em Criar grupo de pontos finais de rede.
- Introduza um nome para o NEG híbrido. Referido como ON_PREM_NEG_NAME neste procedimento.
- Selecione o tipo de grupo de pontos finais da rede: grupo de pontos finais da rede de conetividade híbrida (zonal).
- Selecione a rede: NETWORK
- Selecione a sub-rede: LB_SUBNET_NAME
- Selecione a zona: ON_PREM_NEG_ZONE
- Introduza a porta predefinida.
- Clique em Criar
Adicione pontos finais ao NEG de conetividade híbrida:
- Aceda à página Grupos de pontos finais de rede na Google Cloud consola.
Aceda à página Grupos de pontos finais da rede - Clique no Nome do grupo de pontos finais de rede criado no passo anterior (ON_PREM_NEG_NAME). É apresentada a página Detalhes do grupo de pontos finais de rede.
- Na secção Pontos finais de rede neste grupo, clique em Adicionar ponto final de rede. É apresentada a página Adicionar ponto final de rede.
- Introduza o endereço IP do novo ponto final de rede.
- Selecione o Tipo de porta.
- Se selecionar Predefinição, o ponto final usa a porta predefinida para todos os pontos finais no grupo de pontos finais de rede.
- Se selecionar Personalizado, pode introduzir um Número de porta diferente para o ponto final usar.
- Para adicionar mais pontos finais, clique em Adicionar ponto final de rede e repita os passos anteriores.
- Depois de adicionar todos osGoogle Cloud pontos finais que não sejam de serviço Web, clique em Criar.
gcloud
Crie um NEG de conetividade híbrida com o comando
gcloud compute network-endpoint-groups create
.gcloud compute network-endpoint-groups create ON_PREM_NEG_NAME \ --network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \ --zone=ON_PREM_NEG_ZONE \ --network=NETWORK
Adicione o ponto final da VM do back-end no local a ON_PREM_NEG_NAME:
gcloud compute network-endpoint-groups update ON_PREM_NEG_NAME \ --zone=ON_PREM_NEG_ZONE \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_1,port=PORT_1" \ --add-endpoint="ip=ON_PREM_IP_ADDRESS_2,port=PORT_2"
Pode usar este comando para adicionar os pontos finais de rede que configurou anteriormente no local ou no seu ambiente de nuvem.
Repita --add-endpoint
quantas vezes forem necessárias.
Pode repetir estes passos para criar vários NEGs híbridos, se necessário.
Configure o balanceador de carga
Consola
gcloud
- Crie uma verificação de funcionamento
para os back-ends.
As sondas de verificação de estado para back-ends de NEG híbridos têm origem em proxies do Envoy na sub-rede apenas de proxy, enquanto as sondas para back-ends de NEG zonais têm origem nos [intervalos de IPs de sondas centrais da Google](/load-balancing/docs/health-check-concepts#ip-ranges).gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- Crie um serviço de back-end para back-ends baseados em Google Cloud. Adiciona o NEG zonal e o NEG de conetividade híbrida como back-ends a este serviço de back-end.
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- Adicione o NEG zonal como um back-end ao serviço de back-end.
Para ver detalhes sobre a configuração do modo de equilíbrio, consulte a documentação da CLI gcloud para o parâmetrogcloud compute backend-services add-backend BACKEND_SERVICE \ --region=REGION \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=GCP_NEG_NAME \ --network-endpoint-group-zone=GCP_NEG_ZONE
--max-rate-per-endpoint
. - Adicione o NEG híbrido como back-end ao serviço de back-end.
Para ver detalhes sobre a configuração do modo de equilíbrio, consulte a documentação da CLI gcloud para o parâmetrogcloud compute backend-services add-backend BACKEND_SERVICE \ --region=REGION \ --balancing-mode=RATE \ --max-rate-per-endpoint=MAX_REQUEST_RATE_PER_ENDPOINT \ --network-endpoint-group=ON_PREM_NEG_NAME \ --network-endpoint-group-zone=ON_PREM_NEG_ZONE
--max-rate-per-endpoint
. - Crie um mapa de URLs para encaminhar pedidos recebidos para o serviço de back-end:
gcloud compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE \ --region=REGION
- Opcional: execute este passo se estiver a usar HTTPS entre o cliente e o equilibrador de carga. Isto não é necessário para balanceadores de carga HTTP.
Pode criar certificados do Compute Engine ou do Certificate Manager. Use qualquer um dos seguintes métodos para criar certificados através do gestor de certificados:
- Certificados autogeridos regionais. Para obter informações sobre como criar e usar certificados autogeridos regionais, consulte Implemente um certificado autogerido regional. Os mapas de certificados não são suportados.
Certificados geridos pela Google regionais. Os mapas de certificados não são suportados.
Os seguintes tipos de certificados regionais geridos pela Google são suportados pelo Gestor de certificados:
- Certificados geridos pela Google regionais com autorização de DNS por projeto. Para mais informações, consulte o artigo Implemente um certificado gerido pela Google regional com autorização de DNS.
- Certificados (privados) geridos pela Google regionais com o serviço de autoridade de certificação. Para mais informações, consulte o artigo Implemente um certificado gerido pela Google com o serviço de autoridade de certificação.
Depois de criar os certificados, anexe-os diretamente ao proxy de destino.
Para criar um recurso de certificado SSL autogerido do Compute Engine:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH
- Crie um proxy HTTP(S) de destino para encaminhar pedidos para o seu mapa de URLs.
Para um balanceador de carga HTTP, crie um proxy HTTP de destino: Para um balanceador de carga HTTPS, crie um proxy HTTPS de destino. O proxy é a parte do balanceador de carga que contém o certificado SSL para o balanceamento de carga HTTPS, pelo que também carrega o certificado neste passo.gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=REGION \ --region=REGION
gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME \ --url-map-region=REGION \ --region=REGION
- Crie uma regra de encaminhamento para encaminhar pedidos recebidos para o proxy. Não use a sub-rede só de proxy para criar a regra de encaminhamento.
Para um balanceador de carga de HTTP: Para um balanceador de carga HTTPS:gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --ports=80 \ --region=REGION \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --target-http-proxy-region=REGION
gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=NETWORK \ --subnet=LB_SUBNET_NAME \ --address=LB_IP_ADDRESS \ --ports=443 \ --region=REGION \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --target-https-proxy-region=REGION
Associe o seu domínio ao balanceador de carga
Após a criação do balanceador de carga, tome nota do endereço IP associado ao balanceador de carga, por exemplo, 30.90.80.100
. Para direcionar o seu domínio para o
equilibrador de carga, crie um registo A
através do serviço de registo de domínios. Se
adicionou vários domínios ao seu certificado SSL, tem de adicionar um registo A
para cada um, todos a apontar para o endereço IP do equilibrador de carga. Por exemplo, para criar registos A
para www.example.com
e example.com
, use o seguinte:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
Se usar o Cloud DNS como fornecedor de DNS, consulte o artigo Adicione, modifique e elimine registos.
Teste o balanceador de carga
Para testar o balanceador de carga, crie uma VM cliente na mesma região que o balanceador de carga. Em seguida, envie tráfego do cliente para o balanceador de carga.
Crie uma VM de cliente
Este exemplo cria uma VM de cliente (vm-client
) na mesma região que os NEGs de back-end. O cliente é usado para validar a configuração do equilibrador de carga
e demonstrar o comportamento esperado, conforme descrito na secção de
testes.
Consola
- Aceda à página de instâncias de VM na Google Cloud consola.
Aceder a instâncias de VM - Clique em Criar instância.
- Defina o Nome como
vm-client
. - Defina a Zona como CLIENT_VM_ZONE.
- Clique em Opções avançadas e faça as seguintes alterações:
- Clique em Rede e adicione o
allow-ssh
a Etiquetas de rede. - Clique no botão de edição em Interfaces de rede e faça as seguintes alterações. Em seguida, clique em Concluído:
- Rede: NETWORK
- Subnet: LB_SUBNET_NAME
- IP interno principal: efémero (automático)
- IP externo: efémero
- Clique em Rede e adicione o
- Clique em Criar.
gcloud
A VM do cliente pode estar em qualquer zona na mesma região que o balanceador de carga e pode usar qualquer sub-rede nessa região. Neste exemplo, o cliente está na zona CLIENT_VM_ZONE e usa a mesma sub-rede que as VMs de back-end.
gcloud compute instances create vm-client \ --zone=CLIENT_VM_ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=LB_SUBNET_NAME
Envie tráfego para o balanceador de carga
Agora que configurou o equilibrador de carga, pode começar a enviar tráfego para o endereço IP do equilibrador de carga.
Use o SSH para estabelecer ligação à instância do cliente.
gcloud compute ssh client-vm \ --zone=CLIENT_VM_ZONE
Obtenha o endereço IP do balanceador de carga. Use o
compute addresses describe
comando para ver o endereço IP atribuído:gcloud compute addresses describe l7-ilb-ip-address \ --region=us-west1
Verifique se o balanceador de carga está a publicar nomes de anfitriões de back-end conforme esperado. Substitua IP_ADDRESS pelo endereço IP do balanceador de carga.
Para testes HTTP, execute:
curl IP_ADDRESS
Para testar o HTTPS, execute o seguinte comando:
curl -k -s 'https://DOMAIN_NAME:443' --connect-to DOMAIN_NAME:443:IP_ADDRESS:443
Substitua DOMAIN_NAME pelo nome do domínio da sua aplicação, por exemplo, test.example.com
.
A flag -k
faz com que o curl ignore a validação de certificados.
Os testes dos pontos finais nãoGoogle Cloud dependem do serviço que expôs através do ponto final do NEG híbrido.
Opções de configuração adicionais
Esta secção expande o exemplo de configuração para oferecer opções de configuração alternativas e adicionais. Todas as tarefas são opcionais. Pode realizá-las por qualquer ordem.
Atualize o tempo limite de manutenção ativa de HTTP do cliente
O balanceador de carga criado nos passos anteriores foi configurado com um valor predefinido para o tempo limite de manutenção ativa do HTTP do cliente.Para atualizar o limite de tempo limite de manutenção ativa HTTP do cliente, siga as instruções abaixo.
Consola
Na Google 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.
- Expanda Funcionalidades avançadas. Para Limite de tempo de manutenção ativa de HTTP, introduza um valor de limite de tempo.
- Clique em Atualizar.
- Para rever as alterações, clique em Rever e finalizar e, de seguida, clique em Atualizar.
gcloud
Para um balanceador de carga HTTP, atualize o proxy HTTP de destino através do comando gcloud compute target-http-proxies update
.
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region=REGION
Para um balanceador de carga HTTPS, atualize o proxy HTTPS de destino com o comando
gcloud compute target-https-proxies update
.
gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --region REGION
Substitua o seguinte:
TARGET_HTTP_PROXY_NAME
: o nome do proxy HTTP de destino.TARGET_HTTPS_PROXY_NAME
: o nome do proxy HTTPS de destino.HTTP_KEEP_ALIVE_TIMEOUT_SEC
: o valor de tempo limite de manutenção ativa de HTTP de 5 para 600 segundos.
O que se segue?
- Converta o balanceador de carga de aplicações para IPv6
- Limpe a configuração do equilibrador de carga