Configurer un domaine à l'aide de Cloud DNS

Ce tutoriel explique comment enregistrer un domaine, configurer un exemple de serveur Web et utiliser Cloud DNS pour pointer l'URL du domaine vers le serveur.

Si vous débutez avec Terraform sur Google Cloud, consultez la page Premiers pas avec Google Cloud sur le site Web de HashiCorp.

Objectifs

Ce tutoriel explique comment effectuer les tâches suivantes :

  • Enregistrer un nom de domaine à l'aide de Google Domains ou de Cloud Domains
  • Créer une instance de machine virtuelle (VM)
  • Exécuter un serveur Web Apache basique
  • Configurer le domaine à l'aide de Cloud DNS
  • Mettre à jour les serveurs de noms
  • Vérifier votre configuration

Coûts

L'enregistrement d'un nom de domaine entraîne un coût. Pour connaître les tarifs de Google Domains, consultez la section Tarifs et domaines de premier niveau compatibles. Pour en savoir plus sur les tarifs de Cloud Domains, consultez la page Tarifs de Cloud Domains.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

  6. Activez l'API Compute Engine.

    Activer l'API

Enregistrer un nom de domaine

Pour enregistrer un domaine à l'aide de Google Domains, procédez comme suit :

  1. Pour enregistrer un domaine, accédez à Google Domains. Si vous possédez déjà un domaine, vous pouvez ignorer cette étape.
  2. Vérifiez les noms de domaine disponibles et choisissez-en un pour votre domaine.
  3. Pour acheter le domaine, cliquez sur Ajouter au panier.
  4. Sélectionnez les paramètres de confidentialité et de renouvellement automatique de votre choix, puis cliquez sur Enregistrer et continuer.
  5. Terminez l'enregistrement.
  6. Pour afficher la liste des domaines dont vous disposez, cliquez sur Mon domaine dans le menu de navigation de gauche.

Pour en savoir plus, consultez la section Premiers pas avec Google Domains.

Pour enregistrer un domaine à l'aide de Cloud Domains, consultez la page Enregistrer un domaine.

Console

Créer une instance de machine virtuelle

Pour créer une instance de machine virtuelle (VM) Linux dans Compute Engine, procédez comme suit :

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

    Accéder à la page Créer une instance

  2. Dans la section Disque de démarrage, cliquez sur Modifier pour commencer à configurer le disque de démarrage.
  3. Dans l'onglet Public images, sélectionnez Debian version 9.
  4. Cliquez sur Select (Sélectionner).
  5. Dans la section Pare-feu, sélectionnez Autoriser le trafic HTTP.
  6. Pour créer la VM, cliquez sur Créer.

Patientez un court instant le temps que l'instance démarre. Une fois l'instance prête, elle est répertoriée sur la page Instances de VM avec une icône d'état verte.

Se connecter à votre instance

  1. Dans Cloud Console, accédez à la page Instances de VM :

    Accéder à la page Instances de VM

  2. Dans la liste des instances de machine virtuelle, cliquez sur SSH sur la ligne de l'instance à laquelle vous souhaitez vous connecter.

    bouton SSH en regard du nom de l'instance.

Vous disposez maintenant d'une fenêtre de terminal pour interagir avec votre instance Linux.

Pour en savoir plus, consultez le Guide de démarrage rapide avec une VM Linux.

Exécuter un serveur Web Apache basique

Dans cette section, vous allez exécuter et tester un serveur Web Apache.

Installer Apache

  1. Depuis la fenêtre SSH, utilisez le gestionnaire de packages Debian pour installer le package apache2.

    sudo apt-get update && sudo apt-get install apache2 -y
    

    Après l'installation d'Apache, le système d'exploitation lance automatiquement le serveur Apache.

  2. Écrasez la page Web par défaut du serveur Web Apache à l'aide de la commande suivante :

    echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" \
    | sudo tee /var/www/html/index.html
    

