Gérer les règles de routage et les vérifications d'état DNS

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les règles de routage DNS orientent le trafic en fonction de la requête (par exemple, round robin ou géolocalisation). Vous pouvez configurer des règles de routage en créant des ResourceRecordSets spécials (au sens de la collection) avec des valeurs de règle de routage spéciales.

Cette page fournit des informations sur la création, la modification et la suppression de règles de routage DNS, ainsi que sur l'activation de la vérification de l'état à l'aide de Cloud DNS. Avant d'utiliser cette page, familiarisez-vous avec la présentation des règles DNS.

Pour utiliser les règles de routage DNS, créez un ResourceRecordSet et choisissez l'une des règles de routage DNS suivantes à appliquer au ResourceRecordSet :

  • Règle de routage des round robin pondéré (WRR): utilisez WRR pour spécifier différentes pondérations par ResourceRecordSet pour le nom DNS. Les règles de routage DNS garantissent que le trafic est distribué en fonction des pondérations configurées. Il n'est pas possible de combiner une règle de routage WRR avec une règle de routage de géolocalisation.

  • Règle de routage de géolocalisation (GEO): utilisez la fonctionnalité GEO pour spécifier les zones géographiques sources et fournir des réponses correspondant à ces zones géographiques. La règle de routage de la géolocalisation applique une correspondance la plus proche pour l'emplacement source lorsque la source du trafic ne correspond exactement à aucun élément de la règle.

    L'outil GEO mappe la source des DNS publics et privés de la manière suivante:

    Lorsque les systèmes sur site envoient des requêtes DNS à Cloud DNS via le point d'entrée d'une règle de serveur entrant, Cloud DNS définit l'emplacement source comme la région contenant le tunnel Cloud VPN ou le rattachement Cloud Interconnect (VLAN) qui a traité le paquet entrant. L'emplacement source est défini de cette manière, quelle que soit la région de l'adresse IP interne qui sert de point d'entrée pour la règle de serveur entrant.

    Par exemple, si un système sur site envoie une requête au point d'entrée d'une règle de serveur entrant dont l'adresse IP se trouve dans la région us-west1, mais que le paquet est traité par un tunnel Cloud VPN ou un rattachement Cloud Interconnect (VLAN) situé dans la région us-east1, la région source est us-east1, car il s'agit de la région dans laquelle le paquet entrant a été traité.

  • Règle de routage géographique délimité: cette fonctionnalité permet de restreindre le trafic à une zone géographique spécifique, même si tous les points de terminaison de cette zone ne sont pas opérationnels. Pour en savoir plus sur le gardiennage virtuel, consultez la page Règles de routage géorecensées.

  • Règle de routage du basculement: utilisez le basculement pour configurer des sauvegardes actives. Pour en savoir plus, consultez Règles de routage du basculement.

Les règles de routage DNS acceptent également plusieurs adresses IP pour chaque emplacement géographique. Lorsqu'elles sont spécifiées pour un emplacement géographique donné, plusieurs adresses IP sont renvoyées en fonction d'une règle WRR de pondération égale. Il n'est pas possible de combiner une règle de routage basée sur la géolocalisation avec une règle WRR personnalisée pondérée.

Vérifications d'état

Cloud DNS est compatible avec les vérifications d'état des équilibreurs de charge TCP/UDP internes pour lesquels l'accès mondial est activé.

Après avoir configuré un équilibreur de charge interne, configurez la règle de routage appropriée dans Cloud DNS à l'aide de Google Cloud Console, de gcloud CLI ou de l'API, en spécifiant l'équilibreur de charge interne. Cette étape peut impliquer plusieurs buckets WRR ou GEO, et chaque bucket peut contenir plusieurs ILB.

Cloud DNS extrait les informations de santé existantes sur les backends ILB. Elle applique une valeur de seuil par défaut (20%) aux signaux entrants. Tant que 20% des backends de l'ILB sont opérationnels, le point de terminaison de l'ILB est considéré comme opérationnel. Lorsque l'état passe en dessous du seuil, les règles de routage DNS marquent le point de terminaison de l'ILB comme étant non opérationnel. Si l'état des backends de l'ILB s'améliore, les règles de routage DNS marquent le point de terminaison de l'équilibreur de charge comme opérationnel et commencent à l'utiliser lors des requêtes.

