Use o registo e a monitorização

Esta página fornece informações sobre a registo e a monitorização de métricas para o Cloud DNS,incluindo zonas públicas, zonas privadase zonas de encaminhamento. Esta página também fornece instruções para monitorizar a propagação das suas alterações de DNS público.

Use o registo do Cloud DNS

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

As consultas registadas podem vir de instâncias de máquinas virtuais (VMs) 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.

Ative e desative o registo para zonas geridas privadas

Use políticas de DNS para ativar ou desativar o registo para as suas redes. Quando ativa o registo de consultas, todas as consultas DNS a uma zona gerida privada do Cloud DNS são registadas.

Para ativar o registo para uma rede que não tenha uma política de DNS, execute o comando dns policies create.

gcloud

gcloud dns policies create POLICY_NAME \
    --networks=NETWORK \
    --enable-logging \
    --description=DESCRIPTION

Substitua o seguinte:

  • POLICY_NAME: o nome da política de DNS
  • NETWORK: uma ou mais redes numa lista separada por vírgulas
  • DESCRIPTION: uma descrição da política

Para ativar o registo para uma rede que tenha uma política de DNS existente, execute o comando dns policies update.

gcloud

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

Substitua o seguinte:

  • POLICY_NAME: o nome da política de DNS
  • NETWORK: uma ou mais redes numa lista separada por vírgulas

Para desativar o registo, mas manter a política, execute o comando dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --no-enable-logging

Substitua o seguinte:

  • POLICY_NAME: o nome da política de DNS
  • NETWORK: uma ou mais redes numa lista separada por vírgulas

Para eliminar a política na totalidade, execute o comando dns policies delete.

gcloud

gcloud dns policies delete POLICY_NAME \

Substitua POLICY_NAME pelo nome da política de DNS que quer eliminar.

Ative e desative o registo para zonas públicas geridas

Para ativar o registo para uma zona pública gerida existente, execute o comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --log-dns-queries \

Substitua ZONE_NAME pelo nome da zona gerida de DNS para a qual quer ativar o registo.

Para desativar o registo para uma zona gerida pública existente, execute o comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \

Substitua ZONE_NAME pelo nome da zona gerida de DNS para a qual quer desativar o registo.

Ver registos

Pode ver os registos na Google Cloud consola.

Consola

Na Google Cloud consola, aceda à página Explorador de registos.

Aceda ao Explorador de registos

Veja os campos de formato de registo

Cada entrada de registo tem os seguintes campos, se aplicável. Alguns dos campos também são partilhados com as métricas de monitorização.

Campo Tipo de campo Descrição Usado em métricas
alias_query_response_code (Pré-visualizar) String O código de resposta devolvido pela consulta para resolver o nome canónico do registo ALIAS Sim
authAnswer Booleano / DNS Resposta credível, RFC 1035 Não
destinationIP String / destino Endereço IP de destino, aplicável apenas a casos de encaminhamento Não
egressError String

Erro de proxy de saída, o erro real comunicado pelo proxy de saída, conforme recebido do servidor DNS no local

Este campo pode ser usado para diferenciar um SERVFAIL real devolvido pelo DNS no local de um erro de rede encontrado pelo proxy de saída

Não
healthyIps String

Conjunto de endereços IP no ResourceRecordSet que se sabe que pertencem ao Cloud DNS no momento da consultaHEALTHY

Não
location String Google Cloud região, por exemplo, us-east1, a partir da qual a resposta foi publicada Sim
project_id String Google Cloud ID do projeto da rede a partir da qual a consulta foi recebida Sim
protocol String / DNS TCP | UDP Não
queryName String / DNS Nome da consulta DNS, RFC 1035 4.1.2 Não
queryType String / DNS Tipo de consulta DNS, RFC 1035 4.1.2 Não
responseCode Número / DNS Código de resposta, RFC 1035 4.1.1 Não
rdata String / DNS Resposta DNS no formato de apresentação, RFC 1035 5.1, truncada para 260 bytes Não
sourceIP String / origem IP que origina a consulta Não
sourceNetwork String / origem Rede a partir da qual a consulta chegou ao nosso sistema Não
source_type String Origem da consulta: inbound-forwarding, gce-vm, internet, peering-zone e fqdn-forwarding-target Não
target_name String O nome do destino, por exemplo, nome da zona, nome da política, nome da zona interna, nome do domínio externo Sim
target_type String Tipo de destino que resolve a consulta DNS: private-zone, forwarding-zone, forwarding-policy, peering-zone, internal, external Sim
unHealthyIps String

Conjunto de endereços IP no ResourceRecordSet que se sabe que pertencem ao Cloud DNS no momento da consultaUNHEALTHY

