Tutorial: configurare un dominio utilizzando Cloud DNS


Questo tutorial illustra la procedura per registrare un dominio, configurare un server web di esempio e utilizzare Cloud DNS per indirizzare l'URL del dominio al server.

Se non hai mai utilizzato Terraform per Google Cloud, consulta la guida introduttiva a Terraform.

Obiettivi

Questo tutorial mostra come completare le seguenti attività:

  • Registrare un nome di dominio utilizzando Cloud Domains
  • Creare un'istanza di macchina virtuale (VM) Compute Engine
  • Esegui un server web Apache di base
  • Configurare il dominio utilizzando Cloud DNS
  • Aggiorna i server dei nomi
  • Verificare la configurazione

Costi

La registrazione di un nome di dominio comporta un costo. Per informazioni sui prezzi di Cloud Domains, consulta la pagina Prezzi di Cloud Domains.

Prima di iniziare

  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. Abilita l'API Compute Engine.

    Abilita l'API

Registra un nome di dominio

Se hai già un dominio registrato, salta questa sezione.

Puoi utilizzare Cloud Domains per registrare un dominio. Cloud Domains ti consente di utilizzare lo stesso account di fatturazione per il tuo dominio che hai creato nella sezione Prima di iniziare. Per istruzioni su come registrare un dominio utilizzando Cloud Domains, consulta Registrare un dominio.

Creare un'istanza di una macchina virtuale

Console

Per creare un'istanza di macchina virtuale (VM) Linux in Compute Engine, segui queste istruzioni:

  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. Nella scheda Public images, scegli Debian GNU/Linux,
  4. Fai clic su Seleziona.
  5. Nella sezione Firewall, seleziona Consenti traffico HTTP.
  6. Per creare la VM, fai clic su Crea.

Attendi qualche istante per l'avvio dell'istanza. Quando l'istanza è pronta, viene elencata nella pagina Istanze VM con un'icona di stato verde.

Connettiti all'istanza

  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.

Ora hai una finestra del terminale per interagire con l'istanza Linux.

Per maggiori dettagli, consulta la guida rapida all'utilizzo di una VM Linux.

Esegui un server web Apache di base

In questa sezione, esegui e testare un server web Apache.

  1. Dalla finestra SSH, utilizza il gestore dei pacchetti di Debian per installare il pacchetto apache2.

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

    Dopo aver installato Apache, il sistema operativo avvia automaticamente il server Apache.

  2. Sovrascrivi la pagina web predefinita per il server web Apache utilizzando il seguente comando:

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

testa il server

Verifica che la tua istanza stia inviando traffico sul suo indirizzo IP esterno.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Nella colonna IP esterno, copia l'indirizzo IP esterno della tua istanza.
  3. In un browser, vai a http://[EXTERNAL_IP]. Non utilizzare https per collegarti perché il server restituirà un errore Connection Refused.

Ora dovresti visualizzare la pagina Hello World!.

Per ulteriori dettagli, consulta Eseguire un server web Apache di base.

Configurare il dominio utilizzando Cloud DNS

Se esegui la migrazione da un provider esistente, puoi importare le tue zone esistenti in Cloud DNS. Per le istruzioni, consulta Esportare la configurazione DNS dal provider esistente. In caso contrario, segui questi passaggi per creare una nuova zona pubblica.

Console

  1. Nella console Google Cloud, vai alla pagina Crea una zona DNS.

    Vai a Crea una zona DNS

  2. In Tipo di zona, seleziona Pubblica.

  3. In Nome zona, inserisci my-new-zone.

  4. In Nome DNS, inserisci un suffisso del nome DNS per la zona utilizzando un nome di dominio registrato (ad esempio example.com).

  5. Per DNSSEC, assicurati che sia selezionata l'impostazione Off.

  6. Fai clic su Crea per creare una zona compilata con i record NS e SOA.

  7. Per associare il nome del dominio registrato all'indirizzo IP del server di hosting, devi aggiungere un record A alla zona:

    1. Nella pagina Dettagli zona, fai clic su Aggiungi standard.
    2. Seleziona A dal menu Tipo di record risorsa.
    3. In Indirizzo IPv4, inserisci l'indirizzo IP esterno dell'istanza.
    4. Fai clic su Crea per creare il record A per la tua zona.
  8. (Facoltativo) Aggiungi un record CNAME per tenere conto di un prefisso al nome di dominio (ad esempio www.):

    1. Fai clic su Aggiungi standard.
    2. Nel campo Nome DNS, aggiungi il prefisso www per il dominio.
    3. In Tipo di record risorsa, scegli CNAME.
    4. In Nome canonico, inserisci il nome di dominio, seguito da un punto (ad esempio example.com.).
    5. Fai clic su Crea.

Aggiorna i server dei nomi

Per aggiornare i server dei nomi in Cloud Domains:

  1. Nella console Google Cloud, vai alla pagina Cloud Domains.

    Vai a Cloud Domains

  2. Fai clic sul nome di dominio che vuoi modificare. Puoi anche fare clic su Altro accanto al nome di dominio per visualizzare il menu di modifica.

  3. Per modificare i dettagli DNS, fai clic su Modifica dettagli DNS.

  4. Seleziona Utilizza Cloud DNS (consigliato).

  5. Nell'elenco Zona Cloud DNS, seleziona my-new-zone.

  6. Fai clic su Salva.

Terraform

Puoi utilizzare le risorse Terraform per creare un'istanza di macchina virtuale (VM), eseguire un server web Apache, configurare il tuo dominio utilizzando Cloud DNS e aggiornare i server dei nomi.

Puoi anche utilizzare il modulo Terraform per configurare Cloud DNS con zone pubbliche, private, di peering o di inoltro. Per saperne di più sulle zone, consulta la Panoramica delle zone 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
  ]
}

Verificare la configurazione

Per verificare che la configurazione funzioni, dopo aver aggiornato i server dei nomi, vai al nome di dominio (ad esempio example.com). Il dominio dovrebbe risolvere nel tuo indirizzo IP e puntare alla VM Compute Engine che mostra la pagina Hello World! che hai creato in Eseguire un server web Apache di base.

Per verificare che la configurazione sia corretta, puoi anche eseguire il comando dig +trace example.com nella finestra del terminale. Sostituisci example.com con il nome del tuo dominio registrato.

dig +trace example.com

La fine dell'output deve includere quanto segue. IP_ADDRESS è l'indirizzo IP del tuo server 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

Per verificare che le modifiche siano andate a buon fine, esegui il seguente comando:

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

Dopo aver atteso il completamento della propagazione DNS, puoi anche eseguire il comando nslookup per verificare la configurazione:

nslookup example.com

L'output deve includere quanto segue. IP_ADDRESS è l'indirizzo IP del tuo server web.

Server:     127.0.0.1
Address:    127.0.0.1#53

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

Esegui la pulizia

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sul nome di una zona (ad esempio my-new-zone) per accedere alla pagina Dettagli zona.

  3. Seleziona i record A e CNAME che hai creato.

  4. Fai clic su Elimina set di record.

  5. Per eliminare la zona, fai clic su Elimina zona accanto al nome della zona my-new-zone.

  6. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  7. Seleziona l'istanza che vuoi eliminare.

  8. Nel menu Altro nella riga dell'istanza, fai clic su Elimina.

Passaggi successivi