Usar los registros de Cloud DNS para monitorizar las tasas de errores de DNS

Puedes habilitar los registros de consultas de Cloud DNS en tu proyecto de Compute Engine y usarlos para monitorizar y comparar las tasas de errores de DNS internos antes y después de la migración a DNS interno zonal. Las entradas de registro registran la resolución de DNS correcta y cuándo el DNS interno no puede resolver un nombre de dominio determinado.

Información general

Para usar los registros de consultas de Cloud DNS y monitorizar las tasas de errores de DNS internos, sigue estos pasos:

  1. Obtén el nombre de la red de nube privada virtual (VPC) de la VPC que contiene las VMs que quieres monitorizar.
  2. Con los nombres de las redes de VPC, ejecuta un comando de la CLI de Google Cloud para habilitar el registro de consultas de DNS.
  3. Ejecuta consultas en el Explorador de registros para visualizar e investigar las tasas de éxito y de error.

Información sobre los precios del registro de consultas de Cloud DNS

Si habilitas el registro de consultas de Cloud DNS, se generará una cantidad significativa de registros, muchos de los cuales no están relacionados con el DNS interno. Por lo tanto, es posible que se te cobre por usar esta función. Por lo general, los primeros 50 GiB de almacenamiento de registros por proyecto y mes son gratuitos. Cada 50 GiB adicionales cuestan 0,50 USD.

Para obtener más información sobre los precios, consulta el resumen de precios de Cloud Logging.

Obtener los nombres de las redes de nube privada virtual (VPC)

Para registrar los datos de las consultas de DNS, debe habilitar el registro de la red de VPC que utiliza su instancia de proceso. A menudo, un proyecto tiene varias redes de VPC. Google Cloud Puedes usar un comando de la CLI de gcloud para enumerar las redes VPC que usan las instancias de proceso que quieras monitorizar.

Consola

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Opcional: Usa el cuadro Filtrar para limitar el número de instancias que se muestran.

  3. Haga clic en el nombre de la instancia que quiera inspeccionar.

  4. En la sección Redes, en Interfaces de red, puedes ver las interfaces de red (NICs) creadas para la instancia, la red y la subred asociadas a cada NIC, así como las direcciones IP asignadas.

gcloud

  • Para ver las redes de VPC que usan todas las instancias de proceso de un proyecto, usa el comando gcloud compute instances list. Puedes añadir una opción --format al comando para restringir la información devuelta a campos específicos y cambiar la forma en que se muestra. Por ejemplo:

    gcloud compute instances list \
      --format="flattened(name,networkInterfaces[].name, \
        networkInterfaces[].network.basename(), \
        networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    El resultado debería ser similar al siguiente:

    name:                           test-gvnic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    ---
    name:                           test-multinic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic0.14
    networkInterfaces[1].network:   net0
    networkInterfaces[1].stackType: IPV4_ONLY
    networkInterfaces[2].name:      nic1
    networkInterfaces[2].network:   prod-ipv6
    networkInterfaces[2].nicType:   GVNIC
    networkInterfaces[2].stackType: IPV4_IPV6
    
  • Para ver las interfaces de red (NICs) de una instancia de proceso específica y las redes VPC asignadas, usa el comando gcloud compute instances describe. Puedes añadir una opción --format al comando para restringir la información devuelta a campos específicos y cambiar la forma en que se muestra. Por ejemplo:

    gcloud compute instances describe INSTANCE_NAME --zone=ZONE \
      --format="flattened(name,networkInterfaces[].name, \
      networkInterfaces[].network.basename(), \
      networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    Haz los cambios siguientes:

    • INSTANCE_NAME: el nombre de la instancia que quieres ver
    • ZONE: la zona de la instancia que quieras ver

    El resultado debería ser similar al siguiente:

    name:                           test-instance
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic1
    networkInterfaces[1].network:   prod-ipv6
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].name:      nic1.2
    networkInterfaces[1].network:   alt-ipv6-net
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].parentNicName: nic1
    

Habilitar el registro de consultas de Cloud DNS

