Usa los registros de Cloud DNS para supervisar las tasas de errores del DNS

Puedes habilitar los registros de consultas de Cloud DNS en tu proyecto de Compute Engine y usarlos para supervisar y comparar las tasas de fallas del DNS interno antes y después de la migración al 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.

Descripción general

Para usar los registros de consultas de Cloud DNS y supervisar las tasas de errores internos de DNS, completa los siguientes pasos:

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

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

Cuando habilitas el registro de consultas de Cloud DNS, se genera una cantidad significativa de registros, muchos de los cuales no están relacionados con el DNS interno. Por lo tanto, es posible que se apliquen cargos por usar esta función. En general, los primeros 50 GiB de almacenamiento de registros por proyecto al mes son gratuitos. Cada 50 GiB adicionales cuestan USD 0.50.

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

Obtén los nombres de las redes de nube privada virtual (VPC)

Para capturar datos de consultas de DNS, debes habilitar el registro de la red de VPC que usa tu instancia de procesamiento. A menudo, un proyecto Google Cloud tiene varias redes de VPC. Puedes usar un comando de gcloud CLI para enumerar las redes de VPC que usan las instancias de procesamiento que deseas supervisar.

Console

  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 Filtro para restringir la cantidad de instancias que se muestran.

  3. Haz clic en el nombre de la instancia que deseas inspeccionar.

  4. En la sección Herramientas de redes, en Interfaces de red, puedes ver las interfaces de red (NIC) creadas para la instancia, la red y la subred asociadas con cada NIC, y sus direcciones IP asignadas.

gcloud

  • Para ver las redes de VPC que usan todas las instancias de procesamiento de un proyecto, usa el comando gcloud compute instances list. Puedes agregar una opción --format al comando para restringir la información que se devuelve 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 es similar a lo 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 (NIC) de una instancia de procesamiento específica y sus redes de VPC asignadas, usa el comando gcloud compute instances describe. Puedes agregar una opción --format al comando para restringir la información que se devuelve 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)"
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es el nombre de la instancia que se visualizará.
    • ZONE: Es la zona de la instancia que deseas ver.

    El resultado es similar a lo 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
    

Habilita el registro de consultas de Cloud DNS

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

Las consultas registradas pueden provenir de instancias 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 del DNS internas de Google Cloud o las zonas de DNS externas pueden resolver las consultas.

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

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

  • Ejecuta el comando gcloud dns policies create para crear una política de DNS nueva 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 existente ejecutando el comando gcloud dns policies update.

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

Reemplaza lo siguiente:

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

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

Usa el Explorador de registros para ver los registros y visualizar las tasas de errores de DNS

Después de habilitar el registro de DNS, el proyecto comienza a acumular registros en el Explorador de registros. Para ver estos registros, usa la consola de Google Cloud y ve a la página Explorador de registros.

Ir al Explorador de registros

Supervisa los errores de resolución de nombres de DNS

Usa el código de respuesta NXDOMAIN para aislar las fallas de dominio no existentes. Estas fallas ocurren 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 del Explorador de registros, ingresa el siguiente texto:

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

Supervisa las consultas de resolución de nombres exitosas

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 del Explorador de registros, ingresa el siguiente texto:

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

Establece un período de análisis

Puedes usar el selector de período de los registros para cambiar el período de los registros analizados. Este selector se encuentra en la esquina superior derecha de la ventana del Explorador de registros.

Para comparar de manera eficaz las tasas de error y de éxito, debes habilitar los registros de consultas de DNS antes de migrar al uso de DNS zonales. Google recomienda que habilites el registro de consultas de DNS al menos 24 horas antes de la migración para establecer un valor de referencia previo a la migración.

Después de recopilar suficientes datos en los registros de consultas de DNS, puedes realizar la migración del DNS zonal. Puedes supervisar las tasas de resolución de DNS durante la migración para asegurarte de que esta no cause un aumento en las fallas de las consultas de DNS.

Analiza y compara las tasas de resolución de nombres de DNS

Usa la siguiente información para analizar y comparar las tasas de error y de éxito.

  • Recuentos de registros: Para cada consulta y período, el Explorador de registros muestra la cantidad de entradas de registro encontradas. Un aumento significativo en los recuentos de NXDOMAIN después de la migración para los nombres de DNS que se resolvieron 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 es útil para visualizar lo siguiente:

    • Es una tasa de referencia de las entradas de registro de NXDOMAIN antes de la migración.
    • Cualquier aumento repentino en las entradas de registro de NXDOMAIN inmediatamente después de la migración
    • Cambios en la frecuencia de las entradas de registro de NOERROR

    Para ver el histograma, haz clic en Preferencias, luego en Ver y, por último, en Mostrar cronograma.

¿Qué sigue?