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 DNSNETWORK
: uma ou mais redes numa lista separada por vírgulasDESCRIPTION
: 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 DNSNETWORK
: 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 DNSNETWORK
: 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.
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 consulta |
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 consulta |
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?
- Para adicionar, eliminar e atualizar registos, consulte o artigo Adicione, modifique e elimine registos.
- Para criar, atualizar, listar e eliminar zonas geridas, consulte o artigo Gerir zonas.
- Para encontrar soluções para problemas comuns que pode encontrar ao usar o Cloud DNS, consulte a secção Resolução de problemas.
- Para consultar a API, consulte a API REST do Cloud DNS.
- Para obter uma vista geral do Cloud DNS, consulte o artigo Vista geral do Cloud DNS.