Gérer les zones

Cette page explique comment créer des zones gérées Cloud DNS. Avant d'utiliser cette page, familiarisez-vous avec les concepts de Cloud DNS.

Avant de commencer

L'API Cloud DNS requiert la création d'un projet Cloud DNS et l'activation de l'API Cloud DNS.

Si vous créez une application qui utilise l'API REST, vous devez également créer un ID client OAuth 2.0.

  1. Si vous n'en possédez pas déjà un, vous devez créer un compte Google.
  2. Activez l'API Cloud DNS dans Cloud Console. Vous pouvez sélectionner un projet Compute Engine ou App Engine existant, ou en créer un.
  3. Si vous devez envoyer des requêtes à l'API REST, vous devez créer un ID OAuth 2.0 : Configurer OAuth 2.0.
  4. Notez les informations suivantes relatives au projet, car vous en aurez besoin lors des prochaines étapes :
    • L'ID client (xxxxxx.apps.googleusercontent.com).
    • L'ID du projet que vous souhaitez utiliser. L'ID se trouve en haut de la page Présentation dans Cloud Console. Vous pouvez également demander aux utilisateurs d'indiquer le nom du projet qu'ils souhaitent utiliser dans votre application.

Si vous n'avez pas encore utilisé l'outil de ligne de commande gcloud, vous devez exécuter la commande suivante pour spécifier le nom du projet et vous authentifier dans Cloud Console :

gcloud auth login

Si vous souhaitez exécuter une commande gcloud sur des ressources Google Cloud dans un autre projet, spécifiez l'option --project pour cette commande et les autres commandes glcoud sur cette page.

Créer des zones gérées

Chaque zone gérée que vous créez est associée à un projet Google Cloud. Dans les sections suivantes, nous allons voir comment créer le type de zone gérée compatible avec Cloud DNS.

Créer une zone publique

Pour créer une zone gérée, procédez comme suit :

Console

  1. Accédez à la page "Créer une zone DNS" dans Cloud Console.

    Accéder à la page "Créer une zone DNS"

  2. Sélectionnez Public pour le Type de zone.

  3. Saisissez un Nom de zone. Exemple :my-new-zone

  4. Saisissez un suffixe de Nom DNS pour la zone à l'aide d'un nom de domaine vous appartenant. Tous les enregistrements de la zone partagent ce suffixe, par exemple : example.com.

  5. Sous DNSSEC, sélectionnez Off, On ou Transfer. Pour en savoir plus, consultez la page Gérer la configuration DNSSEC.

  6. Cliquez sur Créer. La page Détails de la zone s'affiche.

gcloud

Pour créer une zone gérée, utilisez la commande dns managed-zones create :

gcloud dns managed-zones create name \
    --description=description \
    --dns-name=dns-suffix \
    --labels=labels \
    --visibility=public

Remplacez les options de commande suivantes :

  • name : nom de votre zone
  • description : description de votre zone
  • dns-name : suffixe DNS de votre zone, tel que example.com
  • labels : liste facultative de paires clé/valeur telles que Dept:Marketing ou Project:project1, séparées par une virgule. Pour plus d'informations, consultez la documentation du SDK.

API

Pour créer une zone gérée avec l'API, envoyez une requête POST à l'aide de la méthode managedZones.create :

POST https://www.googleapis.com/dns/v1/projects/project-id/managedZones
{
  "name": "name",
  "description": "description",
  "dnsName": "dns-name",
  "visibility": "public"
}

Remplacez les options de commande suivantes :

  • project-id : ID du projet dans lequel la zone gérée est créée
  • name : nom de votre zone
  • description : description de votre zone
  • dns-name : suffixe DNS de votre zone, tel que example.com

Créer une zone privée

Pour créer une zone privée gérée avec des enregistrements DNS privés gérés par Cloud DNS, suivez ces instructions. Pour plus d'informations, consultez les Bonnes pratiques pour les zones privées Cloud DNS.

