Use os registos do Cloud DNS para monitorizar as taxas de falhas de DNS

Pode ativar os registos de consultas do Cloud DNS no seu projeto do Compute Engine e usar esses registos para monitorizar e comparar as taxas de falhas de DNS interno antes e depois da migração para o DNS interno zonal. As entradas de registo registam a resolução de DNS bem-sucedida e quando o DNS interno não consegue resolver um determinado nome de domínio.

Vista geral

Para usar os registos de consultas do Cloud DNS para monitorizar as taxas de falhas de DNS internas, conclua os seguintes passos:

  1. Obtenha o nome da rede da nuvem virtual privada (VPC) para a VPC que contém as VMs a monitorizar.
  2. Usando os nomes das redes VPC, execute um comando da CLI do Google Cloud para ativar o registo de consultas DNS.
  3. Execute consultas no Explorador de registos para visualizar e investigar as taxas de êxito e falha.

Informações de preços para o registo de consultas do Cloud DNS

Quando ativa o registo de consultas do Cloud DNS, este gera uma quantidade significativa de registos, muitos dos quais não estão relacionados com o DNS interno. Como resultado, pode incorrer num custo pela utilização desta funcionalidade. Em geral, os primeiros 50 GiB de armazenamento de registos por projeto por mês são gratuitos. Cada 50 GiB adicionais custam 0,50 USD.

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

Obtenha os nomes das redes da nuvem virtual privada (VPC)

Para capturar dados de consultas DNS, tem de ativar o registo para a rede VPC usada pela sua instância de computação. Muitas vezes, um Google Cloud projeto tem várias redes VPC. Pode usar um comando da CLI gcloud para listar as redes VPC usadas pelas instâncias de computação que quer monitorizar.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceda às instâncias de VM

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

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

  4. Na secção Rede, em Interfaces de rede, pode ver as interfaces de rede (NICs) criadas para a instância, a rede e a sub-rede associadas a cada NIC, bem como os respetivos endereços IP atribuídos.

gcloud

  • Para ver as redes VPC usadas por todas as instâncias de computação num projeto, use o comando gcloud compute instances list. Pode anexar uma opção --format ao comando para restringir as informações devolvidas a campos específicos e alterar a forma como são apresentadas, por exemplo:

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

    O resultado é semelhante ao 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 ver as interfaces de rede (NICs) de uma instância de computação específica e as respetivas redes VPC atribuídas, use o comando gcloud compute instances describe. Pode anexar uma opção --format ao comando para restringir as informações devolvidas a campos específicos e alterar a forma como são apresentadas, por exemplo:

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

    Substitua o seguinte:

    • INSTANCE_NAME: o nome da instância a ver
    • ZONE: a zona da instância que quer ver

    O resultado é semelhante ao 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
    

Ative o registo de consultas do Cloud DNS

O registo do Cloud DNS monitoriza as consultas que os servidores de nomes resolvem para as suas redes VPC, bem como as consultas de uma entidade externa diretamente para uma zona pública.

As consultas registadas podem ser provenientes de instâncias do Compute Engine, contentores do Google Kubernetes Engine na mesma rede VPC, zonas de peering ou clientes no local que usam o encaminhamento DNS de entrada. As zonas DNS privadas, as zonas DNS de encaminhamento, os servidores de nomes alternativos, as zonas DNS internas ou as zonas DNS externas podem, eventualmente, resolver as consultas. Google Cloud

Os registos pertencem ao projeto proprietário da rede ou da zona pública que efetuou o pedido. No caso da VPC partilhada, os registos pertencem ao projeto anfitrião porque este é o proprietário da rede.

Para ativar o registo de DNS, faça uma das seguintes ações:

  • Crie uma nova política de DNS com o registo ativado 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 registo existente executando o comando gcloud dns policies update.

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

Substitua o seguinte:

  • POLICY_NAME: o nome da política de DNS
  • NETWORK_NAMES: uma lista de nomes de redes separados por vírgulas

Para ver instruções detalhadas sobre como criar e ativar políticas de DNS para registo, consulte o artigo Use o registo do Cloud DNS.

Use o Explorador de registos para ver os registos e visualizar as taxas de falhas de DNS

Depois de ativar o registo de DNS, o projeto começa a acumular registos no Explorador de registos. Para ver estes registos, use a Google Cloud consola e aceda à página Explorador de registos.

Aceda ao Explorador de registos

Monitorize as falhas de resolução de nomes DNS

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

  1. Na caixa de consulta na página da consola do Explorador de registos, introduza o seguinte texto:

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

Monitorize as consultas de resolução de nomes bem-sucedidas

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

  1. Na caixa de consulta na página da consola do Explorador de registos, introduza o seguinte texto:

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

Estabeleça um período de análise

Pode usar o seletor do intervalo de tempo dos registos para alterar o período dos registos analisados. Este seletor encontra-se no canto superior direito da janela do Explorador de registos.

Para uma comparação eficaz das taxas de erro e de êxito, tem de ativar os registos de consultas de DNS antes de migrar para a utilização do DNS zonal. A Google recomenda que ative o registo de consultas DNS, pelo menos, 24 horas antes da migração para estabelecer uma base de referência pré-migração.

Depois de recolher dados suficientes nos registos de consultas DNS, pode fazer a migração de DNS zonal. Pode monitorizar as taxas de resolução de DNS durante a migração para garantir que esta não provoca um aumento nas falhas de consultas de DNS.

Analise e compare as taxas de resolução de nomes DNS

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

  • Contagens de registos: para cada consulta e período, o Explorador de registos mostra o número de entradas de registo 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 do Explorador de registos inclui um histograma. Quando as suas consultas são executadas, o histograma mostra a frequência das entradas de registo correspondentes no intervalo de tempo selecionado. Isto é útil para visualizar:

    • Uma taxa de base de NXDOMAIN entradas de registo antes da migração.
    • Quaisquer picos nas entradas do registo NXDOMAIN imediatamente após a migração.
    • Alterações na taxa de entradas de registo NOERROR.

    Para ver o histograma, clique em Preferências, Ver e, de seguida, em Mostrar cronologia.

O que se segue?