Usar registros do Cloud DNS para monitorar taxas de falha de DNS

É possível ativar os registros de consulta do Cloud DNS no projeto do Compute Engine e usá-los para monitorar e comparar as taxas de falha de DNS interno antes e depois da migração para o DNS interno zonal. As entradas de registro gravam a resolução de DNS bem-sucedida e quando o DNS interno não consegue resolver um determinado nome de domínio.

Visão geral

Para usar os registros de consulta DNS do Cloud DNS para monitorar as taxas de falha de DNS interno, siga estas etapas:

  1. Receba o nome da rede de nuvem privada virtual (VPC) que contém as VMs a serem monitoradas.
  2. Usando os nomes rede VPC, execute um comando da Google Cloud CLI para ativar o registro de consultas DNS.
  3. Execute consultas na Análise de Registros para visualizar e investigar as taxas de sucesso e falha.

Informações sobre preços da geração de registros de consultas DNS do Cloud DNS

Quando você ativa a geração de registros de consulta do Cloud DNS, ela gera uma quantidade significativa de registros, muitos dos quais não estão relacionados ao DNS interno. Como resultado, você pode ter um custo ao usar esse recurso. Em geral, os primeiros 50 GiB de armazenamento de registros por projeto por mês não têm custo financeiro. Cada 50 GiB adicional custa US $0,50.

Para mais informações sobre os preços, consulte o Resumo de preços do Cloud Logging.

Receber os nomes das redes de nuvem privada virtual (VPC)

Para capturar dados de consulta DNS, ative a geração de registros para a rede VPC usada pela instância de computação. Muitas vezes, um projeto Google Cloud tem várias redes VPC. Use um comando da CLI gcloud para listar as redes VPC usadas pelas instâncias de computação que você quer monitorar.

Console

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acessar instâncias de VM

  2. Opcional: use a caixa Filtro para restringir o número de instâncias mostradas.

  3. Clique no nome da instância que você quer inspecionar.

  4. Na seção Rede, em Interfaces de rede, é possível conferir as interfaces de rede (NICs) criadas para a instância, a rede e a sub-rede associadas a cada NIC e os endereços IP atribuídos.

gcloud

  • Para conferir as redes VPC usadas por todas as instâncias de computação em um projeto, use o comando gcloud compute instances list. É possível anexar uma opção --format ao comando para restringir as informações retornadas a campos específicos e mudar como elas são exibidas, por exemplo:

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

    O resultado será o seguinte:

    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 conferir as interfaces de rede (NICs) de uma instância de computação específica e as redes VPC atribuídas a ela, use o comando gcloud compute instances describe. Você pode anexar uma opção --format ao comando para restringir as informações retornadas a campos específicos e mudar a forma como elas são exibidas. Por exemplo:

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

    Substitua:

    • INSTANCE_NAME: o nome da instância a ser visualizada.
    • ZONE: a zona da instância que você quer visualizar.

    O resultado será o seguinte:

    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
    

Ativar a geração de registros de consultas DNS do Cloud DNS

A geração de registros do Cloud DNS rastreia consultas que os servidores de nomes resolvem para suas redes VPC, bem como consultas de uma entidade externa diretamente para uma zona pública.

As consultas registradas podem vir de instâncias do Compute Engine, contêineres do Google Kubernetes Engine na mesma rede VPC, zonas de peering ou clientes locais que usam o encaminhamento de DNS de entrada. As zonas de DNS privado, as zonas de encaminhamento de DNS, os servidores de nomes alternativos, as zonas de DNS internas do Google Cloud ou as zonas de DNS externo podem resolver as consultas.

Os registros de log pertencem ao projeto proprietário da rede ou da zona pública que realizou a solicitação. No caso da VPC compartilhada, os registros pertencem ao projeto host, porque ele é o proprietário da rede.

Para ativar a geração de registros de DNS, siga um destes procedimentos:

  • Crie uma nova política de DNS com a geração de registros ativada executando o comando gcloud dns policies create.

    gcloud dns policies create POLICY_NAME \
        --networks=NETWORK_NAMES \
        --enable-logging \
        --description="Enable DNS query logging for NETWORK_NAMES"
    
  • Se a rede já tiver uma política de DNS, atualize a política de geração de registros executando o comando gcloud dns policies update.

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

Substitua:

  • POLICY_NAME: o nome da política de DNS.
  • NETWORK_NAMES: uma lista separada por vírgulas de nomes de rede

Para instruções detalhadas sobre como criar e ativar políticas de DNS para geração de registros, consulte Usar a geração de registros do Cloud DNS.

Usar a Análise de registros para ver os registros e visualizar as taxas de falha de DNS

Depois de ativar a geração de registros do DNS, o projeto começa a acumular registros na Análise de registros. Para conferir esses registros, use o console do Google Cloud e acesse a página Análise de registros.

Acessar a Análise de registros

Monitorar falhas de resolução de nomes DNS

Use o código de resposta NXDOMAIN para isolar falhas de domínio inexistentes. Essas falhas ocorrem quando o DNS interno não consegue resolver um determinado nome de domínio.

  1. Na caixa de consulta da página do console Análise de registros, insira o seguinte texto:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NXDOMAIN"
    
  2. Clique em Executar consulta.

Monitorar consultas de resolução de nomes concluídas

Use o código de resposta NOERROR para isolar a resolução de DNS bem-sucedida.

  1. Na caixa de consulta da página do console Análise de registros, insira o seguinte texto:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NOERROR"
    
  2. Clique em Executar consulta.

Estabelecer um período de análise

Use o seletor de período dos registros para mudar o período dos registros analisados. Este seletor fica no canto superior direito da janela do Análise de registros.

Para uma comparação eficaz das taxas de erro e taxa de sucesso, é necessário ativar os registros de consulta de DNS antes de migrar para o DNS zonal. O Google recomenda que você ative o registro em log de consultas DNS pelo menos 24 horas antes da migração para estabelecer um plano de ação pré-migração.

Depois de coletar dados suficientes nos registros de consultas DNS, você pode realizar a migração para o DNS zonal. É possível monitorar as taxas de resolução de DNS durante a migração para garantir que ela não cause um aumento nas falhas de consulta de DNS.

Analisar e comparar taxas de resolução de nomes DNS

Use o seguinte para analisar e comparar as taxas de erro e sucesso.

  • Contagem de registros: para cada consulta e período, a Análise de registros mostra o número de entradas de registro encontradas. Um aumento significativo nas contagens de NXDOMAIN após a migração para nomes DNS que foram resolvidos anteriormente (tinham NOERROR) pode indicar um problema.

  • Histograma: a interface da Análise de Registros inclui um histograma. Quando suas consultas são executadas, o histograma mostra a frequência de entradas de registro correspondentes no período selecionado. Isso é útil para visualizar:

    • Uma taxa de base de NXDOMAIN entradas de registro antes da migração.
    • Qualquer pico nas entradas de registro de NXDOMAIN imediatamente após a migração.
    • Mudanças na taxa de entradas de registro NOERROR.

    Para ver o histograma, clique em Preferências, Visualizar e Mostrar linha do tempo.

A seguir