Gérer les stratégies de routage DNS et les vérifications de l'état

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éciaux (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 et 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 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 géolocalisations sources et fournir des réponses correspondant à ces zones géographiques. La règle de routage avec 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.

    La fonctionnalité 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 un point d'entrée de 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 avec géorepérage: utilisez le géorepérage pour limiter le trafic à une géolocalisation spécifique, même si tous les points de terminaison de cette géolocalisation sont non opérationnels. Pour en savoir plus sur le géorepérage, consultez la section Règles de routage avec géorepérage.

  • Règle de routage avec basculement : utilisez le basculement pour définir des configurations de sauvegarde actives. Pour en savoir plus, consultez la section Règles de routage avec 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 accepte les vérifications d'état pour les équilibreurs de charge réseau passthrough internes et les équilibreurs de charge d'application internes dont l'accès mondial est activé, ainsi que les équilibreurs de charge d'application internes interrégionaux.

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

Pour les équilibreurs de charge réseau passthrough internes, Cloud DNS vérifie les informations d'état existantes sur les instances backend individuelles de l'équilibreur de charge réseau passthrough interne pour déterminer si celui-ci est sain ou non opérationnel.

Cloud DNS applique une valeur de seuil par défaut (20%) aux signaux entrants. Tant que 20% des instances backend de l'équilibreur de charge réseau passthrough interne sont opérationnelles, le point de terminaison de l'équilibreur de charge réseau passthrough interne est considéré comme opérationnel. Lorsque l'état passe en dessous du seuil défini, les règles de routage DNS marquent le point de terminaison de l'équilibreur de charge réseau passthrough interne comme non opérationnel. Si l'état des backends s'améliore, les règles de routage DNS marquent le point de terminaison de l'équilibreur de charge réseau passthrough interne comme opérationnel et l'utilisent lors des requêtes.

Pour les équilibreurs de charge d'application internes et interrégionaux, Cloud DNS vérifie l'état général de l'équilibreur de charge d'application interne et permet à l'équilibreur de charge d'application interne de vérifier lui-même l'état des instances backend. Lorsque le point de terminaison est marqué comme non opérationnel, les conditions suivantes peuvent se produire:

  • Si plusieurs adresses IP virtuelles sont programmées sur une règle, seules les adresses IP virtuelles opérationnelles sont renvoyées.
  • Si toutes les adresses IP virtuelles programmées sur un bucket de règle ne sont pas opérationnelles, cette ligne de règle échoue. Le comportement suivant s'applique :

    • Pour une règle WRR, Cloud DNS répartit le trafic vers le bucket de pondération opérationnel le plus proche.
    • Pour une règle GEO sur laquelle le cloisonnement n'est pas activé, le trafic passe à la zone géographique la plus proche.
    • Pour une règle avec géorepérage sur laquelle le cloisonnement est activé, les adresses IP virtuelles dans le bucket le plus proche géographiquement sont renvoyées telles quelles.
    • Pour une règle avec basculement, Cloud DNS bascule le trafic vers un bucket de basculement.
    • Si aucun bucket de la règle n'est opérationnel, Cloud DNS se comporte comme si tous les points de terminaison étaient opérationnels.

Avant de commencer

Avant de démarrer cette procédure, vérifiez que vous avez bien :

  1. créé une zone gérée et suivi les étapes préalables à la création d'une zone ;
  2. Configurez l'un des équilibreurs de charge internes suivants :
  3. créé une règle de transfert pour l'équilibreur de charge interne ;
  4. configuré la vérification d'état pour l'équilibreur de charge interne.

Créer des règles de routage DNS

Un élément ResourceRecordSet peut contenir une routingPolicy ou une rrdatas, mais pas les deux. Il est possible de modifier des rrdatas ou des routingPolicy lors de la mise à jour de ResourceRecordSets. Par exemple, si vous souhaitez mettre à jour un ResourceRecordSet contenant des rrdatas, vous pouvez supprimer le rrdatas et ajouter un routingPolicy au même ResourceRecordSet.

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

Console

Démarrer la configuration

  1. Dans la console Google Cloud, 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 avec une règle de routage.

Données de base

  1. Sur la page Créer un jeu d'enregistrements avec une règle de routage, saisissez le sous-domaine de la zone DNS (par exemple, mail) dans le champ Nom DNS. Le point final est automatiquement ajouté.

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

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

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

  5. Cliquez sur Suivant.

Type de règle de routage

  1. Dans la liste Règle de routage, sélectionnez Round robin pondéré, Géolocalisation ou Basculement.
  2. Cliquez sur Suivant.

Données de règle de routage

  1. Si vous avez sélectionné Round robin pondéré, procédez comme suit dans la section Données de routage pour les règles de round robin pondéré :

    1. Dans le champ Pondéré, 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. Dans la section Ajouter une cible dont l'état a été vérifié, procédez comme suit:

      1. Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
      2. Dans la liste Type, sélectionnez Équilibreur de charge réseau passthrough interne, Équilibreur de charge d'application interne ou Équilibreur de charge d'application interne interrégional.
      3. Dans la liste Règle de transfert, sélectionnez une règle de transfert.

        La règle de transfert spécifie une adresse IP interne, un port, ainsi qu'un service de backend régional ou un proxy HTTP(S). Pour que Cloud DNS fonctionne avec les vérifications d'état, vous devez activer l'accès mondial pour l'équilibreur de charge interne.

    3. Pour autoriser les adresses IPv4 sans vérification de l'état, sélectionnez Autoriser les adresses IPv4 sans vérification de l'état.

    4. Dans le champ adresse IPv4, saisissez une adresse IPv4.

  2. Si vous avez sélectionné Géolocalisation, procédez comme suit :

    1. Pour l'option Géorepérage, sélectionnez Désactivé ou Activé. L'activation du géorepérage limite le trafic à une géolocalisation spécifique, même si tous les points de terminaison de cette géolocalisation sont non opérationnels.
    2. Dans le menu Région source, sélectionnez une région source Google Cloud valide (par exemple asia-east1).
    3. Dans la section Ajouter une cible dont l'état a été vérifié, procédez comme suit:

      1. Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
      2. Dans la liste Type, sélectionnez Équilibreur de charge réseau passthrough interne, Équilibreur de charge d'application interne ou Équilibreur de charge d'application interne interrégional.
      3. Dans la liste Règle de transfert, sélectionnez une règle de transfert.

        La règle de transfert spécifie une adresse IP interne, un port, ainsi qu'un service de backend régional ou un proxy HTTP(S). Pour que Cloud DNS fonctionne avec les vérifications d'état, vous devez activer l'accès mondial pour l'équilibreur de charge interne.

    4. Pour autoriser les adresses IPv4 sans vérification de l'état, sélectionnez Autoriser les adresses IPv4 sans vérification de l'état.

    5. Dans le champ adresse IPv4, saisissez une adresse IPv4.

  3. Si vous avez sélectionné Basculement, procédez comme suit :

    1. Dans le champ Trafic minime (%), saisissez le pourcentage de trafic envoyé aux cibles de basculement, quel que soit l'état de la vérification de l'état d'état des cibles principales.
    2. Dans la section Cibles principales, procédez comme suit:

      1. Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
      2. Dans la liste Type, sélectionnez Équilibreur de charge réseau passthrough interne, Équilibreur de charge d'application interne ou Équilibreur de charge d'application interne interrégional.
      3. Dans la liste Règle de transfert, sélectionnez une règle de transfert.

        La règle de transfert spécifie une adresse IP interne, un port, ainsi qu'un service de backend régional ou un proxy HTTP(S). Pour que Cloud DNS fonctionne avec les vérifications d'état, vous devez activer l'accès mondial pour l'équilibreur de charge interne.

    3. Dans la section Règle de géolocalisation de secours, procédez comme suit:

      1. Pour l'option Géorepérage, sélectionnez Désactivé ou Activé. L'activation du géorepérage limite le trafic à une géolocalisation spécifique, même si tous les points de terminaison de cette géolocalisation sont non opérationnels.
      2. Dans le menu Région source, sélectionnez une région source Google Cloud valide (par exemple asia-east1).
      3. Dans la section Ajouter une cible dont l'état a été vérifié, procédez comme suit:

        1. Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
        2. Dans la liste Type, sélectionnez Équilibreur de charge réseau passthrough interne, Équilibreur de charge d'application interne ou Équilibreur de charge d'application interne interrégional.
        3. Dans la liste Règle de transfert, sélectionnez une règle de transfert.

        Lorsqu'aucune adresse IP principale n'est opérationnelle, le trafic est automatiquement géré conformément à la règle de géolocalisation de sauvegarde.

    4. Pour autoriser les adresses IPv4 sans vérification de l'état, sélectionnez Autoriser les adresses IPv4 sans vérification de l'état.

    5. Dans le champ adresse IPv4, saisissez une adresse IPv4.

  4. Cliquez sur Suivant.

Vérifier et créer

  1. Cliquez sur Vérifier.
  2. Vérifiez la configuration de la règle de routage de votre jeu d'enregistrements Cloud DNS.
  3. Facultatif : Cliquez sur Equivalent comment line (Ligne de commentaire équivalente) pour afficher la commande gcloud CLI qui permet de créer ce jeu d'enregistrements avec une règle de routage.
  4. Cliquez sur Créer.

gcloud

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

Pour les règles de géolocalisation

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

Pour les 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 avec 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 avec 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 : valeur TTL en secondes que le résolveur met en cache pour ce ResourceRecordSet (par exemple 30).
  • RRSET_TYPE : type d'enregistrement de ressources de ce ResourceRecordSet (par exemple 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 ce ResourceRecordSet est affilié (par exemple service-zone). Le nom de ce ResourceRecordSet doit avoir le nom DNS de la zone gérée en tant que suffixe

  • ROUTING_POLICY_TYPE : type de règle de routage

    Saisissez WRR pour la règle de routage round robin pondéré, GEO pour la règle de géolocalisation et FAILOVER pour la règle de basculement. Vous ne pouvez pas modifier ce champ une fois qu'un type de règle a été choisi. Vous pouvez uniquement supprimer la règle et ajouter une règle de type différent.

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

    • Pour --routing-policy-type=WRR, saisissez une liste au format ${weight_percent}:${rrdatas} délimitée par des points-virgules, telle que .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 du trafic acheminé vers la cible est calculé à partir du ratio du poids individuel sur le total pour toutes les pondérations. Les noms de règles de transfert sont des valeurs acceptées et entraînent l'activation de la vérification d'état.
    • Pour --routing-policy-type=GEO, saisissez une liste au format ${region}=${IP_address} délimitée par des points-virgules, telle que asia-east1=198.51.100.1;us-central1=203.0.113.1. Vous pouvez spécifier plusieurs adresses IP pour une même région en ajoutant des adresses IP séparées par des virgules. Les noms de règles de transfert sont des valeurs acceptées et entraînent l'activation de la vérification d'état.
    • Pour --routing-policy-type=FAILOVER, saisissez le nom de la règle de transfert que vous avez créé au format ${region}=${Forwarding rule name}.

      .

    Vous devez spécifier à la fois le type de règle de routage et les données de la règle de routage. Si vous spécifiez une option, vous ne pouvez pas laisser l'autre vide.

  • --enable-geo-fencing : pour les règles de routage GEO, cette option permet de déterminer si le trafic doit basculer sur plusieurs régions lorsque tous les points de terminaison d'une région sont marqués comme non opérationnels. Lorsque cette option 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 sont non opérationnels. Utilisez --no-enable-geo-fencing pour désactiver le géorepérage. Lorsque cette règle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche si tous les points de terminaison d'une région sont non 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 (par exemple, 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.

  • ROUTING_POLICY_BACKUP_DATA : cible de sauvegarde à utiliser pour les règles de routage FAILOVER. Ces cibles sont utilisées quand toutes les règles de transfert spécifiées dans --routing-policy-primary-data sont non opérationnelles. Cloud DNS accepte uniquement les cibles de sauvegarde basées sur la géolocalisation. Le format de ce champ correspond à celui des --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, c'est le type de règle de routage que les données de sauvegarde utilisent. Il doit s'agir de GEO.

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

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

API

Exécutez la méthode resourceRecordSets.create.

Pour les règles de géolocalisation

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

        }
     }
}