El registro de Cloud DNS monitoriza las consultas que los servidores de nombres resuelven para tus redes VPC, así como las consultas de una entidad externa directamente a una zona pública.

Las consultas registradas pueden proceder de instancias de Compute Engine, contenedores de Google Kubernetes Engine en la misma red de 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 log pertenecen al proyecto propietario de la red o de la zona pública que ha llevado 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.

Para habilitar el registro de DNS, haz una de las siguientes acciones:

  • Ejecuta el comando gcloud dns policies create para crear una política de DNS con el registro habilitado.

    gcloud dns policies create POLICY_NAME \
        --networks=NETWORK_NAMES \
        --enable-logging \
        --description="Enable DNS query logging for NETWORK_NAMES"
    
  • Si la red ya tiene una política de DNS, actualiza la política de registro actual ejecutando el comando gcloud dns policies update.

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

Haz los cambios siguientes:

  • POLICY_NAME: el nombre de la política de DNS
  • NETWORK_NAMES: una lista de nombres de redes separada por comas

Para obtener instrucciones detalladas sobre cómo crear y habilitar políticas de DNS para el registro, consulta Usar el registro de Cloud DNS.

Usar el explorador de registros para ver los registros y visualizar las tasas de errores de DNS

Una vez que hayas habilitado el registro de DNS, el proyecto empezará a acumular registros en el explorador de registros. Para ver estos registros, usa la Google Cloud consola y ve a la página Explorador de registros.

Ir a Explorador de registros

Monitorizar los errores de resolución de nombres DNS

Usa el código de respuesta NXDOMAIN para aislar los errores de dominio inexistente. Estos errores se producen cuando el DNS interno no puede resolver un nombre de dominio determinado.

  1. En el cuadro de consulta de la página de la consola Explorador de registros, introduce el siguiente texto:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NXDOMAIN"
    
  2. Haz clic en Realizar una consulta.

Monitorizar las consultas de resolución de nombres correctas

Usa el código de respuesta NOERROR para aislar la resolución de DNS correcta.

  1. En el cuadro de consulta de la página de la consola Explorador de registros, introduce el siguiente texto:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NOERROR"
    
  2. Haz clic en Realizar una consulta.

Definir un periodo de análisis

Puede usar el selector de periodo de los registros para cambiar el periodo de los registros analizados. Este selector se encuentra en la esquina superior derecha de la ventana Explorador de registros.

Para comparar de forma eficaz las tasas de errores y de éxito, debe habilitar los registros de consultas DNS antes de migrar al DNS zonal. Google recomienda que habilites el registro de consultas DNS al menos 24 horas antes de la migración para establecer una base de referencia previa a la migración.

Una vez que haya recogido suficientes datos en los registros de consultas DNS, podrá llevar a cabo la migración de DNS zonal. Puedes monitorizar las tasas de resolución de DNS durante la migración para asegurarte de que no se produzca un aumento de los errores de consulta de DNS.

Analizar y comparar las tasas de resolución de nombres DNS

Utilice la siguiente información para analizar y comparar las tasas de errores y de éxito.

  • Recuentos de registros: en cada consulta y periodo, Explorador de registros muestra el número de entradas de registro encontradas. Un aumento significativo en los recuentos de NXDOMAIN después de la migración de nombres DNS que se resolvían anteriormente (tenían NOERROR) podría indicar un problema.

  • Histograma: la interfaz del Explorador de registros incluye un histograma. Cuando se ejecutan tus consultas, el histograma muestra la frecuencia de las entradas de registro coincidentes en el intervalo de tiempo seleccionado. Esto resulta útil para visualizar lo siguiente:

    • Una tasa de referencia de NXDOMAIN entradas de registro antes de la migración.
    • Cualquier pico en las entradas de registro NXDOMAIN inmediatamente después de la migración.
    • Cambios en la tasa de entradas de registro de NOERROR.

    Para ver el histograma, haz clic en Preferencias, Ver y, a continuación, Mostrar línea de tiempo.

Siguientes pasos