Configurar políticas de roteamento de DNS e verificações de integridade

Esta página descreve como configurar políticas de roteamento de DNS e habilitar verificações de integridade usando o Cloud DNS. Antes de usar esta página, familiarize-se com as políticas de roteamento de DNS e verificações de integridade .

Antes de começar

  • Para configurar políticas de roteamento DNS, crie um conjunto de registros de recursos e escolha uma das seguintes políticas de roteamento DNS para aplicar ao conjunto de registros de recursos.

  • As políticas de roteamento de DNS oferecem suporte a vários endereços IP por localização geográfica na política de roteamento de geolocalização. Quando você especifica vários endereços IP para uma localização geográfica, o Cloud DNS retorna todos os endereços IP especificados para essa localização. Não é possível combinar uma política de roteamento de geolocalização com uma política de WRR ponderada personalizada.

  • Aplique somente um tipo de política de roteamento a um conjunto de registros de recursos por vez. Não é possível combinar políticas de roteamento, exceto ao configurar uma política de roteamento de failover. Nesse caso, você pode definir uma política de roteamento de geolocalização como backup.

  • Certifique-se de habilitar o acesso global para balanceadores de carga regionais.

  • Antes de configurar políticas de roteamento DNS para zonas públicas, desabilite a restrição de política da organização constraints/compute.disableInternetNetworkEndpointGroup . Para obter mais informações, consulte Restrições de política da organização .

  • Certifique-se de ter as permissões necessárias para configurar as políticas de roteamento DNS.

Crie políticas de roteamento DNS para zonas privadas

Antes de criar políticas de roteamento DNS para zonas privadas, conclua as seguintes etapas.

  1. Crie uma zona privada .
  2. Configure um dos seguintes balanceadores de carga internos:
  3. Crie regras de encaminhamento para o balanceador de carga interno .
  4. Configure a verificação de integridade para o balanceador de carga interno .

Para criar políticas de roteamento DNS para zonas privadas, siga estas etapas.

Console

Iniciar a configuração

  1. No Google Cloud console, acesse a página Zonas de DNS na nuvem .

    Ir para zonas DNS na nuvem

  2. Clique no nome da zona gerenciada à qual você deseja adicionar o registro.

  3. Na página Detalhes da zona , clique em Adicionar com política de roteamento .

Dados básicos

  1. Opcional: Na página Criar conjunto de registros com política de roteamento , em Nome DNS , insira um subdomínio do nome DNS — por exemplo, mail . O ponto final é adicionado automaticamente.

  2. Para Tipo de registro de recurso , selecione uma opção.

  3. Para TTL , insira um valor numérico para o tempo de vida do registro de recurso, que é o tempo durante o qual ele pode ser armazenado em cache. Este valor deve ser um número inteiro positivo.

  4. Opcional: Para a unidade TTL , selecione a unidade de tempo — por exemplo, minutes . O padrão é definido como minutes .

  5. Clique em Avançar .

Tipo de política de roteamento

  1. Para Política de roteamento , selecione Round robin ponderado , Geolocalização ou Failover .
  2. Clique em Avançar .

Dados de política de roteamento

WRR

  1. Para Peso , insira o peso correspondente a esta subseção dos dados do registro de recurso (RR).

    Este peso deve ser um número não negativo de 0,0 a 1000,0. A proporção do tráfego roteado para o destino é calculada a partir da razão entre o peso individual e o total de todos os pesos. Por exemplo, se o destino A tiver um peso de 25 e o destino B tiver um peso de 75, com um peso total de 100, o Cloud DNS roteia 25/100 = 0,25 (25%) do tráfego total para o destino A e 75/100 = 0,75 (75%) para o destino B.

  2. Na seção Destinos verificados de integridade do IPv4 , faça o seguinte:

    1. Para Projeto , selecione o projeto onde a regra de encaminhamento existe.
    2. Para Regra de encaminhamento , selecione uma regra de encaminhamento.

      A regra de encaminhamento especifica um endereço IP interno, uma porta e um dos seguintes destinos:

  3. Clique em Concluído .

  4. Opcional: para adicionar outro alvo com verificação de integridade, clique em Adicionar alvo .

  5. Opcional: para permitir endereços IPv4 sem verificação de integridade, faça o seguinte:

    1. Selecione Permitir endereços IPv4 sem verificação de integridade .
    2. Para Endereço IPv4 , insira um endereço IPv4.
  6. Opcional: para adicionar outro conjunto de dados de roteamento de política WRR, clique em Adicionar dados de roteamento .

  7. Clique em Avançar .

Geolocalização

  1. Para Geo fencing , selecione Desativado ou Ativado .

    Habilitar o geofencing restringe o tráfego a uma geolocalização específica, mesmo que todos os endpoints nessa geolocalização não estejam íntegros.

  2. Para Região de origem , selecione uma região válida Google Cloudregião de origem.

  3. Na seção Destinos verificados de integridade do IPv4 , faça o seguinte:

    1. Para Projeto , selecione o projeto onde a regra de encaminhamento existe.
    2. Para Regra de encaminhamento , selecione uma regra de encaminhamento.

      A regra de encaminhamento especifica um endereço IP interno, uma porta e um dos seguintes destinos:

  4. Clique em Concluído .

  5. Opcional: para adicionar outro alvo com verificação de integridade, clique em Adicionar alvo .

  6. Opcional: para permitir endereços IPv4 sem verificação de integridade, faça o seguinte:

    1. Selecione Permitir endereços IPv4 sem verificação de integridade .
    2. Para Endereço IPv4 , insira um endereço IPv4.
  7. Opcional: para adicionar um conjunto de outros dados de roteamento de política de geolocalização, clique em Adicionar dados de roteamento .

  8. Clique em Avançar .

