Antes de seguir este guia, familiarize-se com a documentação de vista geral do NEG da Internet, incluindo as limitações.
O diagrama de arquitetura seguinte mostra um front-end do Application Load Balancer interno regional com um back-end externo.Autorizações
Para seguir este guia, tem de criar um NEG de Internet e criar ou modificar um Application Load Balancer num projeto. Deve ser proprietário ou
editor (roles/owner
ou roles/editor
) do projeto ou ter ambas as seguintes funções do IAM do Compute Engine.
Tarefa | Função necessária |
---|---|
Crie e modifique componentes do balanceador de carga | Administrador de rede de Calcular ( roles/compute.networkAdmin )
|
Crie e modifique NEGs | Administrador de instância de computação ( roles/compute.instanceAdmin )
|
Configure o ambiente de back-end externo fora Google Cloud
Para configurar o ambiente de back-end externo, consulte as secções seguintes.
Configure pontos finais de rede
Configure um ponto final de rede para expor o seu back-end externo ao Google Cloud. Certifique-se de que o ponto final, ou uma combinação de IP:Port, ou um nome de domínio totalmente qualificado (FQDN) e uma porta, está acessível através da Internet. Este ponto final é referenciado posteriormente a partir do NEG da Internet.
Para ver os requisitos de configuração detalhados para pontos finais de NEG da Internet, consulte a vista geral dos NEGs da Internet.
Permitir que o back-end externo receba tráfego de Google Cloud
Pode concluir este passo depois de criar a sub-rede apenas de proxy e configurar o gateway Cloud NAT.
Para permitir que os pedidos de Google Cloud alcancem o seu back-end externo, tem de executar os seguintes passos:
- Configure um gateway NAT da nuvem com endereços IP que são usados para o tráfego de saída de Google Cloud. O gateway mapeia o intervalo de sub-rede apenas de proxy para os endereços IP externos. Para ver os passos, consulte o artigo Configure um gateway Cloud NAT.
- Certifique-se de que o ambiente de back-end externo está configurado para permitir que o tráfego de Google Cloud alcance o back-end externo. Por exemplo, se usou endereços IP pré-reservados para o gateway NAT, tem de adicionar esses endereços IP à lista de autorizações no seu ambiente externo. É provável que tenha de trabalhar com o administrador de rede ou de segurança do seu ambiente externo para configurar esta opção.
Configure o seu Google Cloud ambiente
Precisa de uma rede VPC com duas sub-redes: uma para os componentes do balanceador de carga e outra para a sub-rede só de proxy da região. Em seguida, cria o balanceador de carga com um back-end do NEG da Internet.
Crie a rede de VPC e a sub-rede
Esta sub-rede é usada para criar os componentes do balanceador de carga.
Cloud Console
- Na Google Cloud consola, aceda à página Redes VPC.
Aceda a redes de VPC - Clique em Criar rede de VPC.
- Introduza um Nome: LB_NETWORK.
- 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 a rede VPC personalizada com o comando
gcloud compute networks create
:gcloud compute networks create LB_NETWORK \ --subnet-mode=custom
Crie uma sub-rede na LB_NETWORK rede.
gcloud compute networks subnets create LB_SUBNET_NAME \ --network=LB_NETWORK \ --range=LB_SUBNET_RANGE \ --region=REGION
Configure a sub-rede só de proxy
Esta sub-rede apenas de proxy é usada por todos os equilibradores de carga baseados no Envoy regionais na região REGION.
Consola
- Na Google Cloud consola, aceda à página Redes VPC.
Aceda a redes de VPC - Selecione uma Rede na lista.
- 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=LB_NETWORK \ --range=PROXY_ONLY_SUBNET_RANGE
Configure um gateway do Cloud NAT
Antes de configurar o gateway Cloud NAT, certifique-se de que reviu as limitações associadas e as considerações de preços. Para ver detalhes, consulte o artigo NEGs regionais: use um gateway Cloud NAT.Os comandos seguintes descrevem como configurar um gateway NAT da Cloud. O gateway Cloud NAT pode ser configurado para usar endereços IP externos de NAT automáticos, em que a atribuição se baseia na procura, ou para usar um conjunto de endereços IP externos pré-reservados manualmente. O gateway mapeia o intervalo de sub-rede apenas de proxy para os endereços IP externos.
Configure endereços IP atribuídos de NAT automáticos
Quando cria um gateway Cloud NAT com atribuição automática de endereços IP NAT, pode especificar os níveis de serviço de rede (nível Premium ou nível Standard) a partir dos quais o gateway Cloud NAT atribui os endereços IP.
Consola
Na Google Cloud consola, aceda à página Cloud NAT.
Clique em Começar ou Criar gateway de NAT da nuvem.
Introduza um nome da gateway LB_NAT_CONFIG.
Para Tipo de NAT, selecione Público.
Na lista Rede, selecione LB_NETWORK.
Na lista Região, selecione REGION.
Crie um Cloud Router na região.
Para Tipo de ponto final de origem, selecione Balanceadores de carga de proxy geridos.
Na lista Origem, selecione Personalizado.
- Para Sub-redes, selecione PROXY_ONLY_SUBNET_NAME.
Na lista Endereços IP do Cloud NAT, selecione Automático (recomendado).
Para Nível de serviço de rede, escolha Premium ou Padrão.
Clique em Criar.
gcloud
Use endereços IP alocados dinamicamente se o seu ambiente de back-end externo não exigir que autorize endereços IP específicos que possam enviar tráfego para o back-end externo. Google Cloud
Crie um Cloud Router:
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
Configure o gateway do Cloud NAT.
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --auto-allocate-nat-external-ips \ --region=REGION
Substitua o seguinte:
LB_NAT_CONFIG
: o nome da configuração de NAT.ROUTER_NAME
: o nome do seu Cloud Router.REGION
: a região da NAT a criar. Se não for especificado, pode ser-lhe pedido que selecione uma região (apenas no modo interativo).PROXY_ONLY_SUBNET_NAME
: o nome da sua sub-rede de proxy apenas.
Configure endereços IP atribuídos manualmente
Use endereços IP atribuídos manualmente apenas se o seu ambiente de back-end externo exigir que use uma lista de autorizações para endereços IP específicos. Google Cloud Se o ambiente de back-end externo não precisar de uma lista de autorizações, use a atribuição dinâmica, conforme mostrado anteriormente.
Quando cria um gateway NAT da Cloud, pode optar por atribuir manualmente endereços IP NAT a partir do nível Premium, do nível Standard ou de ambos, sujeito a determinadas condições.
Consola
Na Google Cloud consola, aceda à página Cloud NAT.
Clique em Começar ou Criar gateway de NAT da nuvem.
Introduza um nome da gateway LB_NAT_CONFIG.
Na lista Rede, selecione LB_NETWORK.
Na lista Região, selecione REGION.
Selecione ou crie um Cloud Router na região.
Para Tipo de ponto final de origem, selecione Balanceadores de carga de proxy geridos.
Na lista Origem, selecione Personalizado.
- Em Sub-redes, selecione PROXY_ONLY_SUBNET_NAME.
Na lista Endereços IP do Cloud NAT, selecione Manual.
Para Nível de serviço de rede, escolha Premium ou Padrão.
Selecione ou crie um endereço IP externo reservado estático para usar para NAT.
Se quiser especificar endereços IP adicionais, clique em Adicionar endereço IP e, em seguida, selecione ou crie um endereço IP externo reservado estático adicional.
Clique em Criar.
gcloud
Crie os endereços IP. Uma vez que a gateway executa a tradução NAT individual, tem de se certificar de que o conjunto de endereços IP reservados é suficientemente grande para processar o volume de tráfego esperado. Os endereços IP NAT insuficientemente atribuídos podem resultar na perda de tráfego.
gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \ --region=REGION
Crie um Cloud Router:
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
Configure o gateway do Cloud NAT.
gcloud beta compute routers nats create LB_NAT_CONFIG \ --router=ROUTER_NAME \ --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \ --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \ --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \ --region=REGION
Substitua o seguinte:
LB_NAT_CONFIG
: o nome da configuração de NAT.ROUTER_NAME
: o nome do seu Cloud Router.PROXY_ONLY_SUBNET_NAME
: o nome da sua sub-rede de proxy apenas.REGION
: a região da NAT a criar. Se não for especificado, pode ser-lhe pedido que selecione uma região (apenas no modo interativo).
Configure a atribuição dinâmica de portas
Atualize o gateway NAT da nuvem para usar o modo de atribuição dinâmica de portas para usar totalmente os endereços IP atribuídos.
gcloud
Atualize o gateway do Cloud NAT. Recomendamos que defina o número mínimo de portas como 2048 e o número máximo de portas como 4096.
gcloud compute routers nats update LB_NAT_CONFIG \ --router=ROUTER_NAME \ --enable-dynamic-port-allocation \ --min-ports-per-vm=MIN_PORTS_PER_VM \ --max-ports-per-vm=MAX_PORTS_PER_VM \ --region=REGION
Verifique se a atribuição dinâmica de portas está ativada e se o número mínimo e máximo de portas está definido.
gcloud compute routers nats describe LB_NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION
O resultado é semelhante ao seguinte:
enableDynamicPortAllocation: true enableEndpointIndependentMapping: false endpointTypes: ‐ ENDPOINT_TYPE_MANAGED_PROXY_LB logConfig: enable: true filter: ALL maxPortsPerVm: 4096 minPortsPerVm: 2048 name: LB_NAT_CONFIG natIpAllocateOption: MANUAL_ONLY natIps: ‐ https://www.googleapis.com/compute/projects/PROJECT_NAME/regions/REGION/addresses/ADDRESS sourceSubnetworkIpRangesToNat: ALL_SUBNETWORKS_ALL_IP_RANGES type: PUBLIC
Para mais informações, consulte o artigo Especifique intervalos de sub-redes para NAT na documentação do Cloud NAT.
Certifique-se de que usa uma lista de autorizações para os intervalos de endereços IP NAT no seu ambiente de back-end externo, para que o back-end externo possa receber tráfego de Google Cloud.
Reserve o endereço IP do balanceador de carga
Reserve um endereço IP interno para o balanceador de carga.
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
Configure o NEG da Internet
Pode criar um NEG de Internet usando pontos finais INTERNET_FQDN_PORT
ou pontos finais INTERNET_IP_PORT
.
Consola
Crie um NEG com INTERNET_FQDN_PORT
pontos finais
Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.
Clique em Criar grupo de pontos finais de rede.
Especifique um INTERNET_NEG_NAME para o seu NEG de Internet. Para mais informações, consulte o artigo Convenção de nomenclatura de recursos.
Na lista Tipo de grupo de pontos finais de rede, selecione Grupo de pontos finais de rede (Internet) e, em seguida, faça o seguinte:
- Na lista Âmbito, selecione Regional.
- Opcional: na lista Região, altere o REGION para este NEG.
- Na lista Rede, selecione LB_NETWORK.
- Na caixa Porta predefinida, introduza DEFAULT_PORT_NUMBER.
- Na lista Adicionar pontos finais através de, selecione Nome de domínio totalmente qualificado e porta.
- Selecione Criar.
Adicione pontos finais INTERNET_FQDN_PORT
ao NEG
Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.
- Clique em INTERNET_NEG_NAME.
Introduza o nome do domínio totalmente qualificado, como
myorg.example.com
. Tem de especificar os objetos FQDN na sintaxe FQDN padrão.Opcional: para Tipo de porta, selecione Personalizado. Se o Tipo de porta for
Default
, é usada a porta predefinida do NEG.- Na caixa Número da porta, introduza PORT_NUMBER_1.
- Selecione Criar.
Crie um NEG com INTERNET_IP_PORT
pontos finais
Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.
Clique em Criar grupo de pontos finais de rede.
Especifique um nome INTERNET_NEG_NAME para o NEG da Internet. Para mais informações, consulte o artigo Convenção de nomenclatura de recursos.
Na lista Tipo de grupo de pontos finais de rede, selecione Grupo de pontos finais de rede (Internet) e, em seguida, faça o seguinte:
- Na lista Âmbito, selecione Regional.
- Opcional: na lista Região, altere o REGION para este NEG.
- Na lista Rede, selecione LB_NETWORK.
- Na caixa Porta predefinida, introduza DEFAULT_PORT_NUMBER.
- Na lista Adicionar pontos finais através de, selecione IP e porta.
- Selecione Criar.
Adicione pontos finais INTERNET_IP_PORT
ao NEG
Na Google Cloud consola, aceda à página Grupo de pontos finais de rede.
- Clique em INTERNET_NEG_NAME.
- No campo Endereço IP, introduza IP_ADDRESS_1.
Opcional: na lista Tipo de porta, selecione Personalizado. Se o Tipo de porta for
Default
, é usada a porta predefinida do NEG.- No campo Número da porta, introduza PORT_NUMBER_1.
- Selecione Criar.
gcloud
Para criar um NEG com pontos finais INTERNET_FQDN_PORT
:
Crie o recurso NEG.
gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \ --network-endpoint-type=INTERNET_FQDN_PORT \ --default-port=DEFAULT_PORT_NUMBER \ --network=LB_NETWORK \ --region=REGION
Adicione pontos finais ao NEG. Se não for especificada uma porta, é usada a porta predefinida do NEG.
gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \ --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \ [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \] --region=REGION
Substitua o seguinte:
FULLY_QUALIFIED_DOMAIN_NAME
: o nome do domínio totalmente qualificado para o ponto finalPORT_NUMBER
: o número da porta do ponto final
Pode adicionar até 256 pontos finais por NEG.
Se o seu domínio for resolvível através da Internet, não é necessária nenhuma outra configuração para configurar o DNS. No entanto, se estiver a usar FQDNs privados, tem de configurar o Cloud DNS para facilitar a resolução de DNS. O nome tem de estar alojado no Cloud DNS ou ser resolvível através do encaminhamento de DNS do Cloud DNS para um DNS no local.
Comece por criar uma zona do Cloud DNS para alojar os registos de DNS no seu projeto. Em seguida, adicione os registos de DNS. Consulte a