Tester le serveur

Vérifiez que votre instance envoie du trafic vers son adresse IP externe.

  1. Dans Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Sous la colonne Adresse IP externe, copiez l'adresse IP externe de votre instance.
  3. Dans un navigateur, accédez à http://[EXTERNAL_IP]. N'utilisez pas https pour vous connecter, car le serveur renverra une erreur Connection Refused.

La page Hello World! doit maintenant s'afficher.

Pour en savoir plus, consultez la page Exécuter un serveur Web Apache basique.

Configurer le domaine à l'aide de Cloud DNS

Si vous effectuez une migration depuis un fournisseur existant, vous pouvez importer vos zones existantes vers Cloud DNS. Pour obtenir des instructions, consultez la page Exporter la configuration DNS de votre fournisseur existant. Sinon, procédez comme suit pour créer une zone publique.

  1. Dans 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. Dans le champ Nom de zone, saisissez my-new-zone.

  4. Dans le champ Nom DNS, saisissez un suffixe de nom DNS pour la zone en utilisant un nom de domaine que vous avez enregistré (par exemple, example.com).

  5. Sous DNSSEC, assurez-vous que le paramètre Off est sélectionné.

  6. Cliquez sur Créer pour créer une zone contenant les enregistrements NS et SOA.

  7. Pour pointer votre nom de domaine enregistré vers l'adresse IP du serveur d'hébergement, vous devez ajouter un enregistrement A à votre zone :

    1. Sur la page Détails de la zone, cliquez sur Ajouter un jeu d'enregistrements.
    2. Sélectionnez A dans le menu Type d'enregistrement de la ressource.
    3. Sous Adresse IPv4, saisissez l'adresse IP externe de votre instance.
    4. Cliquez sur Créer pour créer l'enregistrement A pour votre zone.
  8. Facultatif : Ajoutez un enregistrement CNAME pour tenir compte d'un préfixe menant à votre nom de domaine (par exemple, www.).

    1. Cliquez sur Ajouter un jeu d'enregistrements.
    2. Dans le champ Nom DNS, ajoutez le préfixe www pour le domaine.
    3. Comme Type d'enregistrement de la ressource, choisissez CNAME.
    4. Dans le champ Nom canonique, saisissez le nom de domaine suivi d'un point (par exemple, example.com.).
    5. Cliquez sur Create (Créer).
  9. Sur la page Détails de la zone, cliquez sur Configuration du bureau d'enregistrement en haut à droite pour accéder aux enregistrements NS. Notez ces enregistrements, car vous en aurez besoin pour passer à l'étape 5.

Mettre à jour les serveurs de noms

Pour mettre à jour les serveurs de noms dans Google Domains, procédez comme suit :

  1. Pour mettre à jour les serveurs de noms de votre domaine, accédez à Google Domains.
  2. Cliquez sur le domaine que vous avez configuré dans Enregistrer un nom de domaine. Vous pouvez également cliquer sur le lien Gérer correspondant à ce domaine.
  3. Dans le menu de navigation de gauche, cliquez sur DNS.
  4. Sous Serveurs de noms, sélectionnez Utiliser les serveurs de noms personnalisés.
  5. Dans le champ Serveur de noms, saisissez un par un les enregistrements NS que vous avez copiés à partir de la page Détails de la zone (par exemple, ns1.googledomains.com).
  6. Pour ajouter des serveurs de noms, cliquez sur Ajouter.
  7. Mettez à jour les quatre serveurs de noms sur votre page DNS de Google Domains.
  8. Cliquez sur Enregistrer.

Terraform

Vous pouvez utiliser les ressources Terraform pour créer une machine virtuelle (VM), exécuter un serveur Web Apache, configurer votre domaine à l'aide de Cloud DNS et mettre à jour les serveurs de noms.

