Usar el registro y la supervisión

En esta página, se brinda información sobre el registro y las métricas de supervisión de Cloud DNS, incluidas las zonas públicas, las privadas y las de reenvío. Además, se brindan instrucciones para supervisar la propagación de los cambios del DNS público.

Usa el registro de Cloud DNS

El registro de Cloud DNS realiza un seguimiento de las consultas que los servidores de nombres resuelven para tus redes de nube privada virtual (VPC), así como las consultas de una entidad externa directamente a una zona pública.

Las consultas registradas pueden provenir de instancias de máquina virtual (VM) de Compute Engine, contenedores de Google Kubernetes Engine en la misma red de VPC, zonas de intercambio de tráfico o clientes locales que usan reenvío de DNS entrante. Las zonas del DNS privado, las zonas de DNS de reenvío, los servidores de nombres alternativos, las zonas internas de Google Cloud DNS o las zonas DNS externas pueden resolver las consultas.

Los registros pertenecen al proyecto que posee la red o la zona pública en la que se llevó a cabo la solicitud. En el caso de la VPC compartida, los registros pertenecen al proyecto host porque este es el propietario de la red.

Habilita e inhabilita el registro para las zonas administradas privadas

Usa políticas de DNS para habilitar o inhabilitar el registro en tus redes. Cuando habilitas el registro de consultas, se registra cada consulta de DNS a una zona administrada privada de Cloud DNS.

Para habilitar el registro de una red que no tiene una política de DNS, ejecuta el comando dns policies create.

gcloud

gcloud dns policies create POLICY_NAME \
    --networks=NETWORK \
    --enable-logging \
    --description=DESCRIPTION

Reemplaza lo siguiente:

  • POLICY_NAME: es el nombre de la política de DNS.
  • NETWORK: Es una o más redes en una lista separada por comas
  • DESCRIPTION: Es una descripción de la política

Para habilitar el registro de una red que tiene una política de DNS existente, ejecuta el comando dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --enable-logging

Reemplaza lo siguiente:

  • POLICY_NAME: es el nombre de la política de DNS.
  • NETWORK: Es una o más redes en una lista separada por comas

Para desactivar el registro y dejar la política vigente, ejecuta el comando dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --no-enable-logging

Reemplaza lo siguiente:

  • POLICY_NAME: es el nombre de la política de DNS.
  • NETWORK: Es una o más redes en una lista separada por comas

Para borrar la política por completo, ejecuta el comando dns policies delete.

gcloud

gcloud dns policies delete POLICY_NAME \

Reemplaza POLICY_NAME por el nombre de la política de DNS que deseas borrar.

Inhabilita y habilita el registro para zonas públicas administradas

Para activar el registro en una zona pública administrada existente, ejecuta el comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --log-dns-queries \

Reemplaza ZONE_NAME por el nombre de la zona administrada de DNS para la que deseas habilitar el registro.

Para desactivar el registro en una zona administrada y pública existente, ejecuta el comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \

Reemplaza ZONE_NAME por el nombre de la zona administrada de DNS para la que deseas inhabilitar el registro.

Ver registros

Console

En la consola de Google Cloud, ve a la página Explorador de registros.

Ir al Explorador de registros

Ver campos de formato de los registros

Cada entrada de registro contiene los siguientes campos, si corresponde. Algunos de los campos también se comparten con las métricas de supervisión.

Campo Tipo de campo Descripción Utilizado en las métricas
alias_query_response_code (Vista previa) String El código de respuesta que muestra la consulta para resolver el nombre canónico del registro ALIAS.
source_type String Fuente de la consulta: inbound-forwarding, gce-vm
location String La región de Google Cloud, por ejemplo, us-east1, desde la que se entregó la respuesta
project_id String ID del proyecto de Google Cloud de la red desde la que se recibió la consulta
target_type String Tipo de destino que resuelve la consulta de DNS: private-zone, forwarding-zone, forwarding-policy, peering-zone, internal, external
target_name String El nombre del destino, por ejemplo, el nombre de la zona, el nombre de la política, el nombre de la zona interna, el nombre de dominio externo
queryName String/DNS Nombre de la consulta de DNS, RFC 1035 4.1.2 No.
queryType String/DNS Tipo de consulta de DNS, RFC 1035 4.1.2 No.
responseCode Número/DNS Código de respuesta, RFC 1035 4.1.1 No.
rdata String/DNS Respuesta de DNS en formato de presentación, RFC 1035 5.1, truncados a 260 bytes No
authAnswer Booleano/DNS Respuesta autorizada, RFC 1035 No.
sourceNetwork String/Origen Red desde la que la consulta llegó al sistema No.
vmInstanceId Número / Origen ID de la instancia de VM de Compute Engine, aplicable solo a las consultas iniciadas por las VM de Compute Engine No.
vmInstanceName String/Origen Nombre de la instancia de VM de Compute Engine, aplicable solo a las consultas iniciadas por las VM de Compute Engine No.
vmProjectId String/Origen ID del proyecto de Google Cloud de la red desde la que se envió la consulta, aplicable solo a las consultas iniciadas por las VM de Compute Engine No.
vmZoneName String/Origen Nombre de la zona de la VM desde la que se envió la consulta, solo aplicable para las consultas iniciadas por las VM de Compute Engine. No.
sourceIP String/Origen IP que originó la consulta No.
destinationIP String/Destino Dirección IP de destino, aplicable solo a casos de reenvío. No.
protocol String/DNS TCP | UDP No.
healthyIps String

