Crear, modificar y borrar zonas

En esta página, se proporcionan instrucciones para crear, actualizar, mostrar y borrar zonas administradas de Cloud DNS. Antes de usar esta página, familiarízate con los términos clave y la descripción general de Cloud DNS.

Antes de comenzar

La API de Cloud DNS requiere que crees un proyecto de Cloud DNS y que habilites la API de Cloud DNS.

Si creas una aplicación que usa la API de REST, también debes crear un ID de cliente de OAuth 2.0.

  1. Si aún no lo hiciste, regístrate para obtener una Cuenta de Google.
  2. Habilita la API de Cloud DNS en la consola de Google Cloud. Puedes seleccionar un proyecto existente de Compute Engine o App Engine, o puedes crear un proyecto nuevo.
  3. Si necesitas realizar solicitudes a la API de REST, deberás crear un ID de OAuth 2.0. Consulta Configura OAuth 2.0.
  4. En el proyecto, observa la siguiente información que deberás ingresar en los pasos posteriores:
    • El ID de cliente (xxxxxx.apps.googleusercontent.com).
    • El ID del proyecto que deseas usar. Puedes encontrar el ID en la parte superior de la página Descripción general en la consola de Google Cloud. También puedes solicitarle al usuario que proporcione el nombre del proyecto que desea usar en tu app.

Si no ejecutaste la Google Cloud CLI antes, debes ejecutar el siguiente comando para especificar el nombre del proyecto y autenticarlo con la consola de Google Cloud:

gcloud auth login

Si deseas ejecutar un comando de gcloud en los recursos de Google Cloud en otro proyecto, especifica la opción --project para este comando y los otros comandos gcloud a lo largo de esta página.

Crea zonas administradas

Cada zona administrada que creas está asociada con un proyecto de Google Cloud. En las siguientes secciones, se describe cómo crear el tipo de zona administrada compatible con Cloud DNS.

Crea una zona pública

Para crear una nueva zona administrada, completa los siguientes pasos.

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. Ingresa un nombre de zona, como my-new-zone.

  4. Ingresa un sufijo de nombre de DNS para la zona. Usa un nombre de dominio de tu propiedad. En todos los registros de la zona, se comparte este sufijo, por ejemplo: example.com.

  5. En DNSSEC, selecciona Off, On o Transfer. A fin de obtener más información, consulta Habilita DNSSEC para zonas administradas existentes.

  6. Haga clic en Crear. Se muestra la página Detalles de la zona.

gcloud

Ejecuta el comando dns managed-zones create:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --labels=LABELS \
    --visibility=public

Reemplaza lo siguiente:

  • NAME: Es el nombre para tu zona
  • DESCRIPTION: Es una descripción para tu zona
  • DNS_SUFFIX: Es el sufijo DNS para tu zona, como example.com
  • LABELS: Es una lista opcional delimitada por comas de pares clave-valor, como dept=marketing o project=project1. Para obtener más información, consulta la documentación de SDK

Terraform

resource "google_dns_managed_zone" "example_zone" {
  name        = "example-zone"
  dns_name    = "example-${random_id.rnd.hex}.com."
  description = "Example DNS zone"
  labels = {
    name = "value"
  }
}

resource "random_id" "rnd" {
  byte_length = 4
}

API