Failover

  1. Na seção Metas de saúde primárias verificadas , faça o seguinte:

    1. Para Projeto , selecione o projeto onde a regra de encaminhamento existe.
    2. Para Regra de encaminhamento , selecione uma regra de encaminhamento.

      A regra de encaminhamento especifica um endereço IP interno, uma porta e um dos seguintes destinos:

  2. Na seção Política de geolocalização de backup , faça o seguinte:

    1. Para Geofencing , selecione Desativado ou Ativado . Habilitar o Geofencing restringe o tráfego a uma geolocalização específica, mesmo que todos os endpoints nessa geolocalização estejam com problemas.
    2. Para Região de origem , selecione uma região válida Google Cloudregião de origem.
    3. Na seção Destinos verificados de integridade do IPv4 , faça o seguinte:

      1. Para Projeto , selecione o projeto onde a regra de encaminhamento existe.
      2. Para Regra de encaminhamento , selecione uma regra de encaminhamento.

        A regra de encaminhamento especifica uma das seguintes opções:

        • Um endereço IP interno, uma porta e um serviço de backend regional
        • Um proxy HTTP(S)
        • Um proxy TCP

    Quando todos os endereços IP primários não estão íntegros, o tráfego é automaticamente manipulado de acordo com a política de geolocalização de backup.

  3. Clique em Concluído .

  4. Opcional: para adicionar outro alvo com verificação de integridade, clique em Adicionar alvo .

  5. Opcional: para permitir endereços IPv4 sem verificação de integridade, faça o seguinte:

    1. Selecione Permitir endereços IPv4 sem verificação de integridade .
    2. Para Endereço IPv4 , insira um endereço IPv4.
  6. Opcional: para adicionar outro conjunto de dados de roteamento de política de geolocalização de backup, clique em Adicionar dados de roteamento .

  7. No campo Tráfego residual (%) , insira a porcentagem do tráfego enviado aos destinos de failover, independentemente do status da verificação de integridade dos destinos primários.

  8. Clique em Avançar .

Revisar e criar

  1. Clique em Revisar .
  2. Revise seu conjunto de registros do Cloud DNS com a configuração da política de roteamento.
  3. Clique em Criar .

gcloud

Para um conjunto de registros de recursos, defina uma política de roteamento ( routingPolicy ) ou dados DNS ( rrdatas ), mas não ambos. Para alternar entre uma política de roteamento e dados DNS, atualize o conjunto de registros de recursos. Por exemplo, para alterar um conjunto de registros de recursos que contém dados DNS ( rrdatas ) para conter uma política de roteamento ( routingPolicy ), exclua rrdatas e adicione routingPolicy ao mesmo conjunto de registros de recursos.

Para criar políticas de roteamento DNS para zonas privadas, siga estas etapas.

Execute o comando gcloud dns record-sets create :

WRR

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=WRR \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Substitua o seguinte:

  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache ResourceRecordSet , como 30 .
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A Para obter uma lista de tipos de registro suportados, consulte Tipos de registro suportados para políticas de roteamento DNS .
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
  • ROUTING_POLICY_DATA : insira uma lista delimitada por ponto e vírgula no formato ${weight_percent}:${rrdatas} , como .8=203.0.113.1;.2=198.51.100.1 . Especifique o peso como um decimal não negativo. A proporção do tráfego roteado para o destino é calculada a partir da proporção do peso individual sobre o total de todos os pesos. Nomes de regras de encaminhamento são valores aceitáveis ​​e resultam em verificação de integridade.
  • --enable-health-checking : sinalizador para habilitar a verificação de integridade. Ao usar este sinalizador, você deve fornecer o nome da regra de encaminhamento em vez do endereço IP no campo --routing-policy-data .

Geolocalização

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Substitua o seguinte:

  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache ResourceRecordSet , como 30 .
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A Para obter uma lista de tipos de registro suportados, consulte Tipos de registro suportados para políticas de roteamento DNS .
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
  • ROUTING_POLICY_DATA : insira uma lista delimitada por ponto e vírgula no formato ${region}=${IP_address} , como asia-east1=198.51.100.1;us-central1=203.0.113.1 . Você pode especificar vários endereços IP para uma única região adicionando endereços IP separados por vírgula. Nomes de regras de encaminhamento são valores aceitáveis ​​e resultam em verificação de integridade.
  • --enable-health-checking : sinalizador para habilitar a verificação de integridade. Ao usar este sinalizador, você deve fornecer o nome da regra de encaminhamento em vez do endereço IP no campo --routing-policy-data .

Geolocalização com geocerca

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-geo-fencing \
  --enable-health-checking

Substitua o seguinte:

  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache ResourceRecordSet , como 30 .
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A Para obter uma lista de tipos de registro suportados, consulte Tipos de registro suportados para políticas de roteamento DNS .
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
  • ROUTING_POLICY_DATA : insira uma lista delimitada por ponto e vírgula no formato ${region}=${IP_address} , como asia-east1=198.51.100.1;us-central1=203.0.113.1 . Você pode especificar vários endereços IP para uma única região adicionando endereços IP separados por vírgula. Nomes de regras de encaminhamento são valores aceitáveis ​​e resultam em verificação de integridade.
  • --enable-geo-fencing : para políticas de roteamento GEO , determina se o tráfego deve ser transferido entre regiões caso todos os endpoints de uma região não estejam íntegros. Quando definido, o Cloud DNS sempre direciona as consultas para a região mais próxima, mesmo que todos os endpoints dessa região não estejam íntegros. Use --no-enable-geo-fencing para desativar o geofencing. Quando não definido, o Cloud DNS direciona as consultas para a região mais próxima quando todos os endpoints de uma região não estiverem íntegros. O padrão é false .
  • --enable-health-checking : sinalizador para habilitar a verificação de integridade. Ao usar este sinalizador, você deve fornecer o nome da regra de encaminhamento em vez do endereço IP no campo --routing-policy-data .

Failover

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=FAILOVER  \
  --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
  --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
  --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
  --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
  --enable-geo-fencing \
  --enable-health-checking

