Um registo de endereço DNS, conhecido como registo A, é usado para mapear um nome DNS para um endereço IP. Quando cria a regra de encaminhamento para um equilibrador de carga interno, pode designar opcionalmente uma etiqueta de serviço para que Google Cloud crie um nome de DNS interno do Compute Engine exclusivo para o equilibrador de carga. Este nome DNS interno é construído a partir do ID do projeto, do nome da regra de encaminhamento e de uma etiqueta de serviço que especificar.
Especificações
Esta funcionalidade é suportada por regras de encaminhamento para estes equilibradores de carga:
Consulte o formato do registo DNS para ver detalhes sobre o formato do nome DNS que Google Cloud cria para o seu equilibrador de carga. Uma vez que o nome DNS contém o nome da regra de encaminhamento, cada nome DNS é único, mesmo que use a mesma etiqueta de serviço para várias regras de encaminhamento.
A menos que seja configurado um servidor de nomes alternativo, as VMs cliente em qualquer região na mesma rede VPC e projeto podem realizar pesquisas DNS para o nome DNS interno do equilibrador de carga. Para aceder ao balanceador de carga, as VMs cliente têm de estar localizadas na mesma região. Se ativar o acesso global, um cliente em qualquer região pode aceder ao balanceador de carga.
Só pode especificar uma etiqueta de serviço quando criar uma regra de encaminhamento. Não pode adicionar uma etiqueta de serviço a uma regra de encaminhamento existente. No entanto, pode substituir uma regra de encaminhamento existente por uma nova regra de encaminhamento que tenha uma etiqueta de serviço. A substituição pode usar o mesmo endereço IP interno que o original se eliminar primeiro a regra de encaminhamento original.
Os nomes DNS internos criados a partir de etiquetas de serviço têm as seguintes restrições:
- Não são criados registos inversos (PTR) correspondentes.
- Cada regra de encaminhamento só pode ter uma etiqueta de serviço.
- Além da etiqueta de serviço e do nome da regra de encaminhamento, não pode alterar
nenhuma outra parte do nome DNS interno. Isto inclui o formato e o nome de domínio (
.internal
).
Se precisar de nomes DNS mais flexíveis para o seu equilibrador de carga interno, pode criar registos personalizados numa zona privada gerida do Cloud DNS.
Formato do registo de DNS
Quando adiciona uma etiqueta de serviço a uma regra de encaminhamento, Google Cloud cria um registo A de DNS interno do Compute Engine usando um destes formatos:
Para balanceadores de carga de rede de encaminhamento interno:
SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT_ID.internal
Para balanceadores de carga de aplicações internos regionais e balanceadores de carga de rede de proxy internos regionais:
SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT_ID.internal
SERVICE_LABEL é a etiqueta de serviço da regra de encaminhamento que especifica. Tem de seguir este formato:
- Pode usar até 63 letras minúsculas (
a
az
), números (0
a9
) ou travessões (-
). - A etiqueta do serviço tem de começar com uma letra minúscula.
- A etiqueta de serviço tem de terminar com uma letra minúscula ou um número.
FORWARDING_RULE_NAME é o nome da regra de encaminhamento que está a criar.
REGION é a região do balanceador de carga.
PROJECT_ID é o ID do projeto.
Os IDs dos projetos que têm o formato organization:project-id
são convertidos em
project-id.organization
. Por exemplo, se o ID do projeto for
example.com:example-marketing-prod
, Google Cloud usa
example-marketing-prod.example.com
.
Criar uma regra de encaminhamento com uma etiqueta de serviço
Este procedimento mostra como criar uma regra de encaminhamento com uma etiqueta de serviço.
Este procedimento centra-se apenas em como criar uma regra de encaminhamento com uma etiqueta de serviço. As propriedades da configuração de back-end do equilibrador de carga e outras propriedades da configuração de front-end são omitidas. Se for um novo utilizador dos balanceadores de carga de rede de encaminhamento interno, dos balanceadores de carga de aplicações internos regionais ou dos balanceadores de carga de rede de proxy interno regionais, consulte estas páginas para ver exemplos completos:
- Configure um balanceador de carga de rede de encaminhamento interno
- Configure um Application Load Balancer interno regional
Configure um balanceador de carga de rede de proxy interno regional
Consola
Na Google Cloud consola, aceda à página Equilíbrio de carga.
- Clique em Criar equilibrador de carga.
- Conclua os passos do assistente para criar um Network Load Balancer de encaminhamento interno ou um Application Load Balancer interno regional e clique em Configurar.
- Especifique um nome para o balanceador de carga.
- Clique em Continuar.
- Conclua a configuração de back-end.
Clique em Configuração do front-end. Conclua a configuração do frontend, especificando uma etiqueta de serviço na parte inferior dessa secção.
- Clique em Concluído e, de seguida, em Rever e finalizar.
gcloud
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de rede de passagem interno:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL \ --region=REGION \ --backend-service-region=REGION \ --backend-service=BACKEND_SERVICE_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=PROTOCOL \ --ports=PORTS \ --service-label=SERVICE_LABEL
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de rede de proxy interno regional:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --region=REGION \ --target-tcp-proxy-region=REGION \ --target-tcp-proxy=TARGET_PROXY_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=TCP \ --ports=PORT \ --service-label=SERVICE_LABEL
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de aplicações interno regional com HTTPS:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --region=REGION \ --target-https-proxy-region=REGION \ --target-https-proxy=TARGET_PROXY_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=TCP \ --ports=PORT \ --service-label=SERVICE_LABEL
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de aplicações interno regional com HTTP:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --region=REGION \ --target-http-proxy-region=REGION \ --target-http-proxy=TARGET_PROXY_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=TCP \ --ports=PORT \ --service-label=SERVICE_LABEL
Substitua os marcadores de posição por valores adequados:
- FORWARDING_RULE_NAME é o nome da regra de encaminhamento do balanceador de carga.
- REGION é a região do balanceador de carga.
- BACKEND_SERVICE_NAME é o nome do serviço de back-end do balanceador de carga.
- TARGET_PROXY_NAME é o nome do proxy de destino.
- NETWORK é o nome da rede VPC onde o balanceador de carga é criado.
- SUBNET é o nome de uma sub-rede na rede VPC. A sub-rede tem de estar na mesma região que o serviço de back-end do balanceador de carga ou o proxy de destino.
- INTERNAL_IP é um endereço IP interno no intervalo de IP principal da sub-rede escolhida. Pode omitir a flag
--address
para que o Google Cloud escolha um endereço IP disponível para si. - Para balanceadores de carga de rede de encaminhamento interno, PROTOCOL é
TCP
ouUDP
, correspondendo ao protocolo do serviço de back-end do balanceador de carga. Para balanceadores de carga de aplicações internos regionais e balanceadores de carga de rede de proxy internos regionais, o protocolo tem de serTCP
. - Para equilibradores de carga de rede de passagem interna, PORTS é uma matriz de até cinco portas por número ou a palavra
ALL
. Para balanceadores de carga de aplicações internos regionais e balanceadores de carga de rede de proxy internos regionais, pode fazer referência exatamente a uma porta de 1 a 65 535. Consulte as especificações das portas nos conceitos de regras de encaminhamento para ver mais detalhes. - SERVICE_LABEL é a etiqueta de serviço escolhida. Tem de seguir as convenções de nomenclatura.
api
Os exemplos seguintes criam regras de encaminhamento através do método
forwardingRules.insert
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de rede de passagem interno:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/backendServices/BACKEND_SERVICE_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "PROTOCOL", "ports": PORTS, "serviceLabel": "SERVICE_LABEL" }
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de rede de proxy interno regional:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL_MANAGED", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetTcpProxies/TARGET_PROXY_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "TCP", "ports": PORT, "serviceLabel": "SERVICE_LABEL" }
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de aplicações interno regional com HTTPS:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL_MANAGED", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpsProxies/TARGET_PROXY_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "TCP", "ports": PORT, "serviceLabel": "SERVICE_LABEL" }
Para criar uma regra de encaminhamento com uma etiqueta de serviço para um balanceador de carga de aplicações interno regional com HTTP:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL_MANAGED", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpProxies/TARGET_PROXY_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "TCP", "ports": PORT, "serviceLabel": "SERVICE_LABEL" }
Substitua os marcadores de posição por valores adequados:
- FORWARDING_RULE_NAME é o nome da regra de encaminhamento do balanceador de carga.
- REGION é a região do balanceador de carga.
- BACKEND_SERVICE_NAME é o nome do serviço de back-end do balanceador de carga de rede de passagem interno.
- TARGET_PROXY_NAME é o nome do proxy de destino.
- NETWORK é o nome da rede VPC onde o balanceador de carga é criado.
- SUBNET é o nome de uma sub-rede na rede VPC. A sub-rede tem de estar na mesma região que o serviço de back-end do balanceador de carga ou o proxy de destino.
- INTERNAL_IP é um endereço IP interno no intervalo de IP principal da sub-rede escolhida. Pode omitir a chave
IPAddress
para que o Google Cloud Google Cloud escolha um endereço IP disponível para si. - Para balanceadores de carga de rede de encaminhamento interno, PROTOCOL é
TCP
ouUDP
, correspondendo ao protocolo do serviço de back-end do balanceador de carga. Para balanceadores de carga de aplicações internos regionais e balanceadores de carga de rede de proxy internos regionais, o protocolo tem de serTCP
. - Para equilibradores de carga de rede de passagem interna, PORTS é uma matriz de até cinco portas por número ou a palavra
ALL
. Para balanceadores de carga de aplicações internos regionais e balanceadores de carga de rede de proxy internos regionais, pode fazer referência exatamente a uma porta de 1 a 65 535. Consulte as especificações das portas nos conceitos de regras de encaminhamento para ver mais detalhes. - SERVICE_LABEL é a etiqueta de serviço escolhida. Tem de seguir as convenções de nomenclatura.
Visualizar etiquetas de serviços
Consola
Pode ver o nome DNS interno do Compute Engine (criado a partir da etiqueta de serviço) para cada regra de encaminhamento interno de um equilibrador de carga interno:
Na Google Cloud consola, aceda à página Equilíbrio de carga.
Clique no nome do equilibrador de carga interno para ver a respetiva página de detalhes.
As regras de encaminhamento interno atribuídas ao balanceador de carga estão listadas na secção Front-end. A coluna Nome DNS mostra o nome DNS interno do Compute Engine atribuído a cada regra de encaminhamento. A etiqueta de serviço é a primeira parte desse nome (antes do primeiro ponto). Se não for apresentado nenhum nome, a regra de encaminhamento não tem uma etiqueta de serviço definida.
gcloud
Liste as regras de encaminhamento no seu projeto usadas por balanceadores de carga de rede de passagem internos ou balanceadores de carga de aplicações internos regionais. Localize o que precisa e tome nota do nome e da região para o passo seguinte.
gcloud compute forwarding-rules list \ --filter="loadBalancingScheme=SCHEME"
O valor de SCHEME depende das regras de encaminhamento que tem de indicar:
- Para balanceadores de carga de rede de encaminhamento interno, use
INTERNAL
. - Para balanceadores de carga de aplicações internos regionais e balanceadores de carga de rede de proxy internos regionais, use
INTERNAL_MANAGED
.
- Para balanceadores de carga de rede de encaminhamento interno, use
Descreva a regra de encaminhamento, substituindo FORWARDING_RULE_NAME pelo respetivo nome e REGION pela respetiva região:
gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \ --region=REGION \ --format="get(serviceLabel)"
api
Veja a regra de encaminhamento e a etiqueta de serviço com o
forwardingRules.get
método
A resposta ao pedido da API inclui a etiqueta do serviço (serviceLabel
) e o nome DNS interno do Compute Engine (serviceName
).
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules/FORWARDING_RULE_NAME
Resposta do balanceador de carga de rede de encaminhamento interno:
{ ... "serviceLabel": "SERVICE_LABEL", "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT.internal", ... }
Resposta do balanceador de carga de rede de proxy interno regional e do balanceador de carga de aplicações interno regional:
{ ... "serviceLabel": "SERVICE_LABEL", "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT.internal", ... }
Exemplo
O procedimento seguinte demonstra como substituir uma regra de encaminhamento por uma que tenha uma etiqueta de serviço. Este procedimento funciona para todos os equilibradores de carga suportados.
Se ainda não tiver criado uma regra de encaminhamento para o seu balanceador de carga interno, ignore este exemplo e consulte Criar uma regra de encaminhamento com uma etiqueta de serviço.
Descreva a regra de encaminhamento existente do balanceador de carga, indicando o endereço IP interno da regra de encaminhamento:
gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \ --region=REGION \ --format="get(IPAddress)"
Elimine a regra de encaminhamento:
gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Crie uma regra de encaminhamento de substituição com o mesmo nome e endereço IP interno com uma etiqueta de serviço. Consulte o artigo Criar uma regra de encaminhamento com uma etiqueta de serviço para ver instruções.
O que se segue?
- Para obter informações sobre a configuração do registo e da monitorização para balanceadores de carga de rede de encaminhamento interno, consulte o artigo Registo e monitorização do balanceador de carga de rede de encaminhamento interno
- Para obter informações sobre como resolver problemas com o balanceador de carga de rede de encaminhamento interno, consulte o artigo Resolva problemas de balanceadores de carga de rede de encaminhamento interno.