Lorsque le point de terminaison d'un ILB est marqué comme étant non opérationnel, les conditions suivantes peuvent se produire:

  • Si plusieurs adresses IP virtuelles sont programmées en fonction d'une règle, seules des adresses IP opérationnelles sont renvoyées.
  • Si toutes les adresses IP virtuelles programmées pour un bucket de règles ne sont pas opérationnelles, cette ligne a échoué. Le comportement suivant s'applique:

    • Pour une règle WRR, Cloud DNS répartit le trafic vers le bucket de pondération opérationnel suivant.
    • Pour une règle GEO si l'escrime n'est pas activée, le trafic passe à la zone géographique la plus proche.
    • Si une règle géodésique est activée pour l'escrime, les adresses IPV dans le bucket géographique le plus proche sont renvoyées telles quelles.
    • Pour une règle de basculement, Cloud DNS transfère le trafic vers le bucket de basculement.
    • Si tous les buckets de règles ne sont pas opérationnels, Cloud DNS se comporte comme si tous les points de terminaison étaient opérationnels.

Avant de commencer

Cette procédure suppose que vous avez effectué les tâches suivantes:

  1. créé une zone gérée et rempli les conditions préalables à la création d'une zone.
  2. Configurez un équilibreur de charge TCP/UDP interne.
  3. Créer des règles de transfert pour l'équilibreur de charge interne
  4. Configurez la vérification d'état pour l'équilibreur de charge interne.

Créer des règles de routage DNS

Pour créer un ResourceRecordSet et lui appliquer une règle de routage, procédez comme suit.

Console

  1. Dans Google Cloud Console, accédez à la page Zones Cloud DNS.

    Accéder aux zones Cloud DNS

  2. Cliquez sur le nom de la zone gérée à laquelle vous souhaitez ajouter l'enregistrement.

  3. Sur la page Détails de la zone, cliquez sur Ajouter un jeu d'enregistrements.

  4. Sur la page Créer un jeu d'enregistrements, saisissez le sous-domaine de la zone DNS dans le champ Nom DNS, par exemple mail. Le point final est automatiquement ajouté.

  5. Sélectionnez le type d'enregistrement de la ressource (par exemple, A).

  6. Dans le champ TTL, saisissez une valeur numérique correspondant à la durée de vie (Time To Live) de l'enregistrement de la ressource, c'est-à-dire le délai pendant lequel il peut être mis en cache. Cette valeur doit être un entier positif

  7. Dans le menu Unité TTL, sélectionnez l'unité de temps (par exemple, 30 minutes).

  8. Sélectionnez la règle de routage. Vous pouvez sélectionner l'option Round robin pondéré ou Basé sur la géolocalisation. Si vous ne souhaitez pas associer de règle de routage à votre enregistrement, sélectionnez Type d'enregistrement par défaut.

  9. Si vous avez sélectionné Round robin pondéré, dans la section Nouvelles données d'enregistrement gérées, procédez comme suit :

    1. Saisissez la pondération correspondant à cette sous-section des données d'enregistrement de ressources (RR). Cette pondération doit être un nombre non négatif compris entre 0,0 et 1 000,0. Le ratio du trafic acheminé vers la cible est calculé à partir du ratio du poids individuel sur le total pour toutes les pondérations.
    2. Selon le type d'enregistrement que vous avez sélectionné, saisissez les informations appropriées dans le champ suivant. Par exemple, si le type d'enregistrement est A, dans le champ Adresse IPv4, saisissez l'adresse IP numérique de l'hôte, telle que 203.0.113.1. Pour un enregistrement AAAA, saisissez l'adresse IPv6 de l'hôte, etc.
  10. Si vous avez sélectionné Basé sur la géolocalisation, dans la section Nouvelles données d'enregistrement gérées, procédez comme suit :

    1. Saisissez une région source Google Cloud valide, telle que asia-east1.
    2. Selon le type d'enregistrement que vous avez sélectionné, saisissez les informations appropriées dans le champ suivant. Par exemple, si le type d'enregistrement est A, dans le champ Adresse IPv4, saisissez l'adresse IP numérique de l'hôte, telle que 203.0.113.1. Pour un enregistrement AAAA, saisissez l'adresse IPv6 de l'hôte, etc.
  11. Pour saisir des données supplémentaires en fonction du type d'enregistrement sélectionné, cliquez sur Ajouter un élément. Le tableau suivant spécifie le type d'enregistrement et les données supplémentaires que vous pouvez saisir.

    Type d'enregistrement concerné Saisir des données supplémentaires
    A Adresses IPv4
    AAAA Adresses IPv6
    CNAME Noms canoniques
    MX Enregistrements Mail Exchange
    SRV Hôte/port (<aclass="external" l10n-attrs-original-order="href,class" l10n-encrypted-href="fbj0fi6rS3pPqxfn3YD3etONK6A9Q8tQ5MUfKCg7jl5ONxJ2KV+27oDWYJ43g//U">RFC 2782) </aclass="external">
    TXT Text data
  12. Pour saisir des données RR gérées supplémentaires, cliquez sur Ajouter des données rrdata gérées.

  13. Cliquez sur Créer.

