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

É possível ativar os registros de consultas do Cloud DNS no projeto do Compute Engine e usar esses registros para monitorar e comparar as taxas de falha do 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 consultas do Cloud DNS e 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 taxas de sucesso e falha.

Informações de preços para a geração de registros de consultas do Cloud DNS

Quando você ativa a geração de registros de consultas do Cloud DNS, ela gera uma quantidade significativa de registros, muitos dos quais não estão relacionados ao DNS interno. Como resultado, talvez você tenha um custo ao usar esse recurso. Em geral, os primeiros 50 GiB de armazenamento de registros por projeto por mês são gratuitos. Cada 50 GiB adicionais custam 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 consultas DNS, ative o registro em log da rede VPC usada pela instância de computação. Muitas vezes, um projeto do 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. Você pode adicionar 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 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 adicionar 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 do Cloud DNS

O registro 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 particular, os encaminhamentos de zonas de DNS, os servidores de nomes alternativos, as zonas de DNS internas Google Cloud ou as zonas de DNS externo podem resolver as consultas.

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

Para ativar o registro em registros do DNS, faça o seguinte:

  • Crie uma 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 atual 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 de nomes de rede separados por vírgulas

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 o Explorador de registros para ver os registros e visualizar as taxas de falha de DNS

Depois de ativar a geração de registros de DNS, o projeto começa a acumular registros no Explorador 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 na 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 texto a seguir:

    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 texto a seguir:

    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. Ele fica no canto superior direito da janela do Explorador de registros.

Para uma comparação eficaz das taxas de erro e de sucesso, ative 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 valor de referência pré-migração.

Depois de coletar dados suficientes nos registros de consultas DNS, você pode realizar a migração do 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 de sucesso.

  • Contagens de registros: para cada consulta e período, o Explorador 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 de DNS que foram resolvidos anteriormente (tinham NOERROR) pode indicar um problema.

  • Histograma: a interface do Explorador de registros inclui um histograma. Quando as 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 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