Nesta página, descrevemos como criar, atualizar e associar endpoints de saída a zonas de encaminhamento e políticas de servidor DNS para ativar o encaminhamento direto de consultas DNS usando endereços IP particulares da sua rede VPC. Ao usar essa abordagem, você tem um controle mais granular sobre o tráfego de saída. Para mais informações sobre endpoints de saída, consulte Visão geral de endpoints de saída.
Antes de começar
-
No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .
Papéis necessários para selecionar ou criar um projeto
- Selecionar um projeto: não é necessário um papel específico do IAM para selecionar um projeto. Você pode escolher qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, é preciso ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
-
Verifique se o faturamento está ativado para o projeto do Google Cloud .
-
Ative as APIs Cloud DNS, Compute Engine e Network Services, se ainda não estiverem ativadas.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.
Verifique se você tem uma rede VPC com conectividade com seus servidores de nomes DNS locais ou externos. Em cada região em que você planeja implantar um endpoint de saída, sua rede VPC precisa ter uma sub-rede regular e uma somente proxy na região de destino. Para mais informações, consulte Criar e gerenciar redes VPC.
Verifique também se a rede local tem uma rota de retorno para o intervalo de endereços IP da sub-rede somente proxy regional e configure as regras de firewall locais para permitir consultas DNS de entrada (UDP e porta TCP 53) do intervalo de endereços IP da sub-rede somente proxy regional.
Criar um endpoint de saída
Para criar um endpoint de saída, faça o seguinte:
Console
No console do Google Cloud , acesse a página Cloud DNS.
Acesse a guia Endpoints de saída e clique em Criar endpoint de saída.
No campo Nome, insira um nome exclusivo para o endpoint.
(Opcional) No campo Descrição, insira uma descrição para o endpoint.
Em Região, selecione a região de destino.
Na lista Rede, selecione sua rede VPC.
Em Sub-rede, selecione a sub-rede regular na região selecionada.
Em Endereço IP do endpoint, insira uma string de endereço IPv4 válida do intervalo de sub-rede selecionado.
Em Sub-rede somente proxy, o console detecta automaticamente a sub-rede somente proxy regional na rede VPC e na região selecionadas para saída de consulta de saída. Se uma sub-rede somente proxy não for detectada, clique em Reservar sub-rede para criar uma antes de continuar.
Clique em Criar.
gcloud
Execute o comando gcloud beta dns outbound-endpoints create:
gcloud beta dns outbound-endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--network=VPC_NETWORK \
--subnetwork=REGULAR_SUBNET \
--location=REGION \
--endpoint-ip=IP_ADDRESS \
--description=DESCRIPTION
Substitua:
ENDPOINT_NAME: nome do endpoint de saída.PROJECT_ID: ID do projeto;VPC_NETWORK: rede VPC associada ao endpoint de saída, por exemplo,projects/PROJECT_ID/global/networks/NETWORK_NAMEou apenasNETWORK_NAMEREGULAR_SUBNET: a sub-rede regular de onde o endereço IP de detecção interno do endpoint é alocado, por exemplo,projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAMEou apenasSUBNET_NAMEREGION: região em que o endpoint é implantadoIP_ADDRESS: um endereço IPv4 interno disponível do intervalo de endereços IP principal da sub-rede regular.DESCRIPTION: uma descrição opcional para o endpoint.
API
Execute o método outboundEndpoints.create:
POST https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints?outboundEndpointId=ENDPOINT_NAME
{
"network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/REGULAR_SUBNET",
"endpointIp": "IP_ADDRESS",
"description": "DESCRIPTION"
}
Substitua:
PROJECT_ID: ID do projeto;REGION: região em que o endpoint é implantadoENDPOINT_NAME: nome do endpoint de saída.VPC_NETWORK: rede VPC associada ao endpoint de saídaREGULAR_SUBNET: a sub-rede regular de onde o endereço IP de detecção interno do endpoint é alocado.IP_ADDRESS: um endereço IPv4 interno disponível do intervalo de IP principal da sub-rede regular.DESCRIPTION: uma descrição opcional do endpoint
Atualizar um endpoint de saída
Para atualizar um endpoint de saída, siga estas etapas:
Console
No console do Google Cloud , acesse a página Cloud DNS.
Acesse a guia Endpoints de saída e clique no nome do endpoint de saída que você quer atualizar.
Clique em Editar, atualize o campo Descrição e clique em Salvar.
gcloud
Execute o comando gcloud beta dns outbound-endpoints update:
gcloud beta dns outbound-endpoints update ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--description=UPDATED_DESCRIPTION
Substitua:
ENDPOINT_NAME: nome do endpoint de saída a ser atualizado.PROJECT_ID: ID do projeto;REGION: região em que o endpoint está implantado.UPDATED_DESCRIPTION: descrição atualizada opcional para o endpoint.
API
Execute o método outboundEndpoints.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME?updateMask=description
{
"description": "UPDATED_DESCRIPTION"
}
Substitua:
PROJECT_ID: ID do projeto;REGION: região em que o endpoint é implantadoENDPOINT_NAME: nome do endpoint de saída a ser atualizado.UPDATED_DESCRIPTION: descrição atualizada do endpoint de saída
Associar endpoints a uma zona de encaminhamento
Console
No console do Google Cloud , acesse a página Cloud DNS.
Acesse a guia Zonas e clique em Criar zona ou selecione uma zona de encaminhamento e clique em Editar.
Configure os parâmetros da zona:
- Em Tipo de zona, selecione Particular.
- Em Nome da zona, insira um identificador exclusivo para a zona.
- Em Nome do DNS, insira o sufixo de domínio que você quer encaminhar. Por exemplo,
corp.example.com. - (Opcional) Em Descrição, digite uma descrição.
- Em Opções, selecione Encaminhar consultas para outro servidor.
- Em Redes, selecione as redes VPC autorizadas a resolver consultas nessa zona.
Em Servidores DNS de destino, insira os endereços IPv4 ou FQDNs de destino dos seus servidores de nomes externos/locais.
Em Caminho de ida, selecione Endpoints de saída.
Em Endpoints de saída, selecione um ou mais endpoints para processar o encaminhamento de consultas:
- Seleção mínima: selecione pelo menos um endpoint de saída (obrigatório quando "Endpoints de saída" é escolhido como o caminho de ida).
- Restrição de VPC única: todos os endpoints selecionados precisam pertencer à mesma rede VPC.
- Prática recomendada de alta disponibilidade (HA): para recuperação de desastres entre regiões e failover automático, configure e selecione pelo menos dois endpoints em regiões diferentes na rede VPC.
Clique em Criar ou Salvar para uma zona atual.
gcloud
Associe endpoints a uma zona de encaminhamento usando o
comando gcloud beta dns managed-zones update:
gcloud beta dns managed-zones update ZONE_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Substitua:
ZONE_NAME: nome da zona de encaminhamento a ser atualizada.PROJECT_ID: ID do projeto;REGION_1eREGION_2: regiões em que os endpoints são implantadosENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à zona de encaminhamentoENDPOINT_NAME_2: nome do segundo endpoint a ser associado à zona de encaminhamento
API
Execute o método managedZones.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/managedZones/ZONE_NAME
{
"name": "ZONE_NAME",
"dnsName": "DNS_NAME",
"description": "DESCRIPTION",
"visibility": "private",
"forwardingConfig": {
"outboundEndpoints": [
{
"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"
},
{
"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"
}
]
}
}
Substitua:
PROJECT_ID: ID do projeto;ZONE_NAME: nome da zona de encaminhamento a ser atualizada.DNS_NAME: nome DNS da zona de encaminhamentoDESCRIPTION: (opcional) descrição atualizada da zona de encaminhamentoREGION_1eREGION_2: regiões em que os endpoints são implantados (todos os endpoints de saída listados emforwardingConfigprecisam pertencer à mesma rede VPC)ENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à zona de encaminhamentoENDPOINT_NAME_2: nome do segundo endpoint a ser associado à zona de encaminhamento
Associar endpoints a uma política de servidor DNS
Console
No console do Google Cloud , acesse a página Cloud DNS.
Acesse a guia Políticas de servidor DNS e clique em Criar política (ou selecione uma política de servidor DNS atual e clique em Editar).
Faça as configurações a seguir:
- Em Nome da política, insira um nome exclusivo para a política de servidor.
- (Opcional) Em Descrição, insira uma descrição.
- Para o encaminhamento de consultas de entrada, especifique se os clientes externos vão consultar cargas de trabalho da VPC usando endpoints de entrada.
- Para DNS64, ative ou desative a síntese de IPv6 conforme necessário.
- Em Registros, ative ou desative a geração de registros de DNS conforme necessário.
- Em Redes VPC, selecione as redes VPC a que a política de servidor se aplica.
Em Servidores DNS alternativos, insira os endereços IPv4 de destino dos servidores de nomes externos ou locais.
Em Caminho de ida, selecione Endpoints de saída.
Em Endpoints de saída, selecione um ou mais endpoints para rotear todas as consultas de VPC não privadas:
- Seleção mínima: selecione pelo menos um endpoint de saída.
- Restrição de VPC única: todos os endpoints selecionados precisam pertencer à mesma rede VPC.
- Prática recomendada de alta disponibilidade (HA): para recuperação de desastres entre regiões e failover automático, configure e selecione pelo menos dois endpoints em regiões diferentes na rede VPC.
Clique em Criar (ou Salvar para uma política atual).
gcloud
Associe endpoints a uma política de servidor DNS usando o
comando gcloud beta dns policies update:
gcloud beta dns policies update POLICY_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Substitua:
POLICY_NAME: nome da política do servidor DNS a ser atualizada.PROJECT_ID: ID do projeto;REGION_1eREGION_2: regiões em que os endpoints são implantadosENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à política do servidor DNSENDPOINT_NAME_2: nome do segundo endpoint a ser associado à política do servidor DNS
API
Execute o método policies.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/policies/POLICY_NAME
{
"alternativeNameServerConfig": {
"outboundEndpoints": [
{"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"},
{"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"}
]
}
}
Substitua:
PROJECT_ID: ID do projeto;POLICY_NAME: nome da política do servidor DNS a ser atualizada.REGION_1eREGION_2: regiões em que os endpoints são implantados.ENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à política do servidor DNSENDPOINT_NAME_2: nome do segundo endpoint a ser associado à política do servidor DNS
Ver endpoints de saída
Para listar ou descrever endpoints de saída em uma região, siga estas etapas:
Console
No console do Google Cloud , acesse a página Cloud DNS.
Acesse a guia Endpoints de saída para conferir todos os endpoints de saída no seu projeto, as regiões, redes, sub-redes, endereços IP e status de integridade deles.
gcloud
Para listar todos os endpoints de saída em uma região, execute o
comando gcloud beta dns outbound-endpoints list:
gcloud beta dns outbound-endpoints list \
--project=PROJECT_ID \
--location=REGION
Substitua:
PROJECT_ID: ID do projeto;REGION: região em que o endpoint está implantado.
Para conferir detalhes de um endpoint de saída específico, execute o
comando gcloud beta dns outbound-endpoints describe:
gcloud beta dns outbound-endpoints describe ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Substitua:
ENDPOINT_NAME: nome do endpoint de saída.PROJECT_ID: ID do projeto;REGION: região em que o endpoint está implantado.
API
Para listar todos os endpoints de saída em uma região, envie uma solicitação GET:
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints
Substitua:
PROJECT_ID: ID do projeto;REGION: região em que o endpoint está implantado.
Para ver detalhes de um endpoint de saída específico, envie uma solicitação GET:
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Substitua:
PROJECT_ID: ID do projeto;REGION: região em que o endpoint é implantadoENDPOINT_NAME: nome do endpoint de saída.
Excluir um endpoint de saída
Antes de excluir um endpoint de saída, é preciso desassociá-lo de todas as zonas de encaminhamento ou políticas de servidor DNS que o referenciam. Para mais informações, consulte Gerenciar recursos de rede associados a endpoints de saída.
Depois de desassociar o endpoint de saída de todas as zonas de encaminhamento e políticas do servidor DNS, siga estas etapas para excluir o endpoint:
Console
No console do Google Cloud , acesse a página Cloud DNS.
Acesse a guia Endpoints de saída.
Selecione o endpoint de saída que você quer excluir e clique em Excluir.
gcloud
Execute o comando gcloud beta dns outbound-endpoints delete:
gcloud beta dns outbound-endpoints delete ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Substitua:
ENDPOINT_NAME: nome do endpoint de saída a ser excluídoPROJECT_ID: ID do projeto;REGION: região em que o endpoint está implantado.
API
Use o método outboundEndpoints.delete.
DELETE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Substitua:
PROJECT_ID: ID do projeto;REGION: região em que o endpoint é implantadoENDPOINT_NAME: nome do endpoint de saída a ser excluído
Resolver problemas
Para encontrar métodos de diagnóstico e resolução de erros relacionados a endpoints de saída, consulte Solução de problemas.
A seguir
- Saiba mais sobre endpoints de saída.