Instructivo: Configurar un dominio con Cloud DNS


En este instructivo, se proporciona una explicación del proceso para registrar un dominio, configurar un servidor web de muestra y usar Cloud DNS a fin de apuntar la URL del dominio hacia el servidor.

Si es la primera vez que usas Terraform para Google Cloud, consulta Comienza a usar Terraform.

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas:

  • Registra un nombre de dominio con Cloud Domains
  • Crea una instancia de máquina virtual (VM) de Compute Engine
  • Ejecutar un Apache Web Server básico
  • Configurar tu dominio con Cloud DNS
  • Actualiza los servidores de nombres
  • Verificar tu configuración

Costos

Hay un costo asociado con el registro de un nombre de dominio. Para obtener los precios de Cloud Domains, consulta esta página.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  3. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  4. En la página del selector de proyectos de la consola de Google Cloud, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

  5. Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

  6. Habilita la API de Compute Engine.

    Habilitación de la API

Registrar un nombre de dominio

Si ya tienes un dominio registrado, omite esta sección.

Puedes usar Cloud Domains para registrar un dominio. Cloud Domains te permite usar para el dominio la misma cuenta de facturación que creaste en la sección Antes de comenzar. Si quieres obtener instrucciones para registrar un dominio con Cloud Domains, consulta Registra un dominio.

Crea una instancia de máquina virtual

Console

Para crear una instancia de máquina virtual (VM) de Linux en Compute Engine, sigue estas instrucciones:

  1. En la consola de Google Cloud, ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. En la sección Disco de arranque, haz clic en Cambiar para comenzar a configurar el disco de arranque.
  3. En la pestaña Public images, selecciona Debian version 9.
  4. Haz clic en Seleccionar.
  5. En la sección Firewall, selecciona Permitir tráfico HTTP.
  6. Para crear la VM, haz clic en Crear.

Espera un momento hasta que se inicie la instancia. Una vez que la instancia esté lista, se mostrará en la página Instancias de VM con un ícono de estado verde.

Conéctate a la instancia

  1. En la Consola de APIs, ve a la página Instancias de VM.

    Ir a la página Instancias de VM

  2. En la lista de instancias de máquinas virtuales, haz clic en el botón SSH de la fila de la instancia a la que quieres conectarte.

Ahora tienes una ventana de la terminal para interactuar con tu instancia de Linux.

Para obtener detalles, consulta Guía de inicio rápido para usar una VM de Linux.

Ejecutar un Apache Web Server básico

En esta sección, ejecutarás y probarás un servidor web Apache.

  1. Desde la ventana de SSH, usa el administrador de paquetes de Debian para instalar el paquete apache2.

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

    Después de instalar Apache, el sistema operativo inicia el servidor Apache de forma automática.

  2. Reemplaza la página web predeterminada para el servidor web Apache con el siguiente comando:

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

Prueba el servidor

Verifica que tu instancia entregue tráfico en su IP externa.

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. En la columna IP externa, copia la dirección IP externa para la instancia.
  3. En el navegador, ve a http://[EXTERNAL_IP]. No uses https para conectarte porque el servidor mostrará un error Connection Refused.

Ahora, deberías ver la página Hello World!.

Para obtener más detalles, consulta la sección para ejecutar un servidor web Apache básico.

Configurar tu dominio con Cloud DNS

Si migras desde un proveedor existente, puedes importar tus zonas existentes a Cloud DNS. Para obtener instrucciones, consulta Exporta la configuración de DNS de tu proveedor existente. De lo contrario, sigue estos pasos para crear una zona pública nueva.