Substitua o seguinte:

  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache ResourceRecordSet , como 30 .
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A Para obter uma lista de tipos de registro suportados, consulte Tipos de registro suportados para políticas de roteamento DNS .
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
  • ROUTING_POLICY_PRIMARY_DATA : o alvo principal a ser usado para políticas de roteamento FAILOVER . Este alvo deve ser uma referência a uma ou mais regras de encaminhamento, como forwarding-rule-1 . Desde que pelo menos uma dessas regras de encaminhamento esteja íntegra, os endereços IP de todas as regras de encaminhamento íntegras serão usados ​​para responder a consultas sobre esse nome.
  • ROUTING_POLICY_BACKUP_DATA_TYPE : para políticas de roteamento FAILOVER , o tipo de política de roteamento que os dados de backup usam. Deve ser GEO .
  • ROUTING_POLICY_BACKUP_DATA : o destino de backup a ser usado para políticas de roteamento FAILOVER . Esses destinos são usados ​​quando todas as regras de encaminhamento especificadas em --routing-policy-primary-data não estão íntegras. O Cloud DNS oferece suporte apenas a destinos de backup baseados em localização geográfica. O formato deste campo corresponde ao de --routing-policy-data quando --routing-policy-type = 'GEO' , como asia-east1=forwarding-rule-2 .
  • BACKUP_DATA_TRICKLE_RATIO : a proporção de tráfego a ser enviado aos destinos de backup, mesmo quando os primários estão íntegros. A proporção deve estar entre 0 e 1, como 0.1 . O padrão é 0 .
  • --enable-geo-fencing : para políticas de roteamento GEO , determina se o tráfego deve ser transferido entre regiões caso todos os endpoints de uma região não estejam íntegros. Quando definido, o Cloud DNS sempre direciona as consultas para a região mais próxima, mesmo que todos os endpoints dessa região não estejam íntegros. Use --no-enable-geo-fencing para desativar o geofencing. Quando não definido, o Cloud DNS direciona as consultas para a região mais próxima quando todos os endpoints de uma região não estiverem íntegros. O padrão é false .
  • --enable-health-checking : sinalizador para habilitar a verificação de integridade. Ao usar este sinalizador, você deve fornecer o nome da regra de encaminhamento em vez do endereço IP no campo --routing-policy-data .

API

Use o método resourceRecordSets.create .

WRR

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
"routingPolicy": {
  "wrr": {
    "items": [
      {
        "weight": WEIGHT,
        "healthCheckedTargets": {
          "internalLoadBalancers": [
            {
              "loadBalancerType": "LOAD_BALANCER_TYPE"
              "ipAddress": "IP_ADDRESS"
              "port" : "PORT_NUMBER"
              "ipProtocol": "IP_PROTOCOL"
              "networkUrl": "NETWORK_URL"
              "project": "PROJECT_ID"
              "region": "REGION"
            }
          ]
        }
      },
      {
        "weight": WEIGHT,
        "healthCheckedTargets": {
          "internalLoadBalancers": [
            {
              "loadBalancerType": "LOAD_BALANCER_TYPE"
              "ipAddress": "IP_ADDRESS"
              "port" : "PORT_NUMBER"
              "ipProtocol": "IP_PROTOCOL"
              "networkUrl": "NETWORK_URL"
              "project": "PROJECT_ID"
              "region": "REGION"
            }
          ]
        }
      },
    ]
  }
}
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone ; o nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo
  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30
  • WEIGHT : para políticas WRR , uma lista delimitada por ponto e vírgula no formato ${weight_percent}=${rrdatas} , como .8=10.128.1.1;.2=10.130.1.1 ; especifique o peso como qualquer decimal não negativo. Observação: você deve especificar o peso como um número não negativo. A proporção do tráfego roteado para o destino é calculada a partir da proporção do peso individual sobre o total de todos os pesos.
  • LOAD_BALANCER_TYPE : o tipo de balanceador de carga, como regionalL4ilb , globalL7ilb ou regionalL7ilb . Esta configuração é opcional.
  • IP_ADDRESS : o endereço IP que a regra de encaminhamento atende
  • PORT_NUMBER : o número da porta
  • IP_PROTOCOL : define o protocolo usado para a verificação de integridade; as opções válidas são tcp e udp
  • NETWORK_URL : a URL da rede à qual esta regra de encaminhamento se aplica
  • REGION : a região na qual você criou a regra de encaminhamento

Geolocalização

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
          "name": "RRSET_NAME",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "routingPolicy": {
        "geo": {
            "items": [
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCER_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT_ID"
                    "region": "REGION"
                    }
                  ]
                }
            },
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCING_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT_ID"
                    "region": "REGION"
                    }
                  ]
                }
            },
            }
        ]

      }
  }
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone ; o nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo
  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30
  • LOCATION : para políticas GEO , a geolocalização para a qual você precisa criar a política, como asia-east1
  • LOAD_BALANCER_TYPE : o tipo de balanceador de carga, como regionalL4ilb , globalL7ilb ou regionalL7ilb . Esta configuração é opcional.
  • IP_ADDRESS : o endereço IP que a regra de encaminhamento atende
  • PORT_NUMBER : o número da porta do balanceador de carga interno
  • IP_PROTOCOL : define o protocolo usado para a verificação de integridade; as opções válidas são tcp e udp
  • NETWORK_URL : a URL da rede à qual esta regra de encaminhamento se aplica
  • REGION : a região na qual você criou a regra de encaminhamento

Failover

Na opção de failover, o Cloud DNS oferece suporte apenas a políticas GEO .

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
"routingPolicy": {
  "primaryBackup": {
    "trickleTraffic": TRICKLE_TRAFFIC,
    "primaryTargets": {
      "internalLoadBalancers": [
        {
          "ipAddress": "IP_ADDRESS"
          "ipProtocol": "IP_PROTOCOL"
          "loadBalancerType": "LOAD_BALANCER_TYPE"
          "networkUrl": "NETWORK_URL"
          "port": "PORT_NUMBER"
          "project": "PROJECT_ID"
          "region": "REGION"
        }
      ]
    },
    "backupGeoTargets": {
      "enableFencing": ENABLE_FENCING,
      "items": [
        {
          "location": "LOCATION",
          "rrdatas": [
            "RRDATA"
          ]
        },
        {
          "location": "LOCATION",
          "rrdatas": [
            "RRDATA"
          ]
        }
      ]
    }
  },
}
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto
  • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone ; o nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo
  • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
  • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30
  • TRICKLE_TRAFFIC : a proporção de tráfego a ser enviado aos destinos de backup, mesmo quando os primários estão saudáveis; a proporção deve estar entre 0 e 1, como 0.1
  • IP_ADDRESS : o endereço IP que a regra de encaminhamento atende
  • PORT_NUMBER : o número da porta
  • IP_PROTOCOL : define o protocolo usado para a verificação de integridade; as opções válidas são tcp e udp
  • NETWORK_URL : a URL da rede à qual esta regra de encaminhamento se aplica
  • PORT_NUMBER : o número da porta do balanceador de carga interno
  • REGION : a região na qual você criou a regra de encaminhamento
  • ENABLE_FENCING : para políticas de roteamento GEO , determina se o tráfego deve realizar failover entre regiões caso todos os endpoints de uma região não estejam íntegros. Quando definido, o Cloud DNS sempre direciona as consultas para a região mais próxima, mesmo que todos os endpoints dessa região não estejam íntegros. Quando não definido, o Cloud DNS direciona as consultas para a região mais próxima quando todos os endpoints de uma região não estiverem íntegros. O padrão é false .
  • LOCATION : para políticas GEO , a geolocalização para a qual você precisa criar a política, como asia-east1
  • WEIGHT : para políticas WRR , uma lista delimitada por ponto e vírgula no formato ${weight_percent}=${rrdatas} , como .8=10.128.1.1;.2=10.130.1.1 ; especifique o peso como qualquer decimal não negativo
  • RRDATA : um valor arbitrário associado ao conjunto de registros de recursos, como 198.51.100.5 ; você também pode inserir vários valores, rrdata1 rrdata2 rrdata3 , como 198.51.100.1 203.0.113.1 ...