gcloud

Exécutez la commande gcloud dns record-sets create.

Règles géographiques

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

Règles 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

Pour les règles de géorepérage

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

Pour les règles de basculement

gcloud dns record-sets create 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-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
    --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
    --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
    --enable-health-checking

Remplacez les éléments suivants :

  • RRSET_NAME : nom DNS correspondant aux requêtes entrantes avec le nom DNS de cette zone en tant que suffixe (par exemple, service.example.com)
  • TTL: la valeur TTL en secondes que le résolveur met en cache ce ResourceRecordSet, telle que 30
  • RRSET_TYPE: type d'enregistrement de ressource de ce ResourceRecordSet, tel que A

    Pour obtenir la liste des types d'enregistrements compatibles, consultez la section Sélectionner des types d'enregistrements de ressources.

  • MANAGED_ZONE : zone gérée à laquelle ResourceRecordSet est affilié, par exemple service-zone. Le nom de cette ResourceRecordSet doit comporter le nom DNS de la zone gérée comme suffixe

  • ROUTING_POLICY_TYPE: type de règle de routage

    Saisissez WRR pour une interrogation à répétition alternée pondérée, GEO pour la géolocalisation ou FAILOVER pour les règles de basculement. Vous ne pouvez pas modifier ce champ une fois qu'un type de stratégie a été choisi. vous ne pouvez que supprimer la stratégie et en ajouter une nouvelle avec le type différent.

  • ROUTING_POLICY_DATA: données de la règle de routage

    • Pour --routing-policy-type=WRR, saisissez une liste délimitée par des points-virgules au format ${weight_percent}:${rrdatas}, par exemple .8=203.0.113.1;.2=198.51.100.1. Spécifiez la pondération sous forme de nombre décimal non négatif. Le ratio de trafic acheminé vers la cible est calculé à partir du ratio de pondération individuelle sur le total pour toutes les pondérations. Les noms de règles de transfert sont des valeurs acceptables et entraînent une vérification d'état.
    • Pour --routing-policy-type=GEO, saisissez une liste délimitée par des points-virgules au format ${region}=${IP_address}, par exemple asia-east1=198.51.100.1;us-central1=203.0.113.1. Vous pouvez spécifier plusieurs adresses IP pour une seule région en ajoutant des adresses IP séparées par une virgule. Les noms de règles de transfert sont des valeurs acceptables et entraînent une vérification d'état.
    • Pour --routing-policy-type=FAILOVER, saisissez le nom de la règle de transfert que vous avez créée au format ${region}=${Forwarding rule name}.

    Vous devez spécifier le type de la règle de routage et les données de la règle de routage. Si vous en indiquez un, vous ne pouvez pas renseigner l'autre option.

  • --enable-geo-fencing : pour les règles de routage GEO, cela détermine si le trafic doit basculer entre les régions si tous les points de terminaison d'une région ne sont pas opérationnels. Lorsqu'elle est définie, Cloud DNS dirige toujours les requêtes vers la région la plus proche, même si tous les points de terminaison de cette région ne sont pas opérationnels. Utilisez --no-enable-geo-fencing pour désactiver le géorepérage. Lorsqu'elle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche suivante lorsque tous les points de terminaison d'une région ne sont pas opérationnels. La valeur par défaut est false.

  • ROUTING_POLICY_PRIMARY_DATA: cible principale à utiliser pour les règles de routage FAILOVER. Cette cible doit être une référence à une ou plusieurs règles de transfert, telles que forwarding-rule-1. Tant qu'au moins une de ces règles de transfert est opérationnelle, les adresses IP de toutes les règles de transfert opérationnelles sont utilisées pour répondre aux requêtes portant sur ce nom.

  • ROUTING_POLICY_BACKUP_DATA : cible de sauvegarde à utiliser pour les règles de routage FAILOVER. Ces cibles sont utilisées lorsque toutes les règles de transfert spécifiées dans --routing-policy-primary-data ne sont pas opérationnelles. Cloud DNS n'est compatible qu'avec les cibles de sauvegarde basées sur l'emplacement géographique. Le format de ce champ correspond à celui de --routing-policy-data lorsque --routing-policy-type = 'GEO', par exemple asia-east1=forwarding-rule-2.

  • ROUTING_POLICY_BACKUP_DATA_TYPE: pour les règles de routage FAILOVER, type de règle de routage utilisée par les données de sauvegarde. Il doit s'agir de GEO.

  • BACKUP_DATA_TRICKLE_RATIO : ratio du trafic à envoyer vers les cibles de sauvegarde, même lorsque les instances principales sont opérationnelles. Le ratio doit être compris entre 0 et 1 (par exemple, 0.1). La valeur par défaut est 0.

  • --enable-health-checking : option permettant d'activer la vérification d'état. Lorsque vous utilisez cette option, vous devez indiquer le nom de la règle de transfert au lieu de l'adresse IP dans le champ --routing-policy-data.

