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 al que pertenece la red o la zona pública la solicitud. En el caso de la VPC compartida, los registros pertenecen al proyecto host porque este posee en cada red.
Habilita o inhabilita el registro para zonas administradas privadas
Usa las 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 en una zona privada administrada 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 comasDESCRIPTION
: 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.
Habilita o inhabilita 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.
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 problema del registro ALIAS nombre canónico. | Sí |
source_type |
String | Fuente de la consulta: inbound-forwarding , gce-vm |
Sí |
location |
String | La región de Google Cloud, por ejemplo, us-east1 , desde la que se entregó la respuesta |
Sí |
project_id |
String | ID del proyecto de Google Cloud de la red desde la que se recibió la consulta | Sí |
target_type |
String | Tipo de destino que resuelve la consulta de DNS: private-zone , forwarding-zone , forwarding-policy , peering-zone , internal , external |
Sí |
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 | Sí |
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 | Es el conjunto de direcciones IP en ResourceRecordSet que se sabe que son |
No |
unHealthyIps |
String | de direcciones IP en el ResourceRecordSet conocido
|
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.
Para obtener información sobre los precios de Cloud Logging, consulta Precios de Google Cloud Observability: 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. La supervisión está disponible en la consola de Google Cloud Página Monitoring 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?
- Para agregar, borrar y actualizar registros, consulta Agregar, modificar y borrar registros.
- Para crear, actualizar, enumerar y borrar zonas administradas, consulta Administra zonas.
- Para encontrar soluciones a problemas comunes que podrías tener cuando usas Cloud DNS, consulta Solución de problemas.
- Para hacer referencia a la API, consulta API de REST de Cloud DNS.
- Para obtener una descripción general de Cloud DNS, consulta Descripción general de Cloud DNS.