Crie políticas de roteamento DNS para zonas públicas

Para criar políticas de roteamento DNS para zonas públicas, siga estas etapas.

Console

Iniciar a configuração

  1. No Google Cloud console, acesse a página Zonas de DNS na nuvem .

    Ir para zonas DNS na nuvem

  2. Clique no nome da zona gerenciada à qual você deseja adicionar o registro.

  3. Na página Detalhes da zona , clique em Adicionar com política de roteamento .

Dados básicos

  1. Opcional: Na página Criar conjunto de registros com política de roteamento , em Nome DNS , insira um subdomínio do nome DNS pré-preenchido — por exemplo, mail . O ponto final é adicionado automaticamente.

  2. Para Tipo de registro de recurso , selecione uma opção.

  3. Para TTL , insira um valor numérico para o tempo de vida do registro de recurso, que é o tempo durante o qual ele pode ser armazenado em cache. Este valor deve ser um número inteiro positivo.

  4. Opcional: Para a unidade TTL , selecione a unidade de tempo — por exemplo, minutes . O padrão é definido como minutes .

  5. Clique em Avançar .

Tipo de política de roteamento

  1. Para Política de roteamento , selecione Round robin ponderado , Geolocalização ou Failover .
  2. Clique em Avançar .

Dados de política de roteamento

WRR

  1. Para Peso , insira o peso correspondente a esta subseção dos dados do registro de recurso (RR).

    Este peso deve ser um número não negativo de 0,0 a 1000,0. A proporção do tráfego roteado para o destino é calculada a partir da razão entre o peso individual e o total de todos os pesos. Por exemplo, se o destino A tiver um peso de 25 e o destino B tiver um peso de 75, com um peso total de 100, o Cloud DNS roteia 25/100 = 0,25 (25%) do tráfego total para o destino A e 75/100 = 0,75 (75%) para o destino B.

  2. Na seção Endereços IP externos , faça o seguinte:

    1. Para endereço IP , insira um endereço IP externo.
    2. Opcional: Para selecionar um endereço IP externo de um Google Cloudrecurso no projeto atual, clique em Selecionar .
    3. Para habilitar a verificação de integridade, selecione Verificação de integridade 1 .
    4. Opcional: para adicionar outro endereço IP externo, clique em Adicionar endereço IP .
    5. Clique em Concluído .
  3. Se você habilitou a verificação de integridade na etapa anterior, na lista Verificação de integridade , selecione uma verificação de integridade ou crie uma nova seguindo estas etapas.

    1. Clique em Criar uma nova verificação de integridade .
    2. Em Nome , insira um nome para a verificação de integridade.
    3. Opcional: Em Descrição , insira uma descrição para a verificação de integridade.
    4. Para regiões de origem , selecione quaisquer três Google Cloudregiões das quais você deseja enviar sondas de verificação de integridade.
    5. Opcional: Na lista Protocolo , selecione um protocolo.
    6. Para Porta , insira um número de porta.

      O protocolo e o número da porta determinam como o Cloud DNS envia as verificações de integridade.

    7. Opcional: para configurar a verificação de integridade baseada em conteúdo, para Resposta , forneça uma sequência de resposta esperada, cada uma com até 1.024 caracteres ASCII (byte único) de comprimento.

    8. Opcional: para ativar os logs de verificação de integridade, em Logs , selecione Ativado .

    9. Em "Intervalo de verificação" , insira o intervalo de tempo em segundos entre as verificações de integridade. O intervalo de verificação é o tempo entre o início de uma verificação emitida por um prober e o início da próxima verificação emitida pelo mesmo prober.

    10. Para Tempo limite , insira a quantidade de tempo em segundos que você desejaGoogle Cloud para esperar uma resposta a uma investigação.

    11. Para Limite saudável , insira o número de resultados de sondagem bem-sucedidos consecutivos para que um backend seja considerado saudável.

    12. Para Limite não íntegro , insira o número de resultados de sondagem com falha consecutivos para que um backend seja considerado não íntegro.

    13. Clique em Criar .

  4. Clique em Avançar

