Crear, modificar y eliminar zonas

En esta página se explica cómo crear, actualizar, mostrar y eliminar zonas gestionadas de Cloud DNS. Antes de usar esta página, familiarízate con la descripción general de Cloud DNS y los términos clave.

Antes de empezar

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

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

  1. Si aún no tienes una, regístrate para obtener una cuenta de Google.
  2. Habilita la API Cloud DNS en la Trusted Cloud consola. Puedes elegir un proyecto de Compute Engine o App Engine que ya tengas o crear uno.
  3. Si necesitas enviar solicitudes a la API REST, debes crear un ID de OAuth 2.0. Consulta Configurar OAuth 2.0.
  4. En el proyecto, anota la siguiente información que debes introducir en pasos posteriores:
    • El ID de cliente (xxxxxx.apps.googleusercontent.com).
    • El ID del proyecto que quieras usar. Puedes encontrar el ID en la parte superior de la página Resumen de la consola Trusted Cloud . También puedes pedirle al usuario que te proporcione el nombre del proyecto que quiere usar en tu aplicación.

Si no has ejecutado la CLI de Google Cloud anteriormente, debes ejecutar el siguiente comando para especificar el nombre del proyecto y autenticarte con la consola: Trusted Cloud

gcloud auth login

Si quieres ejecutar un comando gcloud en Trusted Cloud by S3NS recursos de otro proyecto, especifica la opción --project para este comando y para los otros comandos gcloud de esta página.

Crear zonas gestionadas

Cada zona gestionada que creas está asociada a un Trusted Cloud proyecto. En las siguientes secciones se describe cómo crear el tipo de zona gestionada que admite Cloud DNS.

Crear una zona privada

Para crear una zona privada gestionada con registros DNS privados gestionados por Cloud DNS, sigue estos pasos. Para obtener más información, consulta las prácticas recomendadas para las zonas privadas de Cloud DNS.

Consola

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

    Ir a Crear una zona DNS

  2. En Tipo de zona, selecciona Privada.

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

  4. Introduce un sufijo de nombre de DNS para la zona privada. Todos los registros de la zona comparten este sufijo. Por ejemplo: example.private.

  5. Opcional: Añade una descripción.

  6. En Opciones, selecciona Predeterminado (privado).

  7. Selecciona las redes de nube privada virtual (VPC) en las que debe ser visible la zona privada. Solo las redes VPC que selecciones podrán 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

Haz los cambios siguientes:

  • NAME: nombre de la zona
  • DESCRIPTION: una descripción de la zona
  • DNS_SUFFIX: el sufijo DNS de tu zona, como example.private
  • VPC_NETWORK_LIST: lista delimitada por comas de redes de VPC autorizadas para consultar la zona
  • LABELS: una lista opcional de pares clave-valor separados por comas, como dept=marketing o project=project1. Para obtener más información, consulta la documentación del 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"
      },
      ....
    ]
  }
}

Haz los cambios siguientes:

  • PROJECT_ID: ID del proyecto en el que se crea la zona gestionada
  • NAME: nombre de la zona
  • DESCRIPTION: una descripción de la zona
  • DNS_NAME: el sufijo DNS de tu zona, como example.private
  • VPC_NETWORK_1 y VPC_NETWORK_2: URLs de las redes de VPC del mismo proyecto que pueden consultar registros en esta zona. Puedes añadir varias redes de VPC, tal como se indica. Para determinar la URL de una red de VPC, usa el siguiente comando gcloud y sustituye 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 gestión de identidades y accesos específicos

El permiso de gestión de identidades y accesos (IAM) para zonas gestionadas de recursos individuales te permite configurar permisos de lectura, escritura o administrador específicos para diferentes zonas gestionadas del mismo proyecto.

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

Crear una zona DNS de Service Directory

Puedes crear una zona de Directorio de servicios que permita a tus servicios basados en Trusted Cloudconsultar tu espacio de nombres de Directorio de servicios a través de DNS.

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

Para obtener instrucciones sobre cómo usar DNS para consultar tu Service Directory, consulta Hacer consultas mediante un 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
}

Crear una zona de reenvío

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

Crear una zona de emparejamiento

El peering de DNS te permite enviar solicitudes de registros que proceden del espacio de nombres de una zona a otra red de VPC. Para obtener instrucciones sobre cómo crear una zona de emparejamiento, consulta el artículo Crear una zona de emparejamiento.

Crear una zona de enlace multiproyecto

Crea una zona privada gestionada que se pueda vincular a una red propiedad de otro proyecto de la misma organización. Para obtener instrucciones sobre cómo crear una zona de enlace multiproyecto, consulta el artículo Zonas de enlace multiproyecto.

Actualizar zonas gestionadas

Cloud DNS te permite modificar determinados atributos de tu zona pública gestionada o de tu zona privada gestionada.

Actualizar etiquetas

Para añadir etiquetas, cambiar las que ya hay, quitar las seleccionadas o borrar todas las etiquetas de una zona gestionada, sigue estos 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

Haz los cambios siguientes:

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

Listar y describir zonas gestionadas

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

Mostrar zonas gestionadas

Para ver una lista de todas las zonas gestionadas de un proyecto, sigue estos pasos.

Consola

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

    Ir a las zonas de Cloud DNS

  2. Consulta las zonas gestionadas en el panel de la derecha.

gcloud

Ejecuta el comando dns managed-zones list:

gcloud dns managed-zones list

Para enumerar todas las zonas gestionadas, modifica el comando de la siguiente manera: Para enumerar todas las zonas privadas gestionadas, modifica el comando de la siguiente manera:

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

Describe una zona gestionada

Para ver los atributos de una zona gestionada, sigue estos pasos:

Consola

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

    Ir a las zonas de Cloud DNS

  2. Haz clic en la zona que quieras inspeccionar.

gcloud

Ejecuta el comando dns managed-zones describe:

gcloud dns managed-zones describe NAME

Sustituye NAME por el nombre de tu zona.

Eliminar una zona gestionada

Cuando eliminas una zona, sus registros DNS se eliminan de forma permanente y no se pueden recuperar. Para no perder tus registros DNS, exporta los datos de tu zona antes de eliminarla. Para obtener información sobre cómo exportar datos de zonas, consulta Importar y exportar conjuntos de registros de recursos.

Para eliminar una zona gestionada, siga estos pasos.

Consola

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

    Ir a las zonas de Cloud DNS

  2. Haz clic en la zona gestionada que quieras eliminar.

  3. Haz clic en Eliminar zona.

gcloud

  1. Elimina todos los registros de la zona, excepto los registros SOA y NS. Para obtener más información, consulta Eliminar un registro. Puedes vaciar rápidamente una zona completa importando un archivo vacío en un conjunto de registros. Para obtener más información, consulta el artículo Importar y exportar conjuntos de registros. Por ejemplo:

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

    Sustituye NAME por el nombre de tu zona.

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

    gcloud dns managed-zones delete NAME
    

    Sustituye NAME por el nombre de tu zona.

Siguientes pasos