Console

  1. Accédez à la page "Créer une zone DNS" dans Cloud Console.

    Accéder à la page "Créer une zone DNS"

  2. Sélectionnez Private pour le Type de zone.

  3. Saisissez un Nom de zone. Exemple :my-new-zone

  4. Saisissez un suffixe de Nom DNS pour la zone privée. Tous les enregistrements de la zone partagent ce suffixe, par exemple : example.private.

  5. Ajoutez éventuellement une Description.

  6. Sélectionnez les réseaux VPC pour lesquels la zone privée est visible. Seuls les réseaux VPC que vous sélectionnez sont autorisés à interroger des enregistrements dans la zone.

  7. Cliquez sur Créer.

gcloud

Pour créer une zone privée gérée, utilisez la commande dns managed-zones create :

gcloud dns managed-zones create name \
    --description=description \
    --dns-name=dns-suffix \
    --networks=vpc-network-list \
    --labels=labels \
    --visibility=private

Remplacez les options de commande suivantes :

  • name : nom de votre zone
  • description : description de votre zone
  • dns-name : suffixe DNS de votre zone, tel que example.private
  • vpc-network-list : liste de réseaux VPC autorisés à interroger la zone, séparés par une virgule. Ces réseaux doivent se trouver dans le même projet que la zone.
  • labels : liste facultative de paires clé/valeur telles que Dept:Marketing ou Project:project1, séparées par une virgule. Pour plus d'informations, consultez la documentation du SDK.

API

Pour créer une zone privée gérée avec l'API, envoyez une requête POST à l'aide de la méthode managedZones.create :