Geolocalização

  1. Para Geofencing , selecione Desativado ou Ativado . Habilitar o Geofencing restringe o tráfego a uma geolocalização específica, mesmo que todos os endpoints nessa geolocalização estejam com problemas.
  2. Para Região de origem , selecione uma região válida Google Cloudregião de origem.
  3. Na seção Endereços IP externos , faça o seguinte:
    1. Para endereço IP , insira um endereço IP externo.
    2. Opcional: Para selecionar um endereço IP externo de um Google Cloudrecurso no projeto atual, clique em Selecionar .
    3. Para habilitar a verificação de integridade, selecione Verificação de integridade 1 .
    4. Opcional: para adicionar outro endereço IP externo, clique em Adicionar endereço IP .
    5. Clique em Concluído .
  4. Se você habilitou a verificação de integridade na etapa anterior, na lista Verificação de integridade , selecione uma verificação de integridade ou crie uma nova seguindo estas etapas.

    1. Clique em Criar uma nova verificação de integridade .
    2. Em Nome , insira um nome para a verificação de integridade.
    3. Opcional: Em Descrição , insira uma descrição para a verificação de integridade.
    4. Para regiões de origem , selecione quaisquer três Google Cloudregiões das quais você deseja enviar sondas de verificação de integridade.
    5. Opcional: Na lista Protocolo , selecione um protocolo.
    6. Para Porta , insira um número de porta.

      O protocolo e o número da porta determinam como o Cloud DNS envia as verificações de integridade.

    7. Opcional: para configurar a verificação de integridade baseada em conteúdo, para Resposta , forneça uma sequência de resposta esperada, cada uma com até 1.024 caracteres ASCII (byte único) de comprimento.

    8. Opcional: para ativar os logs de verificação de integridade, em Logs , selecione Ativado .

    9. Em "Intervalo de verificação" , insira o intervalo de tempo em segundos entre as verificações de integridade. O intervalo de verificação é o tempo entre o início de uma verificação emitida por um prober e o início da próxima verificação emitida pelo mesmo prober.

    10. Para Tempo limite , insira a quantidade de tempo em segundos que você desejaGoogle Cloud para esperar uma resposta a uma investigação.

    11. Para Limite saudável , insira o número de resultados de sondagem bem-sucedidos consecutivos para que um backend seja considerado saudável.

    12. Para Limite não íntegro , insira o número de resultados de sondagem com falha consecutivos para que um backend seja considerado não íntegro.

    13. Clique em Criar .

  5. Clique em Avançar

Failover

  1. Na seção Destino do endereço IP externo primário , para Endereço IP , insira o endereço IP externo primário cuja integridade foi verificada para este registro.
  2. Opcional: Para selecionar um endereço IP externo primário de um Google Cloudrecurso no projeto atual, clique em Selecionar .
  3. Opcional: Para adicionar outro endereço IP externo primário, clique em Adicionar destino . Quando o DNSSEC estiver habilitado, você poderá adicionar apenas um endereço IP externo primário de destino.
  4. Na seção Política de geolocalização de backup , faça o seguinte:
    1. Para Geofencing , selecione Desativado ou Ativado . Habilitar o Geofencing restringe o tráfego a uma geolocalização específica, mesmo que todos os endpoints nessa geolocalização estejam com problemas.
    2. Para Região de origem , selecione uma região válida Google Cloudregião de origem.
    3. Na seção Endereços IP externos , faça o seguinte:
      1. Para endereço IP , insira um endereço IP externo.
      2. Opcional: Para selecionar um endereço IP externo de um Google Cloudrecurso no projeto atual, clique em Selecionar .
      3. Para habilitar a verificação de integridade, selecione Verificação de integridade 1 .
      4. Opcional: para adicionar outro endereço IP externo, clique em Adicionar endereço IP .
    4. Clique em Concluído .
  5. Se você habilitou a verificação de integridade na etapa anterior, na lista Verificação de integridade , selecione uma verificação de integridade.

    Se você não tiver uma verificação de integridade existente, crie uma nova.

    1. Clique em Criar uma nova verificação de integridade .
    2. Em Nome , insira um nome para a verificação de integridade.
    3. Opcional: Em Descrição , insira uma descrição para a verificação de integridade.
    4. Para regiões de origem , selecione quaisquer três Google Cloudregiões das quais você deseja enviar sondas de verificação de integridade.
    5. Opcional: Na lista Protocolo , selecione um protocolo.
    6. Para Porta , insira um número de porta.

    O protocolo e o número da porta determinam como o Cloud DNS envia as verificações de integridade.

    1. Opcional: para configurar a verificação de integridade baseada em conteúdo, para Resposta , forneça uma sequência de resposta esperada, cada uma com até 1.024 caracteres ASCII (byte único) de comprimento.
    2. Opcional: para ativar os logs de verificação de integridade, em Logs , selecione Ativado .
    3. Em "Intervalo de verificação" , insira o intervalo de tempo em segundos entre as verificações de integridade. O intervalo de verificação é o tempo entre o início de uma verificação emitida por um prober e o início da próxima verificação emitida pelo mesmo prober.
    4. Para Tempo limite , insira a quantidade de tempo em segundos que você desejaGoogle Cloud para esperar uma resposta a uma investigação.
    5. Para Limite saudável , insira o número de resultados de sondagem bem-sucedidos consecutivos para que um backend seja considerado saudável.
    6. Para Limite não íntegro , insira o número de resultados de sondagem com falha consecutivos para que um backend seja considerado não íntegro.
    7. Clique em Criar .
  6. No campo Tráfego residual (%) , insira a porcentagem do tráfego enviado aos destinos de failover, independentemente do status da verificação de integridade dos destinos primários.

  7. Na lista Verificação de integridade , selecione uma verificação de integridade.

  8. Clique em Avançar .

Revisar e criar

  1. Clique em Revisar .
  2. Revise seu conjunto de registros do Cloud DNS com a configuração da política de roteamento.
  3. Clique em Criar .

gcloud