API

Utilisez la méthode resourceRecordSets.create.

Règles géographiques

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"
                       "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"
                      }
                     ]
                  }
              },
              }
           ]

        }
     }
}

Règles 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"
                "region": "REGION"
              }
            ]
          }
        },
        {
          "weight": WEIGHT,
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "LOAD_BALANCER_TYPE"
                "ipAddress": "IP_ADDRESS"
                "port" : "PORT_NUMBER"
                "ipProtocol": "IP_PROTOCOL"
                "networkUrl": "NETWORK_URL"
                "project": "PROJECT"
                "region": "REGION"
              }
            ]
          }
        },
      ]
    }
  }
}

Pour FAILOVER pour les règles de géolocalisation

Dans l'option de basculement, Cloud DNS n'accepte que les règles 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"
            "region": "REGION"
           }
         ]
       },
       "backupGeoTargets": {
         "enableFencing": ENABLE_FENCING,
         "items": [
           {
             "location": "LOCATION",
             "rrdatas": [
               "RRDATA"
             ]
           },
           {
             "location": "LOCATION",
             "rrdatas": [
               "RRDATA"
             ]
           }
         ]
       }
     },
   }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • MANAGED_ZONE : zone gérée avec laquelle ce ResourceRecordSet est affilié, telle que service-zone. Le nom de ce ResourceRecordSet doit avoir le nom DNS de la zone gérée comme suffixe.
  • RRSET_NAME : nom DNS correspondant aux requêtes entrantes avec le nom DNS de cette zone en tant que suffixe (par exemple, service.example.com)
  • RRSET_TYPE: type d'enregistrement de ressource de ce ResourceRecordSet, tel que A
  • TTL: la valeur TTL en secondes que le résolveur met en cache ce ResourceRecordSet, telle que 30
  • TRICKLE_TRAFFIC: ratio du trafic à envoyer vers les cibles de sauvegarde, même lorsque les serveurs principaux sont opérationnels. Il doit être compris entre 0 et 1 (par exemple, 0.1).
  • ENABLE_FENCING: pour les règles de routage GEO, cela détermine si le trafic doit basculer entre les régions si tous les points de terminaison d'une région ne sont pas opérationnels. Lorsqu'elle est définie, Cloud DNS dirige toujours les requêtes vers la région la plus proche, même si tous les points de terminaison de cette région ne sont pas opérationnels. Lorsqu'elle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche suivante lorsque tous les points de terminaison d'une région ne sont pas opérationnels. La valeur par défaut est false.
  • LOCATION: pour les stratégies GEO, la géolocalisation pour laquelle vous devez créer la stratégie, par exemple asia-east1
  • WEIGHT : pour les règles WRR, il s'agit d'une liste délimitée par des points-virgules au format ${weight_percent}=${rrdatas}, par exemple .8=10.128.1.1;.2=10.130.1.1. Spécifiez la pondération en tant que nombre décimal non négatif.
  • RR_DATA: valeur arbitraire associée au jeu d'enregistrements de ressources, telle que198.51.100.5 ; vous pouvez également saisir plusieurs valeurs, rrdata1 rrdata2 rrdata3, comme198.51.100.1 à203.0.113.1...
  • LOAD_BALANCER_TYPE : type d'équilibreur de charge, tel que regionalL4ilb
  • IP_ADDRESS : adresse IP diffusée par la règle de transfert
  • PORT_NUMBER : numéro de port.
  • IP_PROTOCOL: définit le protocole utilisé pour la vérification d'état. Les options valides sont tcp et udp.
  • NETWORK_URL : URL réseau à laquelle cette règle de transfert s'applique.
  • REGION: région dans laquelle vous avez créé la règle de transfert