Console

  1. En la consola de Google Cloud, ve a la página Crear una zona del DNS.

    Ir a Crear una zona de DNS

  2. En Tipo de zona, selecciona Público.

  3. En Nombre de zona, ingresa my-new-zone.

  4. En Nombre de DNS, ingresa un sufijo de nombre de DNS para la zona. Para ello, usa un nombre de dominio que hayas registrado (por ejemplo, example.com).

  5. En DNSSEC, asegúrate de que esté seleccionada la configuración Off.

  6. Haz clic en Crear para crear una zona propagada con los registros NS y SOA.

  7. Para apuntar el nombre de dominio registrado a la dirección IP del servidor de hosting, debes agregar un registro A a tu zona:

    1. En la página Detalles de la zona, haz clic en Agregar estándar.
    2. Selecciona A en el menú Tipo de registro del recurso.
    3. En Dirección IPv4, ingresa la dirección IP externa de tu instancia.
    4. Haz clic en Crear a fin de crear el registro A para su zona.
  8. Agrega un registro CNAME si deseas dar cuenta de un prefijo para tu nombre de dominio (por ejemplo, www.) (opcional).

    1. Haz clic en Agregar estándar.
    2. En el campo Nombre de DNS, agrega el prefijo www para el dominio.
    3. En Tipo de registro de recursos, selecciona CNAME.
    4. En Nombre canónico, ingresa el nombre de dominio, seguido de un punto (por ejemplo, example.com.).
    5. Haz clic en Crear.

Actualiza los servidores de nombres

Sigue estos pasos para actualizar los servidores de nombres en Cloud Domains:

  1. En la consola de Google Cloud, ve a la página Cloud Domains.

    Ir a Cloud Domains

  2. Haz clic en el nombre de dominio que quieres editar. También puedes hacer clic en Más junto al nombre del dominio para ver el menú de edición.

  3. Para editar los detalles del DNS, haz clic en Editar detalles del DNS.

  4. Selecciona Usar Cloud DNS (recomendado).

  5. En la lista Zona de Cloud DNS, selecciona my-new-zone.

  6. Haz clic en Guardar.

Terraform

Puedes usar los recursos de Terraform para crear una instancia de máquina virtual (VM), ejecutar un servidor web Apache, configurar tu dominio con Cloud DNS y actualizar los servidores de nombres.

También puedes usar el módulo de Terraform para configurar Cloud DNS con zonas públicas, privadas, de intercambio de tráfico o de reenvío. Para obtener más información sobre las zonas, consulta la descripción general de las zonas del 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
  ]
}

Verifica la configuración

Para verificar que tu configuración funcione, después de actualizar los servidores de nombres, navega a tu nombre de dominio (por ejemplo, example.com). El dominio debe resolverse en tu dirección IP y debe apuntar a la VM de Compute Engine que muestra la página Hello World! que creaste en Ejecuta un servidor web Apache básico.

Para verificar que tu configuración sea correcta, también puedes ejecutar el comando dig +trace example.com en la ventana de la terminal. Reemplaza example.com por tu nombre de dominio registrado.

dig +trace example.com

El final del resultado debe incluir lo siguiente. IP_ADDRESS es la dirección IP de tu servidor 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

Para verificar que los cambios se realizaron correctamente, ejecuta el siguiente comando:

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

Después de esperar a que se complete la propagación de DNS, también puedes ejecutar el comando nslookup para verificar la configuración:

nslookup example.com

El resultado debe incluir lo siguiente. IP_ADDRESS es la dirección IP de tu servidor web.

Server:     127.0.0.1
Address:    127.0.0.1#53

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

Limpia

Console

  1. En la consola de Google Cloud, ve a la página Zonas de Cloud DNS.

    Ir a Zonas de Cloud DNS

  2. Haz clic en el nombre de una zona (por ejemplo, my-new-zone) para acceder a la página Detalles de la zona.

  3. Selecciona los registros A y CNAME que creaste.

  4. Haz clic en Borrar conjuntos de registros.

  5. Si deseas borrar la zona, haz clic en Borrar zona  para el nombre de la zona my-new-zone.

  6. Ve a la página Instancias de VM.

    Ir a Instancias de VM

  7. Selecciona la instancia que deseas borrar.

  8. En el menú Más  en la fila de la instancia, haz clic en Borrar.

¿Qué sigue?