Para criar políticas de roteamento DNS para zonas públicas, siga estas etapas.

  1. Para habilitar a verificação de integridade em políticas de roteamento DNS para zonas públicas, crie uma verificação de integridade para endpoints externos.

    Execute o comando gcloud beta compute health-checks create :

    gcloud beta compute health-checks create PROTOCOL HEALTH_CHECK_NAME \
        --global \
        --check-interval=CHECK_INTERVAL \
        --source-regions=SOURCE_REGIONS \
        --port=PORT_NUMBER
    

    Substitua o seguinte:

    • PROTOCOL : o protocolo usado para a verificação de integridade. As opções válidas são http , https , ssl ou tcp .
    • HEALTH_CHECK_NAME : o nome da verificação de integridade.
    • CHECK_INTERVAL : o tempo decorrido desde o início da conexão de um sistema de verificação de integridade até o início do próximo. As unidades são segundos. O valor CHECK_INTERVAL deve estar entre 30 e 300 segundos.
    • SOURCE_REGIONS : uma lista separada por vírgulas deGoogle Cloud regiões das quais você deseja enviar sondas de verificação de integridade.
    • PORT_NUMBER : o número da porta para solicitações de verificação de integridade.
  2. Para criar um ResourceRecordSet e aplicar uma política de roteamento a ele, execute o comando gcloud beta dns record-sets create .

    WRR

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=WRR \
        --routing-policy-data=ROUTING_POLICY_DATA \
        --health-check=HEALTH_CHECK_NAME
    

    Substitua o seguinte:

    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30 .
    • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
    • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
    • ROUTING_POLICY_DATA : os dados da política de roteamento. Insira uma lista delimitada por ponto e vírgula no formato ${weight_percent}:${rrdatas} , como .8=203.0.113.1;.2=198.51.100.1 . Especifique o peso como um decimal não negativo. O peso deve ser um número não negativo de 0 a 1000 .
    • HEALTH_CHECK_NAME : o nome da verificação de integridade que você criou na etapa anterior.

    Geolocalização

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=GEO \
        --routing-policy-data=ROUTING_POLICY_DATA \
        --health-check=HEALTH_CHECK_NAME
    

    Substitua o seguinte:

    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30 .
    • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
    • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
    • ROUTING_POLICY_DATA : os dados da política de roteamento. Insira uma lista delimitada por ponto e vírgula no formato ${region}=${IP_address},${IP_address} , como asia-east1=198.51.100.1;us-central1=203.0.113.1, 203.0.113.2 . Você pode especificar vários endereços IP para uma única região adicionando endereços IP separados por vírgula. Nomes de regras de encaminhamento são valores aceitáveis ​​e resultam em verificação de integridade.
    • HEALTH_CHECK_NAME : o nome da verificação de integridade que você criou na etapa anterior.

    Geolocalização com geocerca

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=GEO \
        --routing-policy-data=ROUTING_POLICY_DATA \
        --health-check=HEALTH_CHECK_NAME \
        --enable-geo-fencing
    

    Substitua o seguinte:

    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30 .
    • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
    • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
    • ROUTING_POLICY_DATA : os dados da política de roteamento. Insira uma lista delimitada por ponto e vírgula no formato ${region}=${IP_address} , como asia-east1=198.51.100.1;us-central1=203.0.113.1 . Você pode especificar vários endereços IP para uma única região adicionando endereços IP separados por vírgula. Nomes de regras de encaminhamento são valores aceitáveis ​​e resultam em verificação de integridade.
    • HEALTH_CHECK_NAME : o nome da verificação de integridade que você criou na etapa anterior.

      --enable-geo-fencing : para políticas de roteamento GEO , determina se o tráfego deve ser transferido entre regiões caso todos os endpoints de uma região não estejam íntegros. Quando definido, o Cloud DNS sempre direciona as consultas para a região mais próxima, mesmo que todos os endpoints dessa região não estejam íntegros. Use --no-enable-geo-fencing para desativar o geofencing. Quando não definido, o Cloud DNS direciona as consultas para a região mais próxima quando todos os endpoints de uma região não estiverem íntegros. O padrão é false .

    Failover

    gcloud beta dns record-sets create RRSET_NAME \
        --ttl=TTL \
        --type=RRSET_TYPE \
        --zone=MANAGED_ZONE \
        --routing-policy-type=FAILOVER \
        --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
        --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
        --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
        --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
        --health-check=HEALTH_CHECK_NAME
    

    Substitua o seguinte:

    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • TTL : o TTL, em segundos, no qual o resolvedor armazena em cache este ResourceRecordSet , como 30
    • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet , como A
    • MANAGED_ZONE : a zona gerenciada à qual este ResourceRecordSet está afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como sufixo.
    • ROUTING_POLICY_PRIMARY_DATA : O destino principal a ser usado para políticas de roteamento FAILOVER . Esse alvo deve ser uma referência a uma ou mais regras de encaminhamento, como forwarding-rule-1 . Desde que pelo menos uma dessas regras de encaminhamento seja saudável, os endereços IP de todas as regras de encaminhamento saudáveis são usados para responder às consultas para esse nome.
    • ROUTING_POLICY_BACKUP_DATA : O destino de backup a ser usado para políticas de roteamento FAILOVER . Esses alvos são usados quando todas as regras de encaminhamento especificadas em --routing-policy-primary-data não são saudáveis. O Cloud DNS suporta apenas alvos de backup baseados em GEO. O formato deste campo corresponde ao de --routing-policy-data quando --routing-policy-type = 'GEO' , como asia-east1=forwarding-rule-2 .
    • ROUTING_POLICY_BACKUP_DATA_TYPE : Para políticas de roteamento FAILOVER , o tipo de política de roteamento que os dados de backup usam. Isso deve ser GEO .
    • BACKUP_DATA_TRICKLE_RATIO : a proporção de tráfego para enviar para as metas de backup, mesmo quando as primárias são saudáveis. A proporção deve estar entre 0 e 1, como 0.1 . O padrão está definido como 0 .
    • HEALTH_CHECK_NAME : o nome da verificação de saúde que você criou na etapa anterior.