Mettre à jour les règles de routage DNS

Pour mettre à jour la règle de routage d'un ResourceRecordSet, procédez comme suit.

Console

  1. Dans Google Cloud Console, accédez à la page Zones Cloud DNS.

    Accéder aux zones Cloud DNS

  2. Cliquez sur la zone pour laquelle vous souhaitez mettre à jour la règle de routage de ResourceRecordSet.

  3. Sur la page Détails de la zone, à côté du ResourceRecordSet que vous souhaitez mettre à jour, cliquez sur Modifier.

  4. Après avoir effectué les mises à jour nécessaires, cliquez sur Enregistrer.

gcloud

Exécutez la commande gcloud dns record-sets update :

Règles géographiques

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

Règles 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

Pour les règles de géorepérage

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

Pour les règles de basculement

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

Remplacez les éléments suivants :

  • RRSET_NAME : nom DNS correspondant aux requêtes entrantes avec le nom DNS de cette zone en tant que suffixe (par exemple, service.example.com)
  • TTL: la valeur TTL en secondes que le résolveur met en cache ce ResourceRecordSet, telle que 30
  • RRSET_TYPE: type d'enregistrement de ressource de ce ResourceRecordSet, tel que A

    Pour obtenir la liste des types d'enregistrements compatibles, consultez la section Sélectionner des types d'enregistrements de ressources.

  • MANAGED_ZONE : zone gérée à laquelle ResourceRecordSet est affilié, par exemple service-zone. Le nom de cette ResourceRecordSet doit comporter le nom DNS de la zone gérée comme suffixe

  • ROUTING_POLICY_TYPE: type de règle de routage

    Saisissez WRR pour une interrogation à répétition alternée pondérée, GEO pour la géolocalisation ou FAILOVER pour les règles de basculement. Vous ne pouvez pas modifier ce champ une fois qu'un type de stratégie a été choisi. vous ne pouvez que supprimer la stratégie et en ajouter une nouvelle avec le type différent.

  • ROUTING_POLICY_DATA: données de la règle de routage

    • Pour --routing-policy-type=WRR, saisissez une liste délimitée par des points-virgules au format ${weight_percent}:${rrdatas}, par exemple .8=203.0.113.1;.2=198.51.100.1. Spécifiez la pondération sous forme de nombre décimal non négatif. Le ratio de trafic acheminé vers la cible est calculé à partir du ratio de pondération individuelle sur le total pour toutes les pondérations. Les noms de règles de transfert sont des valeurs acceptables et entraînent une vérification d'état.
    • Pour --routing-policy-type=GEO, saisissez une liste délimitée par des points-virgules au format ${region}=${IP_address}, par exemple asia-east1=198.51.100.1;us-central1=203.0.113.1. Vous pouvez spécifier plusieurs adresses IP pour une seule région en ajoutant des adresses IP séparées par une virgule. Les noms de règles de transfert sont des valeurs acceptables et entraînent une vérification d'état.
    • Pour --routing-policy-type=FAILOVER, saisissez le nom de la règle de transfert que vous avez créée au format ${region}=${Forwarding rule name}.

    Vous devez spécifier le type de la règle de routage et les données de la règle de routage. Si vous en indiquez un, vous ne pouvez pas renseigner l'autre option.

  • --enable-geo-fencing : pour les règles de routage GEO, cela détermine si le trafic doit basculer entre les régions si tous les points de terminaison d'une région ne sont pas opérationnels. Lorsqu'elle est définie, Cloud DNS dirige toujours les requêtes vers la région la plus proche, même si tous les points de terminaison de cette région ne sont pas opérationnels. Utilisez --no-enable-geo-fencing pour désactiver le géorepérage. Lorsqu'elle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche suivante lorsque tous les points de terminaison d'une région ne sont pas opérationnels. La valeur par défaut est false.

  • ROUTING_POLICY_PRIMARY_DATA: cible principale à utiliser pour les règles de routage FAILOVER. Cette cible doit être une référence à une ou plusieurs règles de transfert, telles que forwarding-rule-1. Tant qu'au moins une de ces règles de transfert est opérationnelle, les adresses IP de toutes les règles de transfert opérationnelles sont utilisées pour répondre aux requêtes portant sur ce nom.

  • ROUTING_POLICY_BACKUP_DATA : cible de sauvegarde à utiliser pour les règles de routage FAILOVER. Ces cibles sont utilisées lorsque toutes les règles de transfert spécifiées dans --routing-policy-primary-data ne sont pas opérationnelles. Cloud DNS n'est compatible qu'avec les cibles de sauvegarde basées sur l'emplacement géographique. Le format de ce champ correspond à celui de --routing-policy-data lorsque --routing-policy-type = 'GEO', par exemple asia-east1=forwarding-rule-2.

  • BACKUP_DATA_TRICKLE_RATIO: ratio du trafic à envoyer vers les cibles de sauvegarde, même lorsque les instances principales sont opérationnelles. Le ratio doit être compris entre 0 et 1 (par exemple, 0.1). La valeur par défaut est 0.

  • --enable-health-checking: active la vérification de l'état des règles de transfert fournies en tant que rrdata à --routing-policy-data.

