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 :
- Pour un DNS public: l'adresse IP source ou le mécanisme d'extension pour le sous-réseau client DNS (EDNS) de la requête est utilisé.
- Pour un DNS privé: l'emplacement de réception de la requête, par exemple la région de la VM interrogeante ou l'emplacement où la requête entrante est reçue.
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égionus-east1
, la région source estus-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.
- Pour une règle
Avant de commencer
Avant de démarrer cette procédure, vérifiez que vous avez bien :
- créé une zone gérée et suivi les étapes préalables à la création d'une zone ;
- Configurez l'un des équilibreurs de charge internes suivants :
- créé une règle de transfert pour l'équilibreur de charge interne ;
- 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
Dans la console Google Cloud, accédez à la page Zones Cloud DNS.
Cliquez sur le nom de la zone gérée à laquelle vous souhaitez ajouter l'enregistrement.
Sur la page Détails de la zone, cliquez sur Ajouter avec une règle de routage.
Données de base
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é.Sélectionnez le type d'enregistrement de la ressource (par exemple,
A
).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.
Dans le menu Unité TTL, sélectionnez l'unité de temps (par exemple,
30 minutes
).Cliquez sur Suivant.
Type de règle de routage
- Dans la liste Règle de routage, sélectionnez Round robin pondéré, Géolocalisation ou Basculement.
- Cliquez sur Suivant.
Données de règle de routage
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é :
- 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.
Dans la section Ajouter une cible dont l'état a été vérifié, procédez comme suit:
- Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
- 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.
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.
Pour autoriser les adresses IPv4 sans vérification de l'état, sélectionnez Autoriser les adresses IPv4 sans vérification de l'état.
Dans le champ adresse IPv4, saisissez une adresse IPv4.
Si vous avez sélectionné Géolocalisation, procédez comme suit :
- 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.
- Dans le menu Région source, sélectionnez une région source Google Cloud valide (par exemple
asia-east1
). Dans la section Ajouter une cible dont l'état a été vérifié, procédez comme suit:
- Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
- 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.
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.
Pour autoriser les adresses IPv4 sans vérification de l'état, sélectionnez Autoriser les adresses IPv4 sans vérification de l'état.
Dans le champ adresse IPv4, saisissez une adresse IPv4.
Si vous avez sélectionné Basculement, procédez comme suit :
- 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.
Dans la section Cibles principales, procédez comme suit:
- Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
- 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.
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.
Dans la section Règle de géolocalisation de secours, procédez comme suit:
- 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.
- Dans le menu Région source, sélectionnez une région source Google Cloud valide (par exemple
asia-east1
). Dans la section Ajouter une cible dont l'état a été vérifié, procédez comme suit:
- Dans la liste Projet, sélectionnez le projet contenant la règle de transfert.
- 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.
- 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.
Pour autoriser les adresses IPv4 sans vérification de l'état, sélectionnez Autoriser les adresses IPv4 sans vérification de l'état.
Dans le champ adresse IPv4, saisissez une adresse IPv4.
Cliquez sur Suivant.
Vérifier et créer
- Cliquez sur Vérifier.
- Vérifiez la configuration de la règle de routage de votre jeu d'enregistrements Cloud DNS.
- 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.
- 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 ceResourceRecordSet
(par exemple30
).RRSET_TYPE
: type d'enregistrement de ressources de ceResourceRecordSet
(par exempleA
)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 ceResourceRecordSet
est affilié (par exempleservice-zone
). Le nom de ceResourceRecordSet
doit avoir le nom DNS de la zone gérée en tant que suffixeROUTING_POLICY_TYPE
: type de règle de routageSaisissez
WRR
pour la règle de routage round robin pondéré,GEO
pour la règle de géolocalisation etFAILOVER
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 queasia-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.
- Pour
--enable-geo-fencing
: pour les règles de routageGEO
, 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 estfalse
.ROUTING_POLICY_PRIMARY_DATA
: cible principale à utiliser pour les règles de routageFAILOVER
. 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 routageFAILOVER
. 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 exempleasia-east1=forwarding-rule-2
).ROUTING_POLICY_BACKUP_DATA_TYPE
: pour les règles de routageFAILOVER
, c'est le type de règle de routage que les données de sauvegarde utilisent. Il doit s'agir deGEO
.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 exemple0.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 projetMANAGED_ZONE
: zone gérée avec laquelle ceResourceRecordSet
est affilié, telle queservice-zone
. Le nom de ceResourceRecordSet
doit avoir le nom DNS de la zone gérée comme suffixeRRSET_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 ceResourceRecordSet
(par exempleA
)TTL
: valeur TTL en secondes que le résolveur met en cache pour ceResourceRecordSet
(par exemple30
).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 exemple0.1
).ENABLE_FENCING
: pour les règles de routageGEO
, 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 estfalse
.LOCATION
: pour les règlesGEO
, la géolocalisation pour laquelle vous devez créer la règle (par exempleasia-east1
).WEIGHT
: pour les règlesWRR
, 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 que198.51.100.5
; vous pouvez également saisir plusieurs valeurs,rrdata1
rrdata2
rrdata3
(par exemple198.51.100.1
203.0.113.1
…).LOAD_BALANCER_TYPE
: type d'équilibreur de charge (par exempleregionalL4ilb
)IP_ADDRESS
: adresse IP utilisée par la règle de transfertPORT_NUMBER
: numéro de portIP_PROTOCOL
: définit le protocole utilisé pour la vérification d'état ; les options valides sonttcp
etudp
.NETWORK_URL
: URL de réseau à laquelle s'applique cette règle de transfertREGION
: 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
Dans la console Google Cloud, accédez à la page Zones Cloud DNS.
Cliquez sur la zone pour laquelle vous souhaitez mettre à jour la règle de routage de
ResourceRecordSet
.Sur la page Détails de la zone, à côté du
ResourceRecordSet
que vous souhaitez mettre à jour, cliquez sur editModifier.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 ceResourceRecordSet
(par exemple30
).RRSET_TYPE
: type d'enregistrement de ressources de ceResourceRecordSet
(par exempleA
)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 ceResourceRecordSet
est affilié (par exempleservice-zone
). Le nom de ceResourceRecordSet
doit avoir le nom DNS de la zone gérée en tant que suffixeROUTING_POLICY_TYPE
: type de règle de routageSaisissez
WRR
pour la règle de routage round robin pondéré,GEO
pour la règle de géolocalisation etFAILOVER
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 queasia-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.
- Pour
--enable-geo-fencing
: pour les règles de routageGEO
, 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 estfalse
.ROUTING_POLICY_PRIMARY_DATA
: cible principale à utiliser pour les règles de routageFAILOVER
. 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 routageFAILOVER
. 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 exempleasia-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 exemple0.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 projetMANAGED_ZONE
: zone gérée avec laquelle ceResourceRecordSet
est affilié, telle queservice-zone
. Le nom de ceResourceRecordSet
doit avoir le nom DNS de la zone gérée comme suffixeRRSET_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 ceResourceRecordSet
(par exempleA
)TTL
: valeur TTL en secondes que le résolveur met en cache pour ceResourceRecordSet
(par exemple30
).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 exemple0.1
).ENABLE_FENCING
: pour les règles de routageGEO
, 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 estfalse
.LOCATION
: pour les règlesGEO
, la géolocalisation pour laquelle vous devez mettre à jour la règle (par exempleasia-east1
).WEIGHT
: pour les règlesWRR
, 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 que198.51.100.5
; vous pouvez également saisir plusieurs valeurs,rrdata1
rrdata2
rrdata3
(par exemple198.51.100.1
203.0.113.1
…).LOAD_BALANCER_TYPE
: type d'équilibreur de charge (par exempleregionalL4ilb
)IP_ADDRESS
: adresse IP utilisée par la règle de transfertPORT_NUMBER
: numéro de portIP_PROTOCOL
: définit le protocole utilisé pour la vérification d'état ; les options valides sonttcp
etudp
.NETWORK_URL
: URL de réseau à laquelle s'applique cette règle de transfertREGION
: 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
Dans la console Google Cloud, accédez à la page Zones Cloud DNS.
Cliquez sur la zone pour laquelle vous souhaitez supprimer le
ResourceRecordSet
.Sur la page Détails de la zone, cochez la case située à côté du nom DNS du
ResourceRecordSet
que vous souhaitez supprimer.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 ceResourceRecordSet
(par exempleA
)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 ceResourceRecordSet
est affilié, telle queservice-zone
. Le nom de ceResourceRecordSet
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 projetMANAGED_ZONE
: zone gérée avec laquelle ceResourceRecordSet
est affilié, telle quemy-zone-name
. Le nom de ceResourceRecordSet
doit avoir le nom DNS de la zone gérée comme suffixeRRSET_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 ceResourceRecordSet
(par exempleA
)
Étapes suivantes
- Pour utiliser les zones gérées, consultez la page Créer, modifier et supprimer des zones.
- Pour trouver des solutions aux problèmes courants que vous pouvez rencontrer lors de l'utilisation de Cloud DNS, consultez la page Dépannage.
- Pour en savoir plus sur Cloud DNS, consultez la page Présentation de Cloud DNS.