API

  1. Para permitir a verificação de saúde em políticas de roteamento de DNS para zonas públicas, use o método healthChecks.insert .

  2. Para criar um ResourceRecordSet e aplicar uma política de roteamento a ele, use o método resourceRecordSets.create .

    WRR

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "wrr": {
                    "items": [{
                        "weight": WEIGHT,
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA"]
                        }
                    }, {
                        "weight": 1.0,
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA", "RRDATA"]
                        }
                    }]
                }
            }
        }
      

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto
    • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como service-zone ; O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo.
    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • TTL : O TTL, em segundos, no qual o resolvedor armazena esse ResourceRecordSet , como 30 .
    • RRSET_TYPE : O tipo de registro de recursos deste ResourceRecordSet , como A .
    • HEALTH_CHECK_NAME : o nome da verificação de saúde.
    • WEIGHT : para políticas WRR , uma lista delimitada semicolon no formato ${weight_percent}=${rrdatas} , como .8=10.128.1.1;.2=10.130.1.1 ; Especifique o peso como qualquer decimal não negativo. Nota: você deve especificar o peso como um número não negativo. A proporção de tráfego roteada para o alvo é calculada a partir da proporção de peso individual em relação ao total em todos os pesos.
    • RRDATA : um valor arbitrário associado ao conjunto de registros de recursos, como 198.51.100.5 ; Você também pode inserir vários valores, rrdata1 , rrdata2 , rrdata3 , como 198.51.100.1 , 203.0.113.1 .

    Geolocalização

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "geo": {
              "enableFencing": ENABLE_FENCING
                    "items": [{
                        "location": "LOCATION",
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA"]
                        }
                    }, {
                        "location": "LOCATION",
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA", "RRDATA"]
                        }
                    }]
                }
            }
        }
      

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto
    • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como service-zone ; O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo.
    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • RRSET_TYPE : O tipo de registro de recursos deste ResourceRecordSet , como A .
    • TTL : O TTL, em segundos, no qual o resolvedor armazena esse ResourceRecordSet , como 30 .
    • HEALTH_CHECK_NAME : o nome da verificação de saúde.
    • ENABLE_FENCING : Para políticas de roteamento GEO , isso determina se o tráfego deve failover entre regiões se todos os pontos de extremidade em uma região não são saudáveis. Quando definido, o Cloud DNS sempre direciona consultas para a região mais próxima, mesmo que todos os pontos de extremidade nessa região não sejam saudáveis. Quando não está definido, o Cloud DNS direciona as consultas para a próxima região mais próxima, quando todos os terminais de uma região não são saudáveis. As opções válidas são true e false . A configuração padrão para isso é false .
    • LOCATION : para políticas GEO , a geolocalização para a qual você precisa criar a política, como asia-east1 .
    • RRDATA : um valor arbitrário associado ao conjunto de registros de recursos, como 198.51.100.5 ; Você também pode inserir vários valores, rrdata1 , rrdata2 , rrdata3 , como 198.51.100.1 , 203.0.113.1 .

    Failover

    Na opção de failover, o Cloud DNS suporta apenas políticas GEO .

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "primaryBackup": {
                    "trickleTraffic": TRICKLE_TRAFFIC,
                    "primaryTargets": {
                        "rrdata": ["RRDATA"]
                    }
                    "backupGeoTargets": {
                        "enableFencing": ENABLE_FENCING,
                        "items": [{
                            "location": "LOCATION",
                            "rrdatas": ["RRDATA]
                        }, {
                            "location": "LOCATION",
                            "rrdatas": ["RRDATA", "RRDATA"]
                        }]
                    }
                }
            }
        }
      

    Substitua o seguinte:

    • PROJECT_ID : o ID do projeto
    • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como service-zone ; O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo.
    • RRSET_NAME : o nome DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com .
    • RRSET_TYPE : O tipo de registro de recursos deste ResourceRecordSet , como A .
    • TTL : O TTL, em segundos, no qual o resolvedor armazena esse ResourceRecordSet , como 30 .
    • HEALTH_CHECK_NAME : o nome da verificação de saúde.
    • TRICKLE_TRAFFIC : a proporção de tráfego para enviar para os alvos de backup, mesmo quando as primárias são saudáveis; A proporção deve estar entre 0 e 1, como 0.1 .
    • RRDATA : um valor arbitrário associado ao conjunto de registros de recursos, como 198.51.100.5 ; Você também pode inserir vários valores, rrdata1 , rrdata2 , rrdata3 , como 198.51.100.1 , 203.0.113.1 .
    • ENABLE_FENCING : Para políticas de roteamento GEO , isso determina se o tráfego deve failover entre as regiões se todos os pontos de extremidade em uma região não são saudáveis. Quando definido, o Cloud DNS sempre direciona consultas para a região mais próxima, mesmo que todos os pontos de extremidade nessa região não sejam saudáveis. Quando não está definido, o Cloud DNS direciona as consultas para a próxima região mais próxima, quando todos os terminais de uma região não são saudáveis. A configuração padrão para isso é false .
    • LOCATION : para políticas GEO , a geolocalização para a qual você precisa criar a política, como asia-east1 .

Atualizar políticas de roteamento DNS

Para atualizar a política de roteamento de um conjunto de recursos, siga estas etapas.

Console

  1. No Google Cloud console, acesse a página Zonas de DNS na nuvem .

    Ir para zonas DNS na nuvem

  2. Clique na zona para a qual você deseja atualizar a política de roteamento do conjunto de registros de recursos.

  3. Na página Detalhes da zona , ao lado do conjunto de registros de recursos que você deseja atualizar, clique em Editar .

  4. Depois de fazer as atualizações, clique em Salvar .

gcloud

Execute o comando gcloud dns record-sets update :

WRR

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=WRR \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Geolocalização

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-health-checking

Geolocalização com geocerca

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=GEO \
  --routing-policy-data=ROUTING_POLICY_DATA \
  --enable-geo-fencing
  --enable-health-checking

Failover

gcloud dns record-sets update RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=FAILOVER \
  --enable-geo-fencing \
  --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
  --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
  --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
  --enable-health-checking

Substitua o seguinte:

  • RRSET_NAME : o nome do DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com
  • TTL : O TTL, em segundos, no qual o resolvedor armazena em cache esse ResourceRecordSet , como 30
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet A

    Para obter uma lista de tipos de registro suportados, consulte Selecionar tipos de registro de recursos .

  • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como service-zone . O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo

  • ROUTING_POLICY_TYPE : O tipo de política de roteamento.

    Digite WRR para robin redondo ponderado, GEO para localização geográfica ou FAILOVER para políticas de failover. Você não pode modificar esse campo depois que uma política possui um tipo escolhido; Você só pode excluir a política e adicionar uma nova política com o tipo diferente.

  • ROUTING_POLICY_DATA : Os dados da política de roteamento

    • Para --routing-policy-type=WRR , insira uma lista delimitada semicolon no formato ${weight_percent}:${rrdatas} , como .8=203.0.113.1;.2=198.51.100.1 . Especifique o peso como um decimal não negativo. A proporção de tráfego roteada para o alvo é calculada a partir da proporção de peso individual em relação ao total em todos os pesos. Os nomes de regras de encaminhamento são valores aceitáveis e resultam em verificação de saúde.
    • Para --routing-policy-type=GEO , insira uma lista delimitada por semicolon no formato ${region}=${IP_address} , como asia-east1=198.51.100.1;us-central1=203.0.113.1 . Você pode especificar vários endereços IP para uma única região adicionando endereços IP separados por uma vírgula. Os nomes de regras de encaminhamento são valores aceitáveis e resultam em verificação de saúde.
    • Para --routing-policy-type=FAILOVER , digite o nome da regra de encaminhamento que você criou no formato ${region}=${Forwarding rule name} .

  • --enable-geo-fencing : para políticas de roteamento GEO , isso determina se o tráfego deve falhar nas regiões se todos os pontos de extremidade em uma região não forem saudáveis. Quando definido, o Cloud DNS sempre direciona consultas para a região mais próxima, mesmo que todos os pontos de extremidade nessa região não sejam saudáveis. Use --no-enable-geo-fencing para desativar a geofencing. Quando não é definido, todos os pontos de extremidade em uma região são prejudiciais e o Cloud DNS direciona consultas para a próxima região mais próxima. A configuração padrão para isso é false .

  • ROUTING_POLICY_PRIMARY_DATA : O destino principal a ser usado para políticas de roteamento FAILOVER . Esse alvo deve ser uma referência a uma ou mais regras de encaminhamento, como forwarding-rule-1 . Desde que pelo menos uma dessas regras de encaminhamento seja saudável, os endereços IP de todas as regras de encaminhamento saudáveis são usados para responder às consultas para esse nome.

  • ROUTING_POLICY_BACKUP_DATA : O destino de backup a ser usado para políticas de roteamento FAILOVER . Esses alvos são usados quando todas as regras de encaminhamento especificadas em --routing-policy-primary-data não são saudáveis. O Cloud DNS suporta apenas alvos de backup baseados em GEO. O formato deste campo corresponde ao de --routing-policy-data quando --routing-policy-type = 'GEO' , como asia-east1=forwarding-rule-2 .

  • BACKUP_DATA_TRICKLE_RATIO : a proporção de tráfego para enviar para as metas de backup, mesmo quando as primárias são saudáveis. A proporção deve estar entre 0 e 1, como 0.1 . O padrão está definido como 0.

  • --enable-health-checking : permite a verificação de saúde das regras de encaminhamento que são fornecidas como rrdata para --routing-policy-data .