Envía una solicitud POST mediante el método managedZones.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{
  "name": "NAME",
  "description": "DESCRIPTION",
  "dnsName": "DNS_NAME",
  "visibility": "public"
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se crea la zona administrada
  • NAME: Es el nombre para tu zona
  • DESCRIPTION: Es una descripción para tu zona
  • DNS_NAME: Es el sufijo DNS para tu zona, como example.com

Crea una zona privada

Para crear una zona privada administrada nueva con registros DNS privados administrados por Cloud DNS, completa los siguientes pasos. Si deseas obtener más información, consulta Prácticas recomendadas para las zonas privadas de Cloud DNS.

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 Privada.

  3. Ingresa un nombre de zona, como my-new-zone.

  4. Ingresa un sufijo de nombre de DNS para la zona privada. En todos los registros de la zona, se comparte este sufijo como, por ejemplo: example.private.

  5. Opcional: Agrega una descripción.

  6. En Opciones, selecciona Predeterminada (privada).

  7. Selecciona las redes de nube privada virtual (VPC) en las que estará visible la zona privada. Solo las redes de VPC que selecciones tienen autorización para consultar registros en la zona.

  8. Haz clic en Crear.

gcloud

Ejecuta el comando dns managed-zones create:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --labels=LABELS \
    --visibility=private

Reemplaza lo siguiente:

  • NAME: Es el nombre para tu zona
  • DESCRIPTION: Es una descripción para tu zona
  • DNS_SUFFIX: Es el sufijo DNS para tu zona, como example.private
  • VPC_NETWORK_LIST: Es una lista delimitada por comas de redes de VPC que están autorizadas a consultar la zona.
  • LABELS: Es una lista opcional delimitada por comas de pares clave-valor, como dept=marketing o project=project1. Para obtener más información, consulta la documentación de SDK

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

API

Envía una solicitud POST mediante el método managedZones.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{

"name": "NAME",
"description": "DESCRIPTION",
"dnsName": "DNS_NAME",
"visibility": "private"
"privateVisibilityConfig": {
    "kind": "dns#managedZonePrivateVisibilityConfig",
    "networks": [{
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
            "networkUrl": VPC_NETWORK_1
        },
        {
            "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
            "networkUrl": VPC_NETWORK_2
        },
        ....
    ]
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se crea la zona administrada
  • NAME: Es el nombre para tu zona
  • DESCRIPTION: Es una descripción para tu zona
  • DNS_NAME: Es el sufijo DNS para tu zona, como example.private
  • VPC_NETWORK_1 y VPC_NETWORK_2: Son URL de las redes de VPC del mismo proyecto que pueden consultar registros en esta zona. Puedes agregar varias redes de VPC como se indica. A fin de determinar la URL de una red de VPC, usa el siguiente comando de gcloud y reemplaza VPC_NETWORK_NAME por el nombre de la red:

    gcloud compute networks describe VPC_NETWORK_NAME \
     --format="get(selfLink)"
    

Crear una zona con permisos de IAM específicos

El permiso de administración de identidades y accesos (IAM) para la zona administrada individual de recursos te permite configurar permisos específicos de lectura, escritura o administración para diferentes zonas administradas en el mismo proyecto.

Para obtener instrucciones sobre cómo crear una zona con permisos específicos de administración de identidades y accesos (IAM), consulta Crea una zona con permisos de IAM específicos.

Crea una zona del DNS del Directorio de servicios

Puedes crear una zona de directorio de servicios que permita que tus servicios basados en Google Cloud consulten tu espacio de nombres del directorio de servicios mediante DNS.

Para obtener instrucciones detalladas sobre cómo crear una zona de DNS de Directorio de servicios, consulta Configura una zona de DNS de Directorio de servicios.

Si deseas obtener instrucciones sobre cómo usar DNS para consultar tu Directorio de servicios, consulta Haz una consulta con DNS.

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Crea una zona de reenvío

Las zonas de reenvío te permiten orientar los servidores de nombres a zonas privadas específicas. Para obtener instrucciones sobre cómo crear una nueva zona de reenvío privada administrada, consulta Crea una zona de reenvío.

Crea una zona de intercambio de tráfico

Con el intercambio de tráfico de DNS, puedes enviar consultas de los registros que provienen del espacio de nombres de una zona a otra red de VPC. Para obtener instrucciones sobre cómo crear una zona de intercambio de tráfico, consulta Crea una zona de intercambio de tráfico.

Crea una zona de vinculación entre proyectos

Crea una zona privada administrada que pueda vincularse a una red que pertenezca a un proyecto diferente dentro de la misma organización. Si deseas obtener instrucciones para crear una zona de vinculación entre proyectos, consulta Zonas de vinculación entre proyectos.

Actualiza zonas administradas

Cloud DNS te permite modificar ciertos atributos de tu zonapública o privada administrada.

Actualiza zonas públicas

Puedes cambiar la descripción o la configuración de DNSSEC de una zona pública.

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 la zona pública que deseas actualizar.

  3. Haz clic en  Editar.

  4. Para cambiar la configuración de DNSSEC, en DNSSEC, selecciona Off, On o Transfer. A fin de obtener más información, consulta Habilita DNSSEC para zonas administradas existentes.

  5. Opcional: Actualiza la descripción.

  6. Haz clic en Guardar.

gcloud

Ejecuta el comando dns managed-zones update:

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --dnssec-state=STATE

Reemplaza lo siguiente:

  • NAME: Es el nombre para tu zona
  • DESCRIPTION: Es una descripción para tu zona
  • STATE: Es una configuración de DNSSEC, como Off, On o Transfer

Si deseas modificar las redes de VPC para las que una zona privada es visible, haz lo siguiente:

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 la zona privada que deseas actualizar.

  3. Haz clic en  Editar.

  4. Selecciona las redes de VPC en las que estará visible la zona privada. Solo en las redes de VPC seleccionadas se dispone de autorización para consultar registros en la zona.

  5. Haz clic en Guardar.

gcloud

Ejecuta el comando dns managed-zones update:

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST

Reemplaza lo siguiente:

  • NAME: Es el nombre para tu zona
  • DESCRIPTION: Es una descripción para tu zona
  • VPC_NETWORK_LIST: Es una lista delimitada por comas de redes de VPC que están autorizadas a consultar la zona.

Actualizar etiquetas

Para agregar una etiqueta nueva, cambiar una existente, quitar las etiquetas seleccionadas o borrar todas las etiquetas de una zona administrada, completa los siguientes pasos.

gcloud

Ejecuta el comando dns managed-zones update:

gcloud dns managed-zones update NAME \
    --update-labels=LABELS
gcloud dns managed-zones update NAME \
    --remove-labels=LABELS
gcloud dns managed-zones update NAME \
    --clear-labels

Reemplaza lo siguiente:

  • NAME: Es el nombre para tu zona
  • LABELS: Es una lista opcional delimitada por comas de pares clave-valor, como dept=marketing o project=project1. Para obtener más información, consulta la documentación de SDK

Enumera y describe zonas administradas

En las siguientes secciones, se muestra cómo enumerar o describir una zona administrada.

Enumera zonas administradas

Para obtener una lista de todas tus zonas administradas dentro de un proyecto, completa los siguientes pasos.

Console

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

    Ir a Zonas de Cloud DNS

  2. Consulta las zonas administradas en el panel derecho.

gcloud

Ejecuta el comando dns managed-zones list:

gcloud dns managed-zones list

Para enumerar todas las zonas administradas, modifica el siguiente comando:

gcloud dns managed-zones list 
--filter="visibility=public"
Para enumerar todas las zonas privadas administradas, modifica el siguiente comando:

gcloud dns managed-zones list \
   --filter="visibility=private"

Describe una zona administrada

Para ver los atributos de una zona administrada, completa los siguientes pasos.

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 la zona que deseas inspeccionar.

gcloud

Ejecuta el comando dns managed-zones describe:

gcloud dns managed-zones describe NAME

Reemplaza NAME por el nombre de tu zona.

Borra una zona administrada

Para borrar una zona administrada, completa los siguientes pasos.

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 la zona administrada que deseas borrar.

  3. Quita todos los registros de la zona, excepto los registros SOA y NS. Para obtener más información, consulta Quita un registro.

  4. Haz clic en Borrar zonas.

gcloud

  1. Quita todos los registros de la zona, excepto los registros SOA y NS. Para obtener más información, consulta Quita un registro. Para vaciar rápidamente una zona completa, importa un archivo vacío a un conjunto de registros. Para obtener más información, consulta Importa y exporta conjuntos de registros. Por ejemplo:

    touch empty-file
    gcloud dns record-sets import -z NAME \
       --delete-all-existing \
       empty-file
    rm empty-file
    

    Reemplaza NAME por el nombre de tu zona.

  2. Para borrar una nueva zona privada administrada, ejecuta el comando dns managed-zones delete:

    gcloud dns managed-zones delete NAME
    

    Reemplaza NAME por el nombre de tu zona.

¿Qué sigue?