Criar e atualizar endpoints de saída

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

  1. 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ão resourcemanager.projects.create. Saiba como conceder papéis.

    Acessar o seletor de projetos

  2. Verifique se o faturamento está ativado para o projeto do Google Cloud .

  3. 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.

    Ativar as APIs

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

  1. No console do Google Cloud , acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. Acesse a guia Endpoints de saída e clique em Criar endpoint de saída.

  3. No campo Nome, insira um nome exclusivo para o endpoint.

  4. (Opcional) No campo Descrição, insira uma descrição para o endpoint.

  5. Em Região, selecione a região de destino.

  6. Na lista Rede, selecione sua rede VPC.

  7. Em Sub-rede, selecione a sub-rede regular na região selecionada.

  8. Em Endereço IP do endpoint, insira uma string de endereço IPv4 válida do intervalo de sub-rede selecionado.

  9. 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.

  10. 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_NAME ou apenas NETWORK_NAME
  • REGULAR_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_NAME ou apenas SUBNET_NAME
  • REGION: região em que o endpoint é implantado
  • IP_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 é implantado
  • ENDPOINT_NAME: nome do endpoint de saída.
  • VPC_NETWORK: rede VPC associada ao endpoint de saída
  • REGULAR_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

  1. No console do Google Cloud , acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. Acesse a guia Endpoints de saída e clique no nome do endpoint de saída que você quer atualizar.

  3. 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 é implantado
  • ENDPOINT_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

  1. No console do Google Cloud , acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. Acesse a guia Zonas e clique em Criar zona ou selecione uma zona de encaminhamento e clique em Editar.

  3. Configure os parâmetros da zona:

    1. Em Tipo de zona, selecione Particular.
    2. Em Nome da zona, insira um identificador exclusivo para a zona.
    3. Em Nome do DNS, insira o sufixo de domínio que você quer encaminhar. Por exemplo, corp.example.com.
    4. (Opcional) Em Descrição, digite uma descrição.
    5. Em Opções, selecione Encaminhar consultas para outro servidor.
    6. Em Redes, selecione as redes VPC autorizadas a resolver consultas nessa zona.
  4. Em Servidores DNS de destino, insira os endereços IPv4 ou FQDNs de destino dos seus servidores de nomes externos/locais.

  5. Em Caminho de ida, selecione Endpoints de saída.

  6. 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.
  7. 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_1 e REGION_2: regiões em que os endpoints são implantados
  • ENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à zona de encaminhamento
  • ENDPOINT_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 encaminhamento
  • DESCRIPTION: (opcional) descrição atualizada da zona de encaminhamento
  • REGION_1 e REGION_2: regiões em que os endpoints são implantados (todos os endpoints de saída listados em forwardingConfig precisam pertencer à mesma rede VPC)
  • ENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à zona de encaminhamento
  • ENDPOINT_NAME_2: nome do segundo endpoint a ser associado à zona de encaminhamento

Associar endpoints a uma política de servidor DNS

Console

  1. No console do Google Cloud , acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. 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).

  3. Faça as configurações a seguir:

    1. Em Nome da política, insira um nome exclusivo para a política de servidor.
    2. (Opcional) Em Descrição, insira uma descrição.
    3. Para o encaminhamento de consultas de entrada, especifique se os clientes externos vão consultar cargas de trabalho da VPC usando endpoints de entrada.
    4. Para DNS64, ative ou desative a síntese de IPv6 conforme necessário.
    5. Em Registros, ative ou desative a geração de registros de DNS conforme necessário.
    6. Em Redes VPC, selecione as redes VPC a que a política de servidor se aplica.
  4. Em Servidores DNS alternativos, insira os endereços IPv4 de destino dos servidores de nomes externos ou locais.

  5. Em Caminho de ida, selecione Endpoints de saída.

  6. 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.
  7. 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_1 e REGION_2: regiões em que os endpoints são implantados
  • ENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à política do servidor DNS
  • ENDPOINT_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_1 e REGION_2: regiões em que os endpoints são implantados.
  • ENDPOINT_NAME_1: nome do primeiro endpoint a ser associado à política do servidor DNS
  • ENDPOINT_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

  1. No console do Google Cloud , acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. 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 é implantado
  • ENDPOINT_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

  1. No console do Google Cloud , acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. Acesse a guia Endpoints de saída.

  3. 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ído
  • PROJECT_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 é implantado
  • ENDPOINT_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