Vous pouvez également utiliser le module Terraform pour configurer Cloud DNS avec des zones publiques, privées, d'appairage ou de transfert. Pour en savoir plus sur les zones, consultez la présentation des zones DNS.

# to setup a web-server
resource "google_compute_instance" "default" {
  name         = "dns-compute-instance"
  machine_type = "g1-small"
  zone         = "us-central1-b"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral public IP
    }
  }
  metadata_startup_script = <<-EOF
  sudo apt-get update && \
  sudo apt-get install apache2 -y && \
  echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" > /var/www/html/index.html
  EOF
}

# to allow http traffic
resource "google_compute_firewall" "default" {
  name    = "allow-http-traffic"
  network = "default"
  allow {
    ports    = ["80"]
    protocol = "tcp"
  }
  source_ranges = ["0.0.0.0/0"]
}

# to create a DNS zone
resource "google_dns_managed_zone" "default" {
  name          = "example-zone-googlecloudexample"
  dns_name      = "googlecloudexample.com."
  description   = "Example DNS zone"
  force_destroy = "true"
}

# to register web-server's ip address in DNS
resource "google_dns_record_set" "default" {
  name         = google_dns_managed_zone.default.dns_name
  managed_zone = google_dns_managed_zone.default.name
  type         = "A"
  ttl          = 300
  rrdatas = [
    google_compute_instance.default.network_interface.0.access_config.0.nat_ip
  ]
}

Vérifier votre configuration

Pour vous assurer du bon fonctionnement de votre configuration, après avoir mis à jour les serveurs de noms, accédez à votre nom de domaine (par exemple, example.com). Le domaine doit être associé à votre adresse IP et doit pointer vers la VM Compute Engine affichant le message Hello World! que vous avez créé à l'étape Exécuter un serveur Web Apache basique..

Pour vérifier que votre configuration est correcte, vous pouvez également exécuter la commande dig +trace example.com dans votre fenêtre de terminal. Remplacez example.com par le nom de votre domaine enregistré.

dig +trace example.com

La fin du résultat doit inclure les éléments suivants. IP_ADDRESS est l'adresse IP de votre serveur Web.

example.com.    300 IN  A   IP_ADDRESS
;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms

Pour vérifier que les modifications ont bien été effectuées, la ligne suivante dans votre résultat de commande montre que les serveurs de noms de domaine de premier niveau sont associés aux serveurs de noms personnalisés que vous avez saisis dans Google Domains, et non aux serveurs de noms d'origine proposés par Google Domains :

example.com IN NS <your Cloud DNS name servers>

Une fois la propagation DNS terminée, vous pouvez vérifier votre configuration en exécutant la commande nslookup :

nslookup example.com

Le résultat doit inclure les éléments suivants. IP_ADDRESS est l'adresse IP de votre serveur Web.

Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: IP_ADDRESS

Nettoyer

Console

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

    Accéder aux zones Cloud DNS

  2. Cliquez sur un nom de zone (par exemple, my-new-zone) pour accéder à la page Détails de la zone.

  3. Sélectionnez les enregistrements A et CNAME que vous avez créés.

  4. Cliquez sur Supprimer les jeux d'enregistrements.

  5. Pour supprimer la zone, cliquez sur Supprimer la zone pour le nom de zone my-new-zone.

  6. Accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  7. Sélectionnez l'instance que vous souhaitez supprimer.

  8. Dans le menu Plus situé sur la ligne de l'instance, cliquez sur Supprimer.

Étape suivante

  • Pour ajouter, supprimer ou mettre à jour des enregistrements, consultez la section Gérer les enregistrements.
  • Pour créer, mettre à jour, répertorier et supprimer des zones gérées, consultez la page Gérer les 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 référencer l'API, consultez la documentation sur l'API REST Cloud DNS.
  • Pour déterminer les coûts, consultez la page Tarifs de Cloud DNS.
  • Pour en savoir plus sur Cloud DNS, consultez la page Présentation de Cloud DNS.