API

Use o método de resourceRecordSets.patch . Especifique apenas um de rrset.rrdatas ou rrset.routingPolicy . Se especificar routingPolicy , você deve especificar o novo campo routingPolicy em sua totalidade.

WRR

Para políticas WRR , use o seguinte método:

PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
      "name": "RRSET_NAME.",
      "type": "RRSET_TYPE",
      "ttl": TTL,
      "routingPolicy": {
        "wrrPolicy": {
            "item": [
                  {
                      "weight": WEIGHT,
                      "rrdatas": ["RRDATA"]
                  },
                  {
                      "weight": WEIGHT,
                      "rrdatas": ["RRDATA"]
                  }
            ],
          }
    }
}

Geolocalização

Use o seguinte método:

PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
          "name": "RRSET_NAME",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "routingPolicy": {
        "geo": {
            "items": [
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCER_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT"
                    "region": "REGION"
                    }
                  ]
                }
            },
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCING_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT"
                    "region": "REGION"
                    }
                  ]
                }
            },
            }
        ]

      }
  }
}

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto
  • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como service-zone ; O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo
  • RRSET_NAME : o nome do DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet A
  • TTL : O TTL, em segundos, no qual o resolvedor armazena em cache esse ResourceRecordSet , como 30
  • TRICKLE_TRAFFIC : a proporção de tráfego para enviar para os alvos de backup, mesmo quando as primárias são saudáveis; A proporção deve estar entre 0 e 1, como 0.1
  • ENABLE_FENCING : Para políticas de roteamento GEO , isso determina se o tráfego deve failover entre regiões se todos os pontos de extremidade em uma região não são saudáveis. Quando definido, o Cloud DNS sempre direciona consultas para a região mais próxima, mesmo que todos os pontos de extremidade nessa região não sejam saudáveis. Quando não está definido, o Cloud DNS direciona as consultas para a próxima região mais próxima, quando todos os terminais de uma região não são saudáveis. Isso padrão é false .
  • LOCATION : para políticas GEO , a geolocalização para a qual você precisa atualizar a política, como asia-east1
  • WEIGHT : para políticas WRR , uma lista delimitada semicolon no formato ${weight_percent}=${rrdatas} , como .8=10.128.1.1;.2=10.130.1.1 ; especifique o peso como qualquer decimal não negativo
  • RRDATA : um valor arbitrário associado ao conjunto de registros de recursos, como 198.51.100.5 ; Você também pode inserir vários valores, rrdata1 rrdata2 rrdata3 , como 198.51.100.1 203.0.113.1 ...
  • LOAD_BALANCER_TYPE : o tipo de balanceador de carga, como regionalL4ilb , globalL7ilb ou regionalL7ilb . Essa configuração é opcional.
  • IP_ADDRESS : o endereço IP que a regra de encaminhamento serve
  • PORT_NUMBER : o número da porta
  • IP_PROTOCOL : define o protocolo usado para a verificação de saúde; As opções válidas são tcp e udp
  • NETWORK_URL : o URL da rede ao qual esta regra de encaminhamento se aplica
  • REGION : a região em que você criou a regra de encaminhamento

Excluir políticas de roteamento DNS

Para excluir uma política de roteamento, você deve excluir o conjunto de registros de recursos que contém a política de roteamento. Para fazer isso, siga estas etapas.

Console

  1. No Google Cloud console, acesse a página Zonas de DNS na nuvem .

    Ir para zonas DNS na nuvem

  2. Clique na zona para a qual você deseja excluir o conjunto de registros de recursos.

  3. Na página Detalhes da zona , ao lado do nome do DNS do conjunto de registros de recursos que você deseja excluir, selecione a caixa de seleção.

  4. Clique em Excluir conjuntos de registros .

gcloud

Execute o comando gcloud dns record-sets delete :

gcloud dns record-sets delete RRSET_NAME \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \

Substitua o seguinte:

  • RRSET_NAME : o nome do DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como service.example.com
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet A

    Para obter uma lista de tipos de registro suportados, consulte Selecionando tipos de registro de recursos .

  • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como service-zone ; O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo

API

Use o método de resourceRecordSets.delete :

DELETE https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE

Substitua o seguinte:

  • PROJECT_ID : o ID do projeto
  • MANAGED_ZONE : a zona gerenciada com a qual este ResourceRecordSet é afiliado, como my-zone-name ; O nome deste ResourceRecordSet deve ter o nome DNS da zona gerenciada como seu sufixo
  • RRSET_NAME : o nome do DNS que corresponde às consultas recebidas com o nome DNS desta zona como sufixo, como test.example.com
  • RRSET_TYPE : o tipo de registro de recurso deste ResourceRecordSet A

O que vem a seguir