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 serveurs de noms
  • 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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  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. In the Google Cloud console, go to the Create an instance page.

    Go to Create an instance

  2. In the Boot disk section, click Change to begin configuring your boot disk.
  3. Dans l'onglet Public images, sélectionnez Debian GNU/Linux.
  4. Cliquez sur 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. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

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

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. 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 standard.
    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'enregistrement standard.
    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 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 de domaine que vous souhaitez modifier. Vous pouvez également cliquer sur Plus à côté du nom de domaine pour afficher le menu de modification.

  3. Pour modifier les détails DNS, cliquez sur Modifier les détails DNS.

  4. Sélectionnez 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 avoir mis à jour les 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 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é apporté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 Google 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