Salta al contenuto

Come posso determinare se le mie query DNS al server DNS Amazon hanno esito negativo a causa della limitazione (della larghezza di banda della rete) del DNS del VPC?

5 minuti di lettura
0

Desidero sapere perché le mie query DNS al server DNS Amazon hanno esito negativo o scadono nel mio Amazon Virtual Private Cloud (Amazon VPC).

Breve descrizione

La quota DNS di Amazon è di 1.024 pacchetti al secondo (PPS) per ogni interfaccia di rete elastica. Se superi tale quota, Amazon Route 53 rifiuta il traffico.

VPC Flow Logs non acquisisce il traffico che le applicazioni inviano ai server DNS Amazon. Per identificare la causa degli errori delle query DNS, utilizza l'acquisizione di pacchetti o il Mirroring del traffico.

Nota: i log delle query di Route 53 acquisiscono solo il traffico che raggiunge il risolutore VPC.2 AmazonProvidedDNS. Le query DNS che subiscono una limitazione (della larghezza di banda della rete) non vengono visualizzate nei log delle query perché la limitazione viene subita a livello di interfaccia di rete.

Risoluzione

Determina l'origine degli errori delle query DNS

Utilizza tcpdump (solo per Linux)

Per utilizzare tcpdump, completa i seguenti passaggi:

  1. Esegui questo comando nell'istanza Amazon Elastic Compute Cloud (Amazon EC2):

    TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"`
    INSTANCE_ID=`curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/instance-id`
    sudo tcpdump -i eth0 -s 350 -C 100 -W 20 -w /var/tmp/$INSTANCE_ID.$(date +%Y-%m-%d:%H:%M:%S).pcap

    Nota: il comando precedente acquisisce i 350 byte iniziali del pacchetto, salva 20 file da 100 MB ciascuno e sovrascrive i vecchi pacchetti acquisiti. Se l'interfaccia di rete principale non è eth0, sostituisci eth0 nel comando precedente con l'interfaccia di rete principale. Per individuare l'interfaccia principale, esegui questo comando:

    netstat -i
  2. Esegui questo comando per contare il numero di query DNS inviate:

    tcpdump  -r <file_name.pcap> -nn dst port 53 | awk -F " " '{ print $1 }' | cut -d"." -f1 | uniq -c

Utilizza il Mirroring del traffico

Se non riesci a utilizzare tcpdump, utilizza il Mirroring del traffico per scoprire se le query DNS subiscono una limitazione (della larghezza di banda della rete).

Nota: il Mirroring del traffico è disponibile per istanze basate su Nitro e per alcuni tipi di istanze non Nitro. Il Mirroring del traffico comporta costi.

Per acquisire e analizzare dati sul traffico, completa i seguenti passaggi:

  1. Completa i prerequisiti per il Mirroring del traffico.
  2. Crea una destinazione mirror del traffico. Verifica che l'interfaccia di rete della destinazione o il Network Load Balancer consenta il traffico in entrata sulla porta UDP 4789.
  3. Crea un filtro per il mirror del traffico. In Impostazioni filtro, verifica che amazon-dns sia abilitato per Servizi di rete (facoltativo).
  4. Crea una sessione di mirroring del traffico.

Il Mirroring del traffico raccoglie il traffico mirror e lo memorizza nella destinazione mirror del traffico.

Nota: il Mirroring del traffico è un flusso di dati in tempo reale. Per acquisire i pacchetti mirror nella destinazione e salvarli in un file .pcap, acquisisci il traffico sulla porta UDP 4789.

Utilizza Wireshark

Completa i seguenti passaggi:

  1. Apri il traffico acquisito in Wireshark
    Nota: Per scaricare Wireshark, consulta la pagina Download sul sito web di Wireshark.
  2. Scegli la scheda Statistics (Statistiche).
  3. Seleziona I/O Graph (Grafico I/O) e deseleziona tutte le opzioni.
  4. In Display Filter (Filtro visualizzazione), utilizza l'identificatore di rete VXLAN e la query DNS per aggiungere un filtro. Il campo QR nell'intestazione DNS è 0. Ad esempio, se l'identificatore di rete VXLAN è 16777215, il filtro di visualizzazione per il grafico è (vxlan.vni == 16777215) && (dns.flags.response == 0).
  5. Esamina il grafico. Se rimane a circa 1.024 PPS, nell'origine mirror è presente una limitazione (della larghezza di banda della rete).

Controlla la metrica delle prestazioni di rete del driver ENA

Se l'istanza EC2 esegue una di queste versioni del driver Adattatore elastico di rete (ENA), controlla le metriche in tempo reale per la limitazione (della larghezza di banda della rete) del DNS:

  • Linux: versione 2.2.10 o successive
  • Windows: versione 2.2.2.0 o successive

Controlla la metrica linklocal_allowance_exceeded per determinare il numero di pacchetti persi perché il traffico ha superato la quota PPS per i seguenti servizi locali:

  • Servizio DNS per VPC di Amazon
  • Servizio di metadati di istanza (IMDS)
  • Servizio di sincronizzazione oraria di Amazon

Controlla più volte la metrica per determinare se il conteggio è in aumento. La metrica linklocal_allowance_exceeded è cumulativa dall'ultimo riavvio del driver a causa di un arresto e avvio o di un riavvio. È presente un problema solo quando la metrica aumenta.

Per ottenere il valore linklocal_allowance_exceeded, esegui questo comando per eth0:

ethtool -S eth0 | grep link

Per le istanze con interfaccia denominata ens5:

ethtool -S ens5 | grep link

Risolvi i problemi di limitazione (della larghezza di banda) del DNS

Se la limitazione (della larghezza di banda) del DNS è la causa degli errori, intraprendi una delle seguenti azioni per risolvere il problema:

Informazioni correlate

Understand traffic mirror target concepts (Destinazione mirror del traffico: concetti)

Utilizzo del Mirroring del traffico per copiare il traffico di rete

AWS UFFICIALEAggiornata 7 mesi fa