API

Utilisez la méthode resourceRecordSets.patch. Spécifiez une seule des options rrset.rrdatas ou rrset.routingPolicy. Si vous spécifiez routingPolicy, vous devez spécifier le nouveau champ routingPolicy dans son intégralité.

Pour les règles GEO, utilisez la méthode suivante:

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"
                      }
                     ]
                  }
              },
              }
           ]

        }
     }
}

Pour les règles WRR, utilisez la méthode suivante:

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": ["RR_DATA"]
                    },
                    {
                        "weight": WEIGHT,
                        "rrdatas": ["RR_DATA"]
                     }
               ],
            }
      }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • MANAGED_ZONE : zone gérée avec laquelle ce ResourceRecordSet est affilié, telle que service-zone. Le nom de ce ResourceRecordSet doit avoir le nom DNS de la zone gérée comme suffixe.
  • RRSET_NAME : nom DNS correspondant aux requêtes entrantes avec le nom DNS de cette zone en tant que suffixe (par exemple, service.example.com)
  • RRSET_TYPE: type d'enregistrement de ressource de ce ResourceRecordSet, tel que A
  • TTL: la valeur TTL en secondes que le résolveur met en cache ce ResourceRecordSet, telle que 30
  • TRICKLE_TRAFFIC: ratio du trafic à envoyer vers les cibles de sauvegarde, même lorsque les serveurs principaux sont opérationnels. Il doit être compris entre 0 et 1 (par exemple, 0.1).
  • ENABLE_FENCING : pour les règles de routage GEO, cela détermine si le trafic doit basculer entre les régions si tous les points de terminaison d'une région ne sont pas opérationnels. Lorsqu'elle est définie, Cloud DNS dirige toujours les requêtes vers la région la plus proche, même si tous les points de terminaison de cette région ne sont pas opérationnels. Lorsqu'elle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche suivante lorsque tous les points de terminaison d'une région ne sont pas opérationnels. La valeur par défaut est false.
  • LOCATION: pour les règles GEO, la géolocalisation pour laquelle vous devez mettre à jour la stratégie, par exemple asia-east1
  • WEIGHT: pour les règles WRR, il s'agit d'une liste délimitée par des points-virgules au format ${weight_percent}=${rrdatas}, par exemple .8=10.128.1.1;.2=10.130.1.1. Spécifiez la pondération en tant que nombre décimal non négatif.
  • RR_DATA: valeur arbitraire associée au jeu d'enregistrements de ressources, telle que198.51.100.5 ; vous pouvez également saisir plusieurs valeurs, rrdata1 rrdata2 rrdata3, comme198.51.100.1 à203.0.113.1...
  • LOAD_BALANCER_TYPE : type d'équilibreur de charge, tel que regionalL4ilb
  • IP_ADDRESS: adresse IP diffusée par la règle de transfert
  • PORT_NUMBER : numéro de port.
  • IP_PROTOCOL: définit le protocole utilisé pour la vérification d'état. Les options valides sont tcp et udp.
  • NETWORK_URL : URL réseau à laquelle cette règle de transfert s'applique.
  • REGION : région dans laquelle vous avez créé la règle de transfert

Supprimer des règles de routage DNS

Pour supprimer une règle de routage, vous devez supprimer le ResourceRecordSet qui contient la règle de routage. Pour cela, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Zones Cloud DNS.

    Accéder aux zones Cloud DNS

  2. Cliquez sur la zone pour laquelle vous souhaitez supprimer le ResourceRecordSet.

  3. Sur la page Détails de la zone, cochez la case située à côté du nom DNS du ResourceRecordSet que vous souhaitez supprimer.

  4. Cliquez sur Supprimer les jeux d'enregistrements.

gcloud

Exécutez la commande gcloud dns record-sets delete :

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

Remplacez les éléments suivants :

  • RRSET_NAME : nom DNS correspondant aux requêtes entrantes avec le nom DNS de cette zone en tant que suffixe (par exemple, service.example.com)
  • RRSET_TYPE: type d'enregistrement de ressource de ce ResourceRecordSet, tel que A

    Pour obtenir la liste des types d'enregistrements compatibles, consultez la section Sélectionner des types d'enregistrements de ressources.

  • MANAGED_ZONE : zone gérée avec laquelle ce ResourceRecordSet est affilié, telle que service-zone. Le nom de ce ResourceRecordSet doit avoir le nom DNS de la zone gérée comme suffixe.

API

Exécutez la méthode resourceRecordSets.delete :

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet
  • MANAGED_ZONE : zone gérée avec laquelle ce ResourceRecordSet est affilié, telle que my-zone-name. Le nom de ce ResourceRecordSet doit avoir le nom DNS de la zone gérée comme suffixe.
  • RRSET_NAME : nom DNS correspondant aux requêtes entrantes avec le nom DNS de cette zone en tant que suffixe (par exemple, test.example.com)
  • RRSET_TYPE: type d'enregistrement de ressource de ce ResourceRecordSet, tel que A

Étapes suivantes