En esta página se proporciona información sobre las métricas de registro y monitorización de Cloud DNS, incluidas las zonas públicas, las zonas privadas, y las zonas de reenvío .También se incluyen instrucciones para monitorizar la propagación de los cambios de DNS públicos.
Usar el registro de Cloud DNS
El registro de Cloud DNS monitoriza 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 proceder de instancias de máquinas virtuales de Compute Engine, contenedores de Google Kubernetes Engine en la misma red VPC, zonas de peering o clientes locales que usen el reenvío de DNS entrante. Las zonas DNS privadas, las zonas DNS de reenvío, los servidores de nombres alternativos, las zonas DNS internas o las zonas DNS externas pueden resolver las consultas.Google Cloud
Los registros de logs pertenecen al proyecto propietario de la red o de la zona pública que ha enviado la solicitud. En el caso de la VPC compartida, los registros pertenecen al proyecto host porque este es el propietario de la red.
Habilitar e inhabilitar el registro de zonas gestionadas privadas
Usa políticas de DNS para habilitar o inhabilitar el registro de tus redes. Si habilitas el registro de consultas, se registrará cada consulta de DNS a una zona gestionada privada de Cloud DNS.
Para habilitar el registro de una red que no tenga una política de DNS, ejecuta el comando dns policies create
.
gcloud
gcloud dns policies create POLICY_NAME \ --networks=NETWORK \ --enable-logging \ --description=DESCRIPTION
Haz los cambios siguientes:
POLICY_NAME
: el nombre de la política de DNSNETWORK
: una o varias redes en una lista separada por comasDESCRIPTION
: una descripción de la política
Para habilitar el registro de una red que ya tiene una política de DNS, ejecuta el comando dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --enable-logging
Haz los cambios siguientes:
POLICY_NAME
: el nombre de la política de DNSNETWORK
: una o varias redes en una lista separada por comas
Para desactivar el registro sin cambiar la política, ejecuta el comando dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --no-enable-logging
Haz los cambios siguientes:
POLICY_NAME
: el nombre de la política de DNSNETWORK
: una o varias redes en una lista separada por comas
Para eliminar la política por completo, ejecuta el comando dns policies delete
.
gcloud
gcloud dns policies delete POLICY_NAME \
Sustituye POLICY_NAME
por el nombre de la política de DNS que quieras eliminar.
Habilitar e inhabilitar el registro de zonas públicas gestionadas
Para activar el registro de una zona pública gestionada, ejecuta el comando dns managed-zones update
.
gcloud
gcloud dns managed-zones update ZONE_NAME --log-dns-queries \
Sustituye ZONE_NAME
por el nombre de la zona gestionada de DNS para la que quieras habilitar el registro.
Para desactivar el registro de una zona pública gestionada, ejecuta el comando dns managed-zones update
.
gcloud
gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \
Sustituye ZONE_NAME
por el nombre de la zona gestionada de DNS para la que quieras inhabilitar el registro.
Ver registros
Puedes ver los registros en la Google Cloud consola.
Consola
En la Google Cloud consola, ve a la página Explorador de registros.
Ver los campos de formato de registro
Cada entrada de registro tiene los siguientes campos, si procede. Algunos de los campos también se comparten con las métricas de monitorización.
Campo | Tipo de campo | Descripción | Se usa en las métricas |
---|---|---|---|
alias_query_response_code (Vista previa) |
Cadena | El código de respuesta devuelto por la consulta para resolver el nombre canónico del registro ALIAS | Sí |
authAnswer |
Booleano/DNS | Respuesta autorizada, RFC 1035 | No |
destinationIP |
Cadena/Objetivo | Dirección IP de destino, solo aplicable a los casos de reenvío | No |
egressError |
Cadena | Error de proxy de salida. El error real notificado por el proxy de salida se ha recibido del servidor DNS local. Este campo se puede usar para diferenciar un SERVFAIL real devuelto por el DNS local de un error de red detectado por el proxy de salida. |
No |
healthyIps |
Cadena | Conjunto de direcciones IP del ResourceRecordSet que se sabe que son |
No |
location |
Cadena | Google Cloud , por ejemplo, us-east1 , desde la que se ha servido la respuesta |
Sí |
project_id |
Cadena | Google Cloud ID de proyecto de la red desde la que se ha recibido la consulta. | Sí |
protocol |
Cadena o DNS | TCP , UDP |
No |
queryName |
Cadena o DNS | Nombre de consulta de DNS, RFC 1035 4.1.2 | No |
queryType |
Cadena o DNS | Tipo de consulta de DNS, RFC 1035 4.1.2 | No |
responseCode |
Número o DNS | Código de respuesta, RFC 1035 4.1.1 | No |
rdata |
Cadena o DNS | Respuesta de DNS en formato de presentación, RFC 1035 5.1, truncada a 260 bytes | No |
sourceIP |
Cadena/fuente | IP de origen de la consulta | No |
sourceNetwork |
Cadena/fuente | Red desde la que la consulta ha llegado a nuestro sistema. | No |
source_type |
Cadena | Fuente de la consulta: inbound-forwarding , gce-vm , internet , peering-zone , fqdn-forwarding-target
|
No |
target_name |
Cadena | El nombre de destino, por ejemplo, el nombre de la zona, el nombre de la política, el nombre de la zona interna o el nombre de dominio externo. | Sí |
target_type |
Cadena | Tipo de destino que resuelve la consulta de DNS: private-zone , forwarding-zone ,
forwarding-policy , peering-zone , internal , external |
Sí |
unHealthyIps |
Cadena | Conjunto de direcciones IP del ResourceRecordSet que Cloud DNS conoce como
|
No |
vmInstanceId |
Número/Fuente | ID de la instancia de VM de Compute Engine. Solo se aplica a las consultas iniciadas por VMs de Compute Engine. | No |
vmInstanceName |
Cadena/fuente | Nombre de la instancia de VM de Compute Engine. Solo se aplica a las consultas iniciadas por VMs de Compute Engine. | No |
vmProjectId |
Cadena/fuente | Google Cloud ID de proyecto de la red desde la que se envió la consulta. Solo se aplica a las consultas iniciadas por máquinas virtuales de Compute Engine. | No |
vmZoneName |
Cadena/fuente | Nombre de la zona de la VM desde la que se envió la consulta. Solo se aplica a las consultas iniciadas por VMs de Compute Engine. | No |
Precios
Todos los registros de Cloud DNS se escriben en Cloud Logging. Cloud DNS no aplica ningún cargo independiente por este servicio. Sin embargo, estos registros pueden generar costes de almacenamiento adicionales en función del tamaño de los registros que se escriban y almacenen.
A efectos de cálculo, Cloud DNS escribe aproximadamente 5 MB de datos de registro para procesar 10.000 consultas de DNS.
Para obtener información sobre los precios de Cloud Logging, consulta la página Precios de Google Cloud Observability: Cloud Logging.
Solucionar problemas con el reenvío de consultas salientes
Si recibes registros que contienen SERVFAIL
y en los que faltan determinados campos, como destinationIP
, egressIP
y egressError
, consulta la sección relacionada de la documentación sobre solución de problemas.
Monitorizar métricas
Cloud DNS exporta métricas de monitorización a Cloud Monitoring.
Puedes monitorizar la tasa de consultas y respuestas de DNS que apuntan a zonas privadas, zonas de reenvío, reenvío de políticas, zonas internas Google Cloud y a Internet. Monitoring está disponible en la Google Cloud consola página Monitoring y en la API Cloud Monitoring.
El DNS privado exporta la métrica delta dns.googleapis.com/query/response_count
, que contiene la etiqueta response_code
para contar el número de consultas por código de respuesta.
La etiqueta response_code
es de tipo string
y puede tener los valores NOERROR
, FORMERR
, SERVFAIL
, NXDOMAIN
, NOTIMP
y UNKNOWN
.
Para ver las definiciones de estos códigos, consulta los códigos de respuesta de DNS de IANA.
La métrica se exporta con el tipo de recurso dns_query
mediante los campos correspondientes del formato de registro.
Métricas de detección de amenazas de DNS
Cuando tienes un detector de amenazas de DNS monitorizando tu red de VPC, el detector exporta métricas que se pueden examinar con Cloud Monitoring.
Hay dos tipos de métricas disponibles:
networksecurity.googleapis.com/protectivedns/sent_dns_log_count
: registros de consultas de DNS que se envían a tu proveedor para que los inspeccione.networksecurity.googleapis.com/protectivedns/received_dns_log_count
: número de registros de amenazas detectados. Esta métrica incluye la gravedad y el tipo de amenaza.
Monitorizar la propagación de DNS
Cuando usas la CLI de Google Cloud o la API REST para hacer cambios, estos se marcan inicialmente como pendientes hasta que se completa la operación. Puedes usar la CLI de gcloud o la API REST para comprobar el estado de los cambios o consultar el historial de cambios.
Una operación se completa (estado: done
) cuando Cloud DNS ha actualizado correctamente el sistema que controla los servidores. Puede que aún haya retrasos antes de que se actualicen todos los servidores de nombres.
Lista de cambios de una zona gestionada
Para enumerar los cambios de una zona gestionada, ejecuta el comando dns record-sets changes list
.
gcloud
gcloud dns record-sets changes list --zone=ZONE
Sustituye ZONE
por el nombre de la zona gestionada cuyos conjuntos de registros quieras gestionar.
Verificar la propagación de DNS
Para monitorizar y verificar que el servidor de nombres DNS ha recogido los cambios, puedes usar los comandos watch
y dig
. En el siguiente ejemplo se muestra cómo buscar tu servidor de nombres y comprobar cuándo ha recogido un cambio en un registro MX
uno de los servidores de nombres de tu zona gestionada.
Para buscar los servidores de nombres de tu zona, ejecuta el comando
dns managed-zones describe
:
gcloud
gcloud dns managed-zones describe ZONE_NAME
Sustituye ZONE_NAME
por el nombre de tu zona de Cloud DNS.
Para comprobar si los registros ya están disponibles en tu servidor de nombres autoritativo, ejecuta el siguiente comando dig
:
gcloud
watch dig example.com in MX @ZONE_NAME_SERVER
Sustituye ZONE_NAME_SERVER
por uno de los servidores de nombres de la zona gestionada.
El comando watch
ejecuta el comando dig
cada 2 segundos de forma predeterminada. Puedes usar este comando para determinar cuándo recoge tu servidor de nombres autoritativo el cambio, lo que debería ocurrir en un plazo de 120 segundos. Una vez que el servidor de nombres autoritativo haya aplicado el cambio, los solucionadores de DNS podrán empezar a recoger el nuevo registro.
Los resolvedores que ya tienen en caché el registro anterior esperan a que caduque el valor TTL anterior del registro.
Para ejecutar dig
en el servidor de nombres de tu sistema, puedes quitar @<address>
del comando dig
. Si quieres monitorizar la propagación a otros servidores de nombres, puedes cambiar el address
para que apunte a otros servidores de nombres.
Siguientes pasos
- Para añadir, eliminar y actualizar registros, consulta Añadir, modificar y eliminar registros.
- Para crear, actualizar, mostrar y eliminar zonas gestionadas, consulta Gestionar zonas.
- Para encontrar soluciones a problemas habituales que pueden surgir al usar Cloud DNS, consulta la sección Solución de problemas.
- Para consultar la referencia de la API, ve a API REST de Cloud DNS.
- Para obtener una descripción general de Cloud DNS, consulta el artículo Información general sobre Cloud DNS.