Conjunto de direcciones IP en ResourceRecordSet que se conocen como HEALTHY para Cloud DNS en el momento de la consulta

No.
unHealthyIps String

Conjunto de direcciones IP en ResourceRecordSet que se conocen como UNHEALTHY para Cloud DNS en el momento de la consulta

No.
egressError String

Error del proxy de salida, el error real informado por el proxy de salida como se recibió desde el servidor DNS local.

Este campo se puede usar para diferenciar un SERVFAIL real que muestre el DNS local de un error de red que haya experimentadoo el proxy de salida.

No.

Precios

Todos los registros de Cloud DNS se escriben en Cloud Logging. Este servicio no se cobra por separado de Cloud DNS. Sin embargo, estos registros pueden generar costos de almacenamiento adicionales según el tamaño de los registros que se escriben y almacenan.

Con fines de cálculo, Cloud DNS escribe aproximadamente 5 MB de datos de registro para procesar 10,000 consultas de DNS.

Si quieres obtener información sobre los precios de Cloud Logging, consulta Precios para la observabilidad de Google Cloud: Cloud Logging.

Soluciona problemas de reenvíos de salida

Si recibes registros que contienen SERVFAIL a los que les faltan ciertos campos, como destinationIP, egressIP y egressError, consulta la sección relacionada en la documentación Soluciona problemas.

Supervisa las métricas

En Cloud DNS, se exportan métricas de supervisión a Cloud Monitoring.

Puedes supervisar la tasa de consultas y respuestas de DNS que apuntan a zonas privadas, zonas de reenvío, políticas de reenvío, Internet y zonas internas de Google Cloud. Monitoring está disponible en la página Monitoring de la consola de Google Cloud y en la API de Cloud Monitoring.

El DNS privado exporta la métrica delta dns.googleapis.com/query/response_count que contiene la etiqueta response_code para contar la cantidad de consultas por código de respuesta.

La etiqueta response_code es de tipo string, con los siguientes valores posibles: NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP y UNKNOWN. Para ver las definiciones de estos códigos, consulta los RCODE de DNS de IANA.

La métrica se exporta como un recurso de tipo dns_query y usa los campos aplicables del formato de registro.

Supervisa la propagación de DNS

Cuando usas Google Cloud API o la API de REST para realizar cambios, inicialmente, los cambios se marcan como pendientes hasta que se complete la operación. Puedes usar la CLI de gcloud o la API de REST para verificar el estado de los cambios u obtener un historial de cambios.

Una operación se completa (estado: done) cuando Cloud DNS ha actualizado correctamente el sistema que controla los servidores. Es posible que haya retrasos antes de que se actualicen todos los servidores de nombres.

Enumera cambios para una zona administrada

Para enumerar los cambios de una zona administrada, ejecuta el comando dns record-sets changes list.

gcloud

Ejecuta el comando dns record-sets changes list:

gcloud dns record-sets changes list --zone=ZONE

Reemplaza ZONE por el nombre de la zona administrada cuyos conjuntos de registros quieres administrar.

Verifica la propagación de DNS

Para supervisar y verificar que el servidor de nombres DNS haya captado los cambios, puedes usar los comandos watch y dig. En el siguiente ejemplo, se muestra cómo buscar tu servidor de nombres y verificar cuándo uno de los servidores de nombres de tu zona administrada captó un cambio en un registro MX.

Para buscar los servidores de nombres de tu zona, ejecuta el comando dns managed-zones describe:

gcloud dns managed-zones describe ZONE_NAME

Reemplaza ZONE_NAME por el nombre de tu zona de Cloud DNS.

Para comprobar si los registros aún están disponibles en tu servidor de nombres autorizado, ejecuta el siguiente comando de dig:

watch dig example.com in MX @ZONE_NAME_SERVER

Reemplaza ZONE_NAME_SERVER por alguno de los servidores de nombres de la zona administrada.

El comando watch ejecuta dig cada 2 segundos de forma predeterminada. Puedes usar este comando para determinar cuándo se recopilará tu cambio mediante el servidor de nombres autorizado, lo que debería suceder dentro de un plazo de 120 segundos. Una vez que se haya recibido el cambio en tu servidor de nombres autorizado, se puede comenzar a recopilar el nuevo registro en los agentes de resolución de DNS. En los agentes en los que ya se dispone del registro anterior almacenado en caché, se espera a que caduque el valor de TTL anterior del registro.

Para ejecutar dig en el servidor de nombres de tu sistema, puedes quitar @<address> del comando dig. Si quieres supervisar la propagación a otros servidores de nombres, puedes cambiar el address para que apunte a otros servidores de nombres.

¿Qué sigue?