Esta página ilustra como implementar um Application Load Balancer externo global para equilibrar a carga do tráfego para pontos finais de rede no local ou noutras nuvens públicas e que são acessíveis através da conetividade híbrida.
Depois de concluir estas tarefas, pode explorar opcionalmente a ativação de serviços adicionais (como o Cloud CDN e o Google Cloud Armor) e funcionalidades avançadas de gestão de tráfego.
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 de exemplo:
Tem de configurar a conetividade híbrida antes de tentar configurar uma implementação de equilíbrio de carga híbrido. Este documento 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 parceiro]), use a documentação do produto relevante para o configurar.
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 para permitir o tráfego das sondas de verificação de estado da Google para os seus pontos finais. Os intervalos de endereços IP de origem a serem permitidos são
35.191.0.0/16
e130.211.0.0/22
. Para mais informações, consulte os Intervalos de IP de sondagem e as regras da firewall.
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:
- Os intervalos usados pelas sondas de verificação de saúde da Google:
35.191.0.0/16
e130.211.0.0/22
.
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.
Crie a sub-rede para os back-ends
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.
Crie esta sub-rede na NETWORKrede que foi usada para configurar a conetividade híbrida entre os ambientes.
Consola
Para suportar o tráfego IPv4 e IPv6, siga estes passos:
Na Google Cloud consola, aceda à página Redes VPC.
Aceda à rede que foi usada para configurar a conetividade híbrida entre os ambientes.
- Clique em Edit.
- Para o Modo de criação de sub-rede, escolha Personalizado.
- Clique em Guardar.
Opcional: se quiser configurar intervalos de endereços IPv6 internos em sub-redes nesta rede, conclua estes passos:
- Para o intervalo IPv6 interno ULA da rede VPC, selecione Ativado.
Para Atribuir intervalo IPv6 interno, selecione Automaticamente ou Manualmente.
Se selecionar Manualmente, introduza um intervalo de
/48
no intervalo defd20::/20
. Se o intervalo estiver em uso, é-lhe pedido que faculte um intervalo diferente.
No separador Sub-redes, clique em Adicionar sub-rede.
No painel Adicionar uma sub-rede, configure os seguintes campos:
- No campo Nome, indique um nome para a sub-rede.
- No campo Região, selecione uma região.
- No campo Intervalo de endereços IP, introduza um intervalo de endereços IP.
- Para o Tipo de pilha de IP, selecione IPv4 e IPv6 (pilha dupla).
- No campo Tipo de acesso IPv6, selecione Externo.
- Clique em Adicionar.
Para suportar o tráfego IPv4, siga estes passos:
Na Google Cloud consola, aceda à página Redes VPC.
Aceda à rede que foi usada para configurar a conetividade híbrida entre os ambientes.
- Clique em Edit.
- Para o Modo de criação de sub-rede, escolha Personalizado.
- Clique em Guardar.
No separador Sub-redes, clique em Adicionar sub-rede.
No painel Adicionar uma sub-rede, introduza as seguintes informações:
- No campo Nome, indique um nome para a sub-rede.
- No campo Região, selecione uma região.
- No campo Intervalo de endereços IP, introduza um intervalo de endereços IP.
- No campo Tipo de pilha de IP, selecione IPv4 (pilha única).
- Clique em Adicionar.
gcloud
Crie uma sub-rede na NETWORK rede que foi usada para configurar a conetividade híbrida entre os ambientes.
Para tráfego IPv4 e IPv6, use o seguinte comando:
gcloud compute networks update NETWORK \ [ --enable-ula-internal-ipv6 [ --internal-ipv6-range=ULA_IPV6_RANGE ]] \ --switch-to-custom-subnet-mode
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL
Para tráfego IPv4, use o seguinte comando:
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Substitua o seguinte:
NETWORK
: um nome para a rede da VPC.LB_SUBNET_NAME
: um nome para a sub-rede.REGION
: o nome da região.ULA_IPV6_RANGE
: um prefixo/48
do intervalofd20::/20
usado pela Google para intervalos de sub-redes IPv6 internos. Se não usar a flag--internal-ipv6-range
, a Google seleciona um prefixo/48
para a rede.
Crie uma regra de firewall
Neste exemplo, cria a seguinte regra de firewall:
fw-allow-health-check
: uma regra de entrada, aplicável às instâncias com balanceamento de carga, que permite o tráfego do balanceador de carga e dos 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 CloudGoogle Cloud
Consola
Na Google Cloud consola, aceda à página Políticas de firewall.
Clique em Criar regra de firewall:
- Introduza um Nome de
fw-allow-health-check
. - Na secção 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 a caixa de verificação junto a TCP e escreva
80
para os números das portas.
- Introduza um Nome de
Clique em Criar.
Para permitir o tráfego de sub-rede IPv6, clique novamente em Criar regra de firewall e introduza as seguintes informações:
- Nome:
fw-allow-lb-access-ipv6
- Rede:
NETWORK
- Prioridade:
1000
- Direção do trânsito: entrada
- Objetivos: etiquetas de destino especificadas
- No campo Etiquetas de destino, introduza
allow-health-check-ipv6
- Filtro de origem: intervalos IPv6
- Intervalos IPv6 de origem:
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
- Protocolos e portas: Permitir tudo
- Nome:
Clique em Criar.
gcloud
Crie a regra
fw-allow-health-check-and-proxy
para permitir que o balanceador de carga e as Google Cloud verificações de funcionamento comuniquem com as instâncias de back-end na porta TCP80
.Substitua NETWORK pelo nome da rede VPC usada para configurar a conetividade híbrida.
gcloud 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
fw-allow-health-check-ipv6
para permitir Google Cloud verificações de funcionamento de IPv6.gcloud compute firewall-rules create fw-allow-health-check-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=tcp,udp,icmp
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.
Os NEGs zonais com um ou mais pontos finais do tipoGCE_VM_IP_PORT
suportam a pilha dupla.
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 VMClique em Criar instância.
Defina o Nome como
vm-a1
.Para a Região, escolha REGION.
Para a Zona, escolha GCP_NEG_ZONE.
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-health-check
. - Clique em Editar
- Rede: NETWORK
- Subnet: LB_SUBNET_NAME
- Tipo de pilha de IP: IPv4 e IPv6 (dupla pilha)
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_ZONEPara suportar o tráfego IPv4 e IPv6, execute o seguinte comando:
gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-health-check,allow-health-check-ipv6 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --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.
- No campo Endereço IPv6, introduza o endereço IPv6 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 de pilha dupla a GCP_NEG_NAME.
gcloud compute network-endpoint-groups update GCP_NEG_NAME \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,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 de VLAN do Cloud Interconnect de conetividade híbrida 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 a
on-prem-neg
: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 um endereço IP externo estático global para o qual os clientes externos enviam tráfego.
gcloud compute addresses create LB_IP_ADDRESS_NAME \ --network-tier=PREMIUM \ --global
- Crie uma verificação de funcionamento
para os back-ends.
gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \ --use-serving-port
- Crie um serviço de back-end. Adiciona o NEG zonal e o NEG de conetividade híbrida como back-ends a este serviço de back-end.
- 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 beta compute backend-services add-backend BACKEND_SERVICE \ --global \ --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:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --global \ --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
- Crie um mapa de URLs para encaminhar pedidos recebidos para o serviço de back-end.
gcloud beta compute url-maps create URL_MAP_NAME \ --default-service BACKEND_SERVICE
- Execute este passo apenas se quiser criar um balanceador de carga HTTPS. Isto não é necessário para balanceadores de carga HTTP.
Para criar um balanceador de carga HTTPS, tem de ter um recurso de certificado SSL para usar no proxy HTTPS de destino. Pode criar um recurso de certificado SSL usando um certificado SSL gerido pela Google ou um certificado SSL autogerido. Recomendamos a utilização de certificados geridos pela Google, uma vez que Google Cloud obtêm, gerem e renovam estes certificados automaticamente.
Para criar um certificado gerido pela Google, tem de ter um domínio. Se não tiver um domínio, pode usar um certificado SSL autoassinado para testes.
Para criar um recurso de certificado SSL gerido pela Google: Para criar um recurso de certificado SSL autogerido:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --domains DOMAIN
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 beta compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=URL_MAP_NAME
gcloud beta compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME
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
: um campo opcional usado para especificar o tempo limite de manutenção ativa do HTTP do cliente. O valor de tempo limite tem de estar entre 5 e 1200 segundos. O valor predefinido é 610 segundos.SSL_CERTIFICATE_NAME
: o nome do certificado SSL.URL_MAP_NAME
: o nome do mapa de URLs.
- Crie uma regra de encaminhamento para encaminhar pedidos recebidos para o proxy.
Para um balanceador de carga de HTTP: Para um balanceador de carga HTTPS:gcloud beta compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --global \ --ports=80
gcloud beta compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=LB_IP_ADDRESS_NAME \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --global \ --ports=443
gcloud beta compute backend-services create BACKEND_SERVICE \ --health-checks=HTTP_HEALTH_CHECK_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --ip-address-selection-policy=PREFER_IPV6 \ --global
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.
Testar 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.
Aceda à página Balanceamento de carga na Google Cloud consola.
Aceda à página Balanceamento de cargaClique no balanceador de carga que acabou de criar.
Tome nota do endereço IP do balanceador de carga.
Envie tráfego para o balanceador de carga.
Se criou um balanceador de carga de HTTP, pode testá-lo com um navegador de Internet acedendo a
http://IP_ADDRESS
. SubstituaIP_ADDRESS
pelo endereço IP do balanceador de carga. Deve ser direcionado para o serviço que expôs através do ponto final.Se criou um balanceador de carga HTTPS, pode testá-lo usando
curl
da seguinte forma. SubstituaIP_ADDRESS
pelo endereço IP do balanceador de carga. Deve ser direcionado para o serviço que expôs através do ponto final.curl -k https://IP_ADDRESS
Se isso não funcionar e estiver a usar um certificado gerido pela Google, confirme que o estado do recurso do certificado é ACTIVE. Para mais informações, consulte o estado do recurso do certificado SSL gerido pela Google. Em seguida, teste o domínio que aponta para o endereço IP do balanceador de carga. Por exemplo:
curl -s https://DOMAIN_NAME
Substitua DOMAIN_NAME pelo nome do domínio da sua aplicação, por exemplo,
test.example.com
.
Os testes dos pontos finais nãoGoogle Cloud dependem do serviço que expôs através do ponto final do NEG híbrido.
Configuração adicional
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 \ --global
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_HTTPS_PROXY_NAME \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --global
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 balanceador de carga.