Créer, modifier et supprimer des zones

Cette page explique comment créer, mettre à jour, répertorier et supprimer des zones gérées Cloud DNS. Avant d'utiliser cette page, familiarisez-vous avec la présentation de Cloud DNS et les termes clés.

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 Google 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. Consultez la section Configurer OAuth 2.0.
  4. Dans le projet, notez les informations suivantes que vous devrez saisir aux 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 Google 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é Google Cloud CLI, vous devez exécuter la commande suivante pour spécifier le nom du projet et vous authentifier dans Google Cloud Console :

gcloud auth login

Si vous souhaitez exécuter une commande gcloud sur les ressources Google Cloud d'un autre projet, spécifiez l'option --project pour cette commande et pour les autres commandes gcloud de 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. Dans Google Cloud Console, accédez à la page Créer une zone DNS.

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

  2. Dans le champ Type de zone, sélectionnez Publique.

  3. Saisissez un Nom de zone, tel que 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. Dans le champ DNSSEC, sélectionnez Désactivé, Activé ou Transfer. Pour en savoir plus, consultez la page Activer DNSSEC pour les zones gérées existantes.

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

gcloud

Exécutez la commande dns managed-zones create :

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --labels=LABELS \
    --visibility=public

Remplacez les éléments suivants :

  • NAME : nom de votre zone
  • DESCRIPTION : description de votre zone
  • DNS_SUFFIX : suffixe DNS de votre zone, tel que example.com
  • LABELS : liste facultative de paires clé/valeur séparées par une virgule, telle que dept=marketing ou project=project1. Pour en savoir plus, consultez la documentation du SDK.

Terraform

resource "google_dns_managed_zone" "example_zone" {
  name        = "example-zone"
  dns_name    = "example-${random_id.rnd.hex}.com."
  description = "Example DNS zone"
  labels = {
    name = "value"
  }
}

resource "random_id" "rnd" {
  byte_length = 4
}

API

Envoyez une requête POST à l'aide de la méthode managedZones.create :

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{
  "name": "NAME",
  "description": "DESCRIPTION",
  "dnsName": "DNS_NAME",
  "visibility": "public"
}

Remplacez l'élément suivant :

  • 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 gérée avec des enregistrements DNS privés gérés par Cloud DNS, procédez comme suit : Pour plus d'informations, consultez les Bonnes pratiques pour les zones privées Cloud DNS.

Console

  1. Dans Google Cloud Console, accédez à la page Créer une zone DNS.

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

  2. Dans le champ Type de zone, sélectionnez Privé.

  3. Saisissez un Nom de zone, tel que 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. Facultatif : ajoutez une description.

  6. Dans le champ Options, sélectionnez Par défaut (privé).

  7. Sélectionnez les réseaux de cloud privé virtuel (VPC) sur lesquels la zone privée doit être visible. Seuls les réseaux VPC que vous sélectionnez sont autorisés à interroger des enregistrements dans la zone.

  8. Cliquez sur Créer.

gcloud

Exécutez 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 éléments suivants :

  • NAME : nom de votre zone
  • DESCRIPTION : description de votre zone
  • DNS_SUFFIX : 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.
  • LABELS : liste facultative de paires clé/valeur séparées par une virgule, telle que dept=marketing ou project=project1. Pour en savoir plus, consultez la documentation du SDK.

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

API

Envoyez une requête POST à l'aide de la méthode managedZones.create :

POST https://dns.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 l'élément suivant :

  • 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 dans 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 avec des autorisations IAM spécifiques

L'autorisation IAM (Identity and Access Management) pour une zone gérée individuelle de ressource vous permet de configurer des autorisations de lecture, d'écriture ou d'administrateur spécifiques pour différentes zones gérées d'un même projet.

Pour obtenir des instructions sur la création d'une zone avec des autorisations IAM spécifiques, consultez la page Créer une zone avec des autorisations IAM spécifiques.

Créer une zone DNS dans l'annuaire des services

Vous pouvez créer une zone d'annuaire de service qui permet à vos services basés sur Google Cloud d'interroger votre espace de noms de l'annuaire des services via DNS.

Pour obtenir des instructions détaillées sur la création d'une zone DNS dans l'annuaire des services, consultez la section Configurer une zone DNS dans l'annuaire des services.

Pour savoir comment utiliser DNS pour interroger votre annuaire de services, consultez la page Interroger à l'aide de DNS.

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Créer une zone de transfert

Les zones de transfert vous permettent de cibler des serveurs de noms pour des zones privées spécifiques. Pour obtenir des instructions sur la création d'une zone de transfert privée gérée, consultez la section Créer une zone de transfert.

Créer une zone d'appairage

L'appairage DNS vous permet d'envoyer les requêtes des enregistrements provenant de l'espace de noms d'une zone à un autre réseau VPC. Pour obtenir des instructions sur la création d'une zone d'appairage, consultez la section Créer une zone d'appairage.

Créer une zone de liaison inter-projet

Créez une zone privée gérée qui peut être liée à un réseau appartenant à un autre projet au sein de la même organisation. Pour savoir comment créer une zone de liaison inter-projets, consultez la section Zones de liaison inter-projets.

Mettre à jour des zones gérées

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

Mettre à jour les zones publiques

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

Console

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

    Accéder aux zones 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 Désactivé, Activé ou Transfert. Pour en savoir plus, consultez la page Activer DNSSEC pour les zones gérées existantes.

  5. Facultatif : mettez à jour la description.

  6. Cliquez sur Enregistrer.

gcloud

Exécutez la commande dns managed-zones update :

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --dnssec-state=STATE

Remplacez les éléments suivants :

  • NAME : nom de votre zone
  • DESCRIPTION : description de votre zone
  • STATE : paramètre DNSSEC tel que Off, On ou Transfer

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

Console

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

    Accéder aux zones Cloud DNS

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

  3. Cliquez sur Modifier.

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

  5. Cliquez sur Enregistrer.

gcloud

Exécutez la commande dns managed-zones update :

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST

Remplacez les éléments suivants :

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

Mettre à jour les étiquettes

Pour ajouter, modifier ou supprimer un libellé, ou supprimer tous les libellés d'une zone gérée, procédez comme suit :

gcloud

Exécutez la commande dns managed-zones update :

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 éléments suivants :

  • NAME : nom de votre zone
  • LABELS : liste facultative de paires clé/valeur séparées par une virgule, telle que dept=marketing ou project=project1. Pour en savoir plus, consultez la documentation du SDK.

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

Les sections suivantes expliquent comment répertorier ou décrire une zone gérée.

Répertorier les zones gérées

Pour répertorier toutes les zones gérées d'un projet, procédez comme suit :

Console

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

    Accéder aux zones Cloud DNS

  2. Affichez les zones gérées dans le volet de droite.

gcloud

Exécutez 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. Dans Google Cloud Console, accédez à la page Zones Cloud DNS.

    Accéder aux zones Cloud DNS

  2. Cliquez sur la zone que vous souhaitez inspecter.

gcloud

Exécutez la commande dns managed-zones describe :

gcloud dns managed-zones describe NAME

Remplacez NAME par le nom de votre zone.

Supprimer une zone gérée

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

Console

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

    Accéder aux zones Cloud DNS

  2. Cliquez sur la zone 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 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 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 NAME par le nom de votre zone.

  2. Pour supprimer une nouvelle zone gérée privée, exécutez la commande dns managed-zones delete :

    gcloud dns managed-zones delete NAME
    

    Remplacez NAME par le nom de votre zone.

Étapes suivantes