Tutoriel : Configurer un domaine à l'aide de Cloud DNS


Ce tutoriel présente le processus pour 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 pour Google Cloud, consultez la page Premiers pas avec Terraform.

Objectifs

Ce tutoriel explique comment effectuer les tâches suivantes :

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

Coûts

L'enregistrement d'un nom de domaine entraîne un coût. 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. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  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. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  6. Activez l'API Compute Engine.

    Activer l'API

Enregistrer un nom de domaine

Si vous possédez déjà un domaine enregistré, ignorez cette section.

Vous pouvez utiliser Cloud Domains pour enregistrer un domaine. Cloud Domains vous permet d'utiliser le même compte de facturation pour votre domaine que celui que vous avez créé dans la section Avant de commencer. Pour savoir comment enregistrer un domaine à l'aide de Cloud Domains, consultez la page Enregistrer un domaine.

Créer une instance de machine virtuelle

Console

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 la console Google Cloud.

    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 la console Google Cloud, 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.

  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 votre serveur

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

Console

  1. Dans Google 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 section Exporter la configuration DNS de votre fournisseur existant. Sinon, procédez comme suit pour créer une zone publique.

Console

  1. Dans la console Google Cloud, 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 associer votre nom de domaine enregistré à 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 standard.
    2. Sélectionnez A dans le menu Type d'enregistrement de ressource.
    3. Sous Adresse IPv4, saisissez l'adresse IP externe de votre instance.
    4. Cliquez sur Créer pour créer l'enregistrement A de 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 standard.
    2. Dans le champ Nom DNS, ajoutez le préfixe www pour le domaine.
    3. Dans Type d'enregistrement de 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 Créer.

Mettre à jour les serveurs de noms

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

  1. Dans la console Google Cloud, accédez à la page Cloud Domains.

    Accéder à Cloud Domains

  2. Cliquez sur le nom du domaine que vous souhaitez modifier. Vous pouvez également cliquer sur Plus à côté du nom de domaine pour afficher le menu d'édition.

  3. Pour modifier les détails DNS, cliquez sur Edit DNS details (Modifier les détails DNS).

  4. Sélectionnez Use Cloud DNS (Recommended) (Utiliser Cloud DNS (recommandé)).

  5. Dans la liste Zone Cloud DNS, sélectionnez my-new-zone.

  6. Cliquez sur Enregistrer.

Terraform

Vous pouvez utiliser les ressources Terraform pour créer une instance de 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 "random_id" "rnd" {
  byte_length = 4
}

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-11"
    }
  }

  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      = "example-${random_id.rnd.hex}.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 vérifier que votre configuration fonctionne, après la mise à jour des serveurs de noms, accédez à votre nom de domaine (par exemple, example.com). Le domaine doit correspondre à votre adresse IP et pointer vers la VM Compute Engine affichant la page Hello World! que vous avez créée dans la section 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é appliquées, exécutez la commande suivante:

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 la console Google Cloud, 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.

Étapes suivantes