POST https://www.googleapis.com/dns/v1/projects/project-id/managedZones
{

"name": "name",
"description": "description",
"dnsName": "dns-name",
"visibility": "private"
"privateVisibilityConfig": {
    "kind": "dns#managedZonePrivateVisibilityConfig",
    "networks": [{
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
            "networkUrl": vpc-network-1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
            "networkUrl": vpc-network-2
        },
        ....
    ]
}

Remplacez les options de commande suivantes :

  • project-id : ID du projet dans lequel la zone gérée est créée
  • name : nom de votre zone
  • description : description de votre zone
  • dns-name : suffixe DNS de votre zone, tel que example.private
  • vpc-network-1 et vpc-network-2 : URL des réseaux VPC, dans le même projet, qui peuvent interroger les enregistrements de cette zone. Vous pouvez ajouter plusieurs réseaux VPC, comme indiqué. Pour déterminer l'URL d'un réseau VPC, utilisez la commande gcloud suivante, en remplaçant vpc-network-name par le nom du réseau :
gcloud compute networks describe vpc-network-name \
    --format="get(selfLink)"

Créer une zone de transfert

Pour créer une zone de transfert privée gérée, suivez ces instructions. Avant de commencer, assurez-vous de bien comprendre les différences entre le routage standard et privé, et la configuration réseau requise pour les cibles de transfert.

Pour plus d'informations, consultez les Bonnes pratiques pour les zones de transfert Cloud DNS.

Console

  1. Accédez à la page Créer une zone DNS dans Cloud Console.

    Accéder à la page "Créer une zone DNS"

  2. Sélectionnez Private pour le Type de zone.

  3. Saisissez un Nom de zone. Exemple :my-new-zone

  4. Saisissez un suffixe de Nom DNS pour la zone privée. Tous les enregistrements de la zone partagent ce suffixe. Exemple :example.private

  5. Ajoutez éventuellement une Description.

  6. Sous Options, sélectionnez Transférer les requêtes vers un autre serveur.

  7. Sélectionnez les réseaux auxquels la zone privée sera visible.

  8. Cliquez sur Ajouter un élément pour ajouter les adresses IPv4 d'une cible de transfert. Vous pouvez ajouter plusieurs adresses IP.

  9. Pour forcer le routage privé vers la cible de transfert, cochez l'option Activer sous Transfert privé. Pour obtenir des informations générales importantes sur les méthodes de routage vers les cibles de transfert, consultez la section Cibles de transfert et méthodes de routage.

  10. Cliquez sur Créer.

gcloud

Pour créer une zone de transfert privée gérée, utilisez la commande dns managed-zones create :

gcloud dns managed-zones create name \
    --description=description \
    --dns-name=dns-suffix \
    --networks=vpc-network-list \
    --forwarding-targets=forwarding-targets-list \
    --private-forwarding-targets=private-forwarding-targets-list \
    --visibility=private

Remplacez les options de commande suivantes :

  • name : nom de votre zone
  • description : description de votre zone
  • dns-name : suffixe DNS de votre zone, tel que example.private
  • vpc-network-list : liste de réseaux VPC autorisés à interroger la zone, séparés par une virgule. Ces réseaux doivent se trouver dans le même projet que la zone.
  • redirections-cibles-liste : liste d'adresses IP auxquelles sont envoyées les requêtes, séparées par une virgule. Les adresses IP RFC 1918 spécifiées avec cette option doivent être situées dans votre réseau VPC ou dans un réseau sur site connecté à l'aide de Google Cloud ou Cloud Interconnect. Les adresses IP non-RFC 1918 spécifiées avec cette option doivent être accessibles via Internet. Pour obtenir des informations de référence importantes, consultez la section Cibles de transfert et méthodes de routage.
  • private-redirecting-target-list : liste d'adresses IP auxquelles les requêtes sont envoyées, séparées par une virgule. Toute adresse IP spécifiée avec cette option doit être située dans votre réseau VPC ou dans un réseau sur site connecté à Google Cloud à l'aide de Cloud VPN ou Cloud Interconnect. Pour obtenir des informations de référence importantes, consultez la section Cibles de transfert et méthodes de routage.

API

Pour créer une zone de transfert privée gérée avec l'API, envoyez une requête POST à l'aide de la méthode managedZones.create :

POST https://www.googleapis.com/dns/v1/projects/project-id/managedZones
{

    "name": "name",
    "description": "description",
    "dnsName": "dns-name",
    "visibility": "private"
    "privateVisibilityConfig": {
        "kind": "dns#managedZonePrivateVisibilityConfig",
        "networks": [{
                "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
                "networkUrl": vpc-network-1
            },
            {
                "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
                "networkUrl": vpc-network-2
            },
            ....
        ]
    },
    "forwardingConfig": {
        "kind": "dns#managedZoneForwardingConfig",
        "targetNameServers": [{
                "kind": "dns#managedZoneForwardingConfigNameServerTarget",
                "ipv4Address": <
                    var>forwarding-target-1
            },
            {
                "kind": "dns#managedZoneForwardingConfigNameServerTarget",
                "ipv4Address": forwarding-target-2
            },
            ....
        ]
    },
}

Remplacez les options de commande suivantes :

  • project-id : ID du projet dans lequel la zone gérée est créée
  • name : nom de votre zone
  • description : description de votre zone
  • dns-name : suffixe DNS de votre zone, tel que example.private
  • vpc-network-1 et vpc-network-2 : URL des réseaux VPC du même projet pouvant interroger les enregistrements de cette zone. Vous pouvez ajouter plusieurs réseaux VPC, comme indiqué. Pour déterminer l'URL d'un réseau VPC, décrivez le réseau avec la commande gcloud suivante, en remplaçant vpc-network-name par le nom du réseau :

    gcloud compute networks describe vpc-network-name \
       --format="get(selfLink)"
    
  • forwarding-target-1 et forwarding-target-2 : adresses IP des serveurs de noms des cibles de transfert. Vous pouvez ajouter plusieurs cibles de transfert, comme indiqué. Les adresses IP RFC 1918 spécifiées ici doivent être situées dans votre réseau VPC ou dans un réseau sur site connecté à Google Cloud via Cloud VPN ou Cloud Interconnect. Les adresses IP non-RFC 1918 spécifiées avec cette option doivent être accessibles via Internet. Pour obtenir des informations de référence importantes, consultez la section Cibles de transfert et méthodes de routage.

Créer une zone d'appairage

Créez une zone d'appairage privée gérée lorsque vous avez besoin qu'un réseau VPC appelé réseau consommateur interroge l'ordre de résolution des noms VPC d'un autre réseau VPC appelé réseau producteur. Pour obtenir des informations de référence importantes, consultez la section Appairage DNS.

Console

  1. Accédez à la page "Créer une zone DNS" dans Cloud Console.

    Accéder à la page "Créer une zone DNS"

  2. Sélectionnez Private pour le Type de zone.

  3. Saisissez un Nom de zone. Exemple :my-new-zone

  4. Saisissez un suffixe de Nom DNS pour la zone privée. Tous les enregistrements de la zone partagent ce suffixe, par exemple : example.private.

  5. Ajoutez éventuellement une Description.

  6. Sélectionnez les réseaux pour lesquels la zone privée doit être visible.

  7. Sous Appairage DNS, cochez la case Activer l'appairage DNS.

  8. Sous Projet d'appairage, sélectionnez un projet d'appairage.

  9. Sous Réseau de pairs, sélectionnez un réseau de pairs.

  10. Cliquez sur Créer.

gcloud

  1. Dans le projet contenant le réseau VPC consommateur, identifiez ou créez un compte de service.

  2. Attribuez le rôle d'appairage DNS au compte de service (étape précédente) dans le projet contenant le réseau VPC producteur.

    gcloud projects add-iam-policy-binding producer-project-id \
       --member=service-account \
       --role=roles/dns.peer
    

    Remplacez les options de commande suivantes :

    • producteur-project-id : ID du projet contenant le réseau VPC producteur
    • service-account : compte de service créé ou identifié dans la première étape et situé dans le projet contenant le réseau VPC consommateur
  3. Dans le projet contenant le réseau VPC consommateur, créez une zone d'appairage privée gérée à l'aide de la commande dns managed-zones create :

    gcloud dns managed-zones create name \
      --description=description \
      --dns-name=dns-suffix \
      --networks=consumer-vpc-network \
      --account=service-account \
      --target-network=producer-vpc-network \
      --target-project=producer-project-id \
      --visibility=private
    

    Remplacez les options de commande suivantes :

    • name : nom de votre zone
    • description : description de votre zone
    • dns-name : suffixe DNS de votre zone, tel que example.com
    • consumer-vpc-network : nom du réseau VPC consommateur
    • service-account : compte de service du projet contenant le réseau VPC client et identifié dans la première étape. En cas d'omission, l'outil de ligne de commande gcloud utilise le membre Cloud IAM actuellement actif, comme indiqué par gcloud auth list.
    • producteur-vpc-network : nom du réseau VPC producteur
    • producteur-project-id : ID du projet contenant le réseau VPC producteur

Mettre à jour des zones gérées

Cloud DNS vous permet de modifier certains attributs de votre zone gérée publique ou privée.

Mettre à jour des zones publiques

Vous pouvez modifier la description ou la configuration DNSSEC d'une zone publique.

Console

  1. Accédez à la page Cloud DNS dans Cloud Console.

    Accéder à la page "Cloud DNS"

  2. Cliquez sur la zone publique que vous souhaitez mettre à jour.

  3. Cliquez sur Modifier.

  4. Pour modifier les paramètres DNSSEC, sous DNSSEC, sélectionnez Off, On ou Transfer. Pour en savoir plus, consultez la page Gérer la configuration DNSSEC.

  5. Vous pouvez éventuellement mettre à jour la description.

  6. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour une zone gérée, utilisez la commande dns managed-zones update :

gcloud dns managed-zones update name \
    --description=description \
    --dnssec-state=state

Remplacez les options de commande suivantes :

Mettre à jour des réseaux autorisés pour une zone privée

Pour modifier les réseaux VPC pour lesquels une zone privée est visible :

Console

  1. Accédez à la page Cloud DNS dans Cloud Console.

    Accéder à la page "Cloud DNS"

  2. Cliquez sur la zone privée que vous souhaitez mettre à jour.

  3. Cliquez sur Modifier.

  4. Sélectionnez les réseaux VPC pour lesquels la zone privée est visible. Seuls les réseaux VPC sélectionnés sont autorisés à interroger des enregistrements dans la zone.

  5. Cliquez sur Enregistrer.

gcloud

Pour mettre à jour les réseaux VPC autorisés d'une zone privée gérée, utilisez la commande dns managed-zones update :

gcloud dns managed-zones update name \
    --description=description \
    --networks=vpc-network-list

Remplacez les options de commande suivantes :

  • name : nom de votre zone
  • description : description de votre zone
  • vpc-network-list : liste de réseaux VPC autorisés à interroger la zone, séparés par une virgule. Ces réseaux doivent se trouver dans le même projet que la zone.

Mettre à jour des libellés

Pour ajouter, modifier, supprimer tous les libellés ou supprimer les libellés sélectionnés d'une zone gérée, utilisez les commandes dns managed-zones update comme indiqué ci-dessous :

gcloud dns managed-zones update name \
    --update-labels=labels
gcloud dns managed-zones update name \
    --remove-labels=labels
gcloud dns managed-zones update name \
    --clear-labels

Remplacez les options de commande suivantes :

  • name : nom de votre zone
  • labels : liste facultative de paires clé/valeur telles que Dept:Marketing ou Project:project1, séparées par une virgule. Pour plus d'informations, consultez la documentation du SDK.

Répertorier et décrire les zones gérées

Répertorier les zones gérées

Pour répertorier toutes les zones dans un projet, saisissez ce qui suit :

Console

  1. Les zones gérées sont affichées sur la page de la zone Cloud DNS dans Cloud Console.

    Accéder à la page "Cloud DNS"

gcloud

Pour répertorier toutes les zones gérées, utilisez la commande dns managed-zones list :

gcloud dns managed-zones list

Pour répertorier toutes les zones gérées, modifiez la commande comme suit :

gcloud dns managed-zones list \
   --filter="visibility=public"

Pour répertorier toutes les zones privées gérées, modifiez la commande comme suit :

gcloud dns managed-zones list \
   --filter="visibility=private"

Décrire une zone gérée

Pour afficher les attributs d'une zone gérée, procédez comme suit :

Console

  1. Accédez à la page de la zone Cloud DNS dans Cloud Console.

    Accéder à la page "Cloud DNS"

  2. Cliquez sur la zone que vous souhaitez inspecter.

gcloud

Pour afficher les attributs d'une nouvelle zone gérée, utilisez la commande dns managed-zones describe :

gcloud dns managed-zones describe name

Remplacez les options de commande suivantes :

  • name : nom de votre zone

Supprimer une zone gérée

Console

  1. Accédez à la page Cloud DNS dans Cloud Console.

    Accéder à la page "Cloud DNS"

  2. Cliquez sur la zone gérée que vous souhaitez supprimer.

  3. Supprimez tous les enregistrements de la zone, à l'exception des enregistrements SOA et NS. Pour en savoir plus, consultez la section Ajouter ou supprimer un enregistrement.

  4. Cliquez sur Supprimer la zone.

gcloud

  1. Supprimez tous les enregistrements de la zone, à l'exception des enregistrements SOA et NS. Pour en savoir plus, consultez la section Ajouter ou supprimer un enregistrement. Vous pouvez rapidement vider une zone entière en important un fichier vide dans un jeu d'enregistrements. Pour en savoir plus, consultez la section Importer et exporter des jeux d'enregistrements. Exemple :

    touch empty-file
    gcloud dns record-sets import -z name \
       --delete-all-existing \
       empty-file
    rm empty-file
    

    Remplacez les options de commande suivantes :

    • name : nom de votre zone
  2. Pour supprimer une nouvelle zone privée gérée, utilisez la commande dns managed-zones delete :

    gcloud dns managed-zones delete name
    

    Remplacez les options de commande suivantes :

    • name : nom de votre zone

Configuration requise pour le réseau cible de transfert

Lorsque Cloud DNS envoie des requêtes à des cibles de transfert, il envoie des paquets avec les plages sources répertoriées dans le tableau suivant :

Cible de transfert Plages sources
Cibles de transfert RFC 1918 accessibles via le routage standard
Toute cible de transfert accessible via le routage privé
35.199.192.0/19
Cibles de transfert non RFC 1918 accessibles via le routage standard Plages sources du DNS public de Google

Cibles privées

Lorsque Cloud DNS accède à des cibles de transfert RFC 1918 via le routage standard ou accède à toute cible en utilisant le routage privé, votre réseau sur site doit répondre aux exigences suivantes :

  • Autoriser le trafic provenant de 35.199.192.0/19 : le pare-feu de votre réseau sur site et les équipements similaires doivent autoriser les paquets provenant de sources dans la plage 35.199.192.0/19. Cloud DNS utilise la plage source 35.199.192.0/19 pour tous les clients. La plage d'adresses 35.199.192.0/19 est uniquement accessible à partir d'un réseau VPC Google Cloud ou d'un réseau sur site connecté à un réseau VPC.
  • Répondre à 35.199.192.0/19 via un réseau VPC : votre réseau sur site doit comporter une route qui dirige le trafic de réponse destiné à la plage d'adresses 35.199.192.0/19 vers votre réseau VPC, via un tunnel Cloud VPN ou un rattachement Cloud Interconnect (VLAN). Les réponses aux requêtes DNS provenant de cibles de transfert ne peuvent pas être transmises via Internet. Si votre réseau sur site répond à une plage d'adresses 35.199.192.0/19 via Internet, Google Cloud ignore la réponse. Vous pouvez répondre à cette exigence de routage de deux manières :
    • Pour les tunnels Cloud VPN qui utilisent le routage statique, créez manuellement sur votre réseau sur site une route dont la destination est 35.199.192.0/19 et dont le saut suivant est le tunnel Cloud VPN. Pour les tunnels Cloud VPN utilisant le routage basé sur des règles, configurez le sélecteur de trafic local de Cloud VPN et le sélecteur de trafic distant de la passerelle VPN sur site de façon à inclure la plage d'adresses 35.199.192.0/19.
    • Pour les tunnels Cloud VPN utilisant le routage dynamique ou pour Cloud Interconnect, configurez une annonce de routage personnalisée sur le routeur cloud qui gère le tunnel ou le rattachement d'interconnexion (VLAN).
  • Réponse directe de la cible de transfert : Cloud DNS requiert que le serveur de noms cible de transfert qui reçoit les paquets soit celui qui envoie la réponse à la plage d'adresses 35.199.192.0/19. Si votre serveur de noms envoie la requête à un serveur de noms différent et que cet autre serveur répond à la plage d'adresses 35.199.192.0/19, Cloud DNS ignore la réponse. Pour des raisons de sécurité, Google Cloud s'attend à ce que l'adresse source de la réponse DNS de chaque cible de transfert corresponde à l'adresse IP de la cible de transfert.

Cibles publiques

Lorsque Cloud DNS accède à une cible de transfert non RFC 1918 via le routage standard, il s'attend à ce que le serveur de noms soit accessible au public.

Étapes suivantes