Pour les 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 le basculement (règles de géolocalisation)

Avec l'option de basculement, Cloud DNS accepte uniquement 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 ressources de ce ResourceRecordSet (par exemple A)
  • TTL : valeur TTL en secondes que le résolveur met en cache pour ce ResourceRecordSet (par exemple 30).
  • TRICKLE_TRAFFIC : le ratio de trafic à envoyer aux cibles de sauvegarde, même si les cibles principales sont opérationnelles. Le ratio doit être entre 0 et 1 (par exemple 0.1).
  • ENABLE_FENCING : pour les règles de routage GEO, cela permet de déterminer si le trafic doit basculer sur plusieurs régions si tous les points de terminaison d'une région sont non opérationnels. Lorsque cette option 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 sont non opérationnels. Si elle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche lorsque tous les points de terminaison d'une région sont non opérationnels. La valeur par défaut est false.
  • LOCATION : pour les règles GEO, la géolocalisation pour laquelle vous devez créer la règle (par exemple asia-east1).
  • WEIGHT : pour les règles WRR, 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 sous forme de nombre décimal non négatif.
  • RR_DATA : valeur arbitraire associée au jeu d'enregistrement de ressources, telle que 198.51.100.5 ; vous pouvez également saisir plusieurs valeurs, rrdata1 rrdata2 rrdata3 (par exemple 198.51.100.1 203.0.113.1…).
  • LOAD_BALANCER_TYPE : type d'équilibreur de charge (par exemple regionalL4ilb)
  • IP_ADDRESS : adresse IP utilisé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 de réseau à laquelle s'applique cette règle de transfert
  • 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 la console Google Cloud, 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 :