Não
vmInstanceId Número / origem ID da instância de VM do Compute Engine, aplicável apenas a consultas iniciadas por VMs do Compute Engine Não
vmInstanceName String / origem Nome da instância de VM do Compute Engine, aplicável apenas a consultas iniciadas por VMs do Compute Engine Não
vmProjectId String / origem Google Cloud ID do projeto da rede a partir da qual a consulta foi enviada, aplicável apenas a consultas iniciadas por VMs do Compute Engine Não
vmZoneName String / origem Nome da zona da VM a partir da qual a consulta foi enviada, aplicável apenas a consultas iniciadas por VMs do Compute Engine Não

Preços

Todos os registos do Cloud DNS são escritos no Cloud Logging. Não existe uma cobrança separada do Cloud DNS para este serviço. No entanto, estes registos podem resultar em custos de armazenamento adicionais, consoante o tamanho dos registos que são escritos e armazenados.

Para fins de cálculo, o Cloud DNS escreve aproximadamente 5 MB de dados de registo para processar 10 000 consultas DNS.

Para ver informações sobre os preços do Cloud Logging, consulte o artigo Preços do Google Cloud Observability: Cloud Logging.

Resolva problemas de encaminhamento de saída

Se receber registos que contenham SERVFAIL e que não tenham determinados campos, como destinationIP, egressIP e egressError, consulte a secção relacionada na documentação de resolução de problemas.

Monitorize métricas

O Cloud DNS exporta métricas de monitorização para o Cloud Monitoring.

Pode monitorizar a taxa de consultas e respostas de DNS que apontam para zonas privadas, zonas de encaminhamento, encaminhamento de políticas, zonas internas e a Internet. Google Cloud A monitorização está disponível na Google Cloud consola página de monitorização e na API Cloud Monitoring.

O DNS privado exporta a métrica delta dns.googleapis.com/query/response_count que contém a etiqueta response_code para contabilizar o número de consultas por código de resposta.

A etiqueta response_code é do tipo string com os valores possíveis de NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP e UNKNOWN. Para ver as definições destes códigos, consulte os RCODEs de DNS da IANA.

A métrica é exportada no tipo de recurso dns_query através dos campos aplicáveis do formato de registo.

Métricas de deteção de ameaças de DNS

Quando tem um detetor de ameaças de DNS a monitorizar a sua rede VPC, o detetor exporta métricas que podem ser examinadas com o Cloud Monitoring.

Estão disponíveis dois tipos de métricas:

  • networksecurity.googleapis.com/protectivedns/sent_dns_log_count: registos de consultas DNS enviados ao seu fornecedor para inspeção.
  • networksecurity.googleapis.com/protectivedns/received_dns_log_count: o número de registos de ameaças detetados. Esta métrica inclui a gravidade e o tipo de ameaça.

Monitorize a propagação de DNS

Quando usa a CLI Google Cloud ou a API REST para fazer alterações, estas são inicialmente marcadas como pendentes até que a operação seja concluída. Pode usar a CLI gcloud ou a API REST para verificar o estado das alterações ou obter um histórico de alterações.

Uma operação é concluída (estado: done) quando o Cloud DNS atualiza com êxito o sistema que controla os servidores. Pode haver atrasos antes de todos os servidores de nomes serem atualizados.

Liste as alterações de uma zona gerida

Para listar as alterações de uma zona gerida, execute o comando dns record-sets changes list.

gcloud

gcloud dns record-sets changes list --zone=ZONE

Substitua ZONE pelo nome da zona gerida cujos conjuntos de registos quer gerir.

Valide a propagação de DNS

Para monitorizar e verificar se o servidor de nomes DNS detetou as suas alterações, pode usar os comandos watch e dig. O exemplo seguinte demonstra como procurar o seu servidor de nomes e verificar quando um dos servidores de nomes da sua zona gerida detetou uma alteração a um registo MX.

Para procurar os servidores de nomes da sua zona, execute o comando dns managed-zones describe:

gcloud

gcloud dns managed-zones describe ZONE_NAME

Substitua ZONE_NAME pelo nome da sua zona do Cloud DNS.

Para verificar se os registos já estão disponíveis no seu servidor de nomes autoritativo, execute o seguinte comando dig:

gcloud

watch dig example.com in MX @ZONE_NAME_SERVER

Substitua ZONE_NAME_SERVER por um dos servidores de nomes da zona gerida.

O comando watch executa o comando dig a cada 2 segundos por predefinição. Pode usar este comando para determinar quando o seu servidor de nomes autoritativo deteta a alteração, o que deve acontecer no prazo de 120 segundos. Depois de o servidor de nomes autoritativo ter a alteração, os resolvedores de DNS podem começar a detetar o novo registo. Os resolvedores que já têm o registo anterior em cache aguardam que o valor TTL anterior do registo expire.

Para executar o comando dig no servidor de nomes do seu sistema, pode remover o @<address> do comando dig. Se quiser monitorizar a propagação para outros servidores de nomes, pode alterar o address para apontar para outros servidores de nomes.

O que se segue?