Pour les règles de géolocalisation

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

Pour les 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 avec 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 avec 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 : valeur TTL en secondes que le résolveur met en cache pour ce ResourceRecordSet (par exemple 30).
  • RRSET_TYPE : type d'enregistrement de ressources de ce ResourceRecordSet (par exemple 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 ce ResourceRecordSet est affilié (par exemple service-zone). Le nom de ce ResourceRecordSet doit avoir le nom DNS de la zone gérée en tant que suffixe

  • ROUTING_POLICY_TYPE : type de règle de routage

    Saisissez WRR pour la règle de routage round robin pondéré, GEO pour la règle de géolocalisation et FAILOVER pour la règle de basculement. Vous ne pouvez pas modifier ce champ une fois qu'un type de règle a été choisi. Vous pouvez uniquement supprimer la règle et ajouter une règle de type différent.

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

    • Pour --routing-policy-type=WRR, saisissez une liste au format ${weight_percent}:${rrdatas} délimitée par des points-virgules, telle que .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 du trafic acheminé vers la cible est calculé à partir du ratio du poids individuel sur le total pour toutes les pondérations. Les noms de règles de transfert sont des valeurs acceptées et entraînent l'activation de la vérification d'état.
    • Pour --routing-policy-type=GEO, saisissez une liste au format ${region}=${IP_address} délimitée par des points-virgules, telle que asia-east1=198.51.100.1;us-central1=203.0.113.1. Vous pouvez spécifier plusieurs adresses IP pour une même région en ajoutant des adresses IP séparées par des virgules. Les noms de règles de transfert sont des valeurs acceptées et entraînent l'activation de la vérification d'état.
    • Pour --routing-policy-type=FAILOVER, saisissez le nom de la règle de transfert que vous avez créé au format ${region}=${Forwarding rule name}.

      .

    Vous devez spécifier à la fois le type de règle de routage et les données de la règle de routage. Si vous spécifiez une option, vous ne pouvez pas laisser l'autre vide.

  • --enable-geo-fencing : pour les règles de routage GEO, cette option permet de déterminer si le trafic doit basculer sur plusieurs régions lorsque tous les points de terminaison d'une région sont marqués comme non opérationnels. Lorsque cette option 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 sont non opérationnels. Utilisez --no-enable-geo-fencing pour désactiver le géorepérage. Lorsque cette règle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche si tous les points de terminaison d'une région sont non 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 (par exemple, 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.

  • ROUTING_POLICY_BACKUP_DATA : cible de sauvegarde à utiliser pour les règles de routage FAILOVER. Ces cibles sont utilisées quand toutes les règles de transfert spécifiées dans --routing-policy-primary-data sont non opérationnelles. Cloud DNS accepte uniquement les cibles de sauvegarde basées sur la géolocalisation. Le format de ce champ correspond à celui des --routing-policy-data lorsque --routing-policy-type = 'GEO' (par exemple asia-east1=forwarding-rule-2).

  • BACKUP_DATA_TRICKLE_RATIO : le ratio de trafic à envoyer aux cibles de sauvegarde, même si les cibles principales sont opérationnelles. Le ratio doit être 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 qui sont fournies en tant que rrdata aux --routing-policy-data.

API

Exécutez la méthode resourceRecordSets.patch. Spécifiez une seule des 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 ressources de ce ResourceRecordSet (par exemple A)
  • TTL : valeur TTL en secondes que le résolveur met en cache pour ce ResourceRecordSet (par exemple 30).
  • TRICKLE_TRAFFIC : le ratio de trafic à envoyer aux cibles de sauvegarde, même si les cibles principales sont opérationnelles. Le ratio doit être entre 0 et 1 (par exemple 0.1).
  • ENABLE_FENCING : pour les règles de routage GEO, cela permet de déterminer si le trafic doit basculer sur plusieurs régions si tous les points de terminaison d'une région sont non opérationnels. Lorsque cette option 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 sont non opérationnels. Si elle n'est pas définie, Cloud DNS dirige les requêtes vers la région la plus proche lorsque tous les points de terminaison d'une région sont non 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 règle (par exemple asia-east1).
  • WEIGHT : pour les règles WRR, 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 sous forme de nombre décimal non négatif.
  • RR_DATA : valeur arbitraire associée au jeu d'enregistrement de ressources, telle que 198.51.100.5 ; vous pouvez également saisir plusieurs valeurs, rrdata1 rrdata2 rrdata3 (par exemple 198.51.100.1 203.0.113.1…).
  • LOAD_BALANCER_TYPE : type d'équilibreur de charge (par exemple regionalL4ilb)
  • IP_ADDRESS : adresse IP utilisé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 de réseau à laquelle s'applique cette règle de transfert
  • 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 la console Google Cloud, 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 ressources de ce ResourceRecordSet (par exemple 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

Utilisez 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 ressources de ce ResourceRecordSet (par exemple A)

Étapes suivantes