Come faccio a stabilire se le mie query DNS inoltrate al server DNS fornito da Amazon non vanno a buon fine a causa della limitazione applicata al DNS per il VPC?

5 minuti di lettura
0

Le mie query DNS inoltrate al server DNS fornito da Amazon non vanno a buon fine oppure scadono. Le query DNS inoltrate dalla mia istanza non vanno a buon fine a causa della limitazione applicata al DNS per il VPC?

Breve descrizione

I server DNS forniti da Amazon applicano un limite di 1024 pacchetti al secondo per ogni interfaccia di rete elastica. I server DNS forniti da Amazon rifiutano il traffico che supera questo limite.

I log di flusso VPC non acquisiscono il traffico inviato dall'applicazione ai server DNS forniti da Amazon. Per individuare la causa degli errori delle query DNS è possibile utilizzare l'acquisizione di pacchetti o il mirroring del traffico.

Nota: la registrazione delle query di Amazon Route 53 acquisisce solo il traffico che raggiunge il risolutore VPC.2 (AmazonProvidedDNS). Tuttavia, le query DNS vengono limitate a livello di interfaccia di rete elastica. Pertanto, le query limitate non vengono visualizzate nel registro delle query.

Risoluzione

Innanzitutto, utilizza uno dei seguenti metodi per individuare l'origine degli errori delle query DNS. Quindi, una volta stabilito che la causa è la limitazione del DNS, utilizza una delle seguenti soluzioni consigliate.

Determinare l'origine degli errori delle query DNS

Opzione 1: usa tcpdump (solo per Linux)

1.    Usa il seguente comando per effettuare acquisizioni di pacchetti a rotazione sulla tua istanza EC2. Il comando seguente acquisisce i 350 byte iniziali del pacchetto e salva 20 file da 100 MB ciascuno, sovrascrivendo i vecchi pacchetti acquisiti.

sudo tcpdump -i eth0 -s 350 -C 100 -W 20 -w /var/tmp/$(curl http://169.254.169.254/latest/meta-data/instance-id).$(date +%Y-%m-%d:%H:%M:%S).pcap

2.    Esegui il seguente comando Linux per determinare il numero di query DNS inviate.

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

3.    Se il numero di query DNS è maggiore o uguale a 1024 al secondo, tutte le query aggiuntive verranno limitate.

Opzione 2: usa il mirroring del traffico

Se nel tuo caso non è possibile utilizzare tcpdump, puoi sfruttare la funzionalità di mirroring del traffico per stabilire se le query DNS sono limitate.

Nota: la funzionalità di mirroring del traffico è disponibile per istanze basate su Nitro e tipi di istanze non Nitro. La funzionalità di mirroring del traffico prevede dei costi.

Innanzitutto, acquisisci i dati sul traffico:

1.    Completa i prerequisiti previsti per il mirroring del traffico.

2.    Crea una destinazione di mirroring del traffico. Verifica che l'interfaccia di rete elastica di destinazione o Network Load Balancer consenta il traffico in entrata sulla porta UDP 4789.

3.    Crea un filtro di mirroring del traffico. In Impostazioni filtro, conferma che amazon-dns è abilitato per i Servizi di rete (facoltativo).

4.    Crea una sessione di mirroring del traffico. Dopo aver configurato la funzionalità di mirroring del traffico, il traffico di mirroring viene raccolto e archiviato sulla destinazione di mirroring del traffico.

Nota: il mirroring del traffico è un flusso di dati in tempo reale. Per acquisire i pacchetti di mirroring in arrivo sulla destinazione e per salvarli in un file pcap, acquisisci il traffico con la porta UDP 4789.

Quindi analizza i dati acquisiti utilizzando Wireshark:

1.    Apri il traffico acquisito in Wireshark.

2.    Scegli la scheda Statistics.

3.    Seleziona I/O Graph e deseleziona tutte le opzioni.

4.    (Solo per Linux) In Display Filter, aggiungi un filtro utilizzando l'identificatore di rete VXLAN e il flag della query DNS. Ad esempio, se l'identificatore di rete VXLAN è 53 e il flag della query DNS è 0x0100, il filtro di visualizzazione per il grafico è (vxlan.vni == 53) && (dns.flags == 0x0100).

5.    Esamina il grafico per verificare se si attesta intorno a 1024 (il limite di pacchetti al secondo del server DNS fornito da Amazon). Se il grafico si attesta attorno a questo valore, la limitazione del DNS si verifica sull'origine di mirroring.

Opzione 3: metrica delle prestazioni di rete del driver Adattatore elastico di rete (ENA)

Se la tua istanza EC2 esegue una delle seguenti versioni del ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html)driver ENA[, puoi esaminare le metriche in tempo reale per la limitazione del DNS utilizzando la metrica linklocal_allowance_exceeded:

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

La metrica linklocal_allowance_exceeded indica il numero di pacchetti formati ed eliminati a causa del superamento del valore PPS consentito per i servizi locali. Esempi di servizi locali sono servizio DNS per VPC di Amazon, servizio di metadati dell’istanza (IMDS) e servizio di sincronizzazione oraria di Amazon. Puoi verificare questa metrica a più intervalli per osservare se il conteggio è in aumento. Poiché questa metrica è cumulativa a partire dall'ultimo riavvio del driver (in genere dovuto a un arresto e avvio o a un riavvio dell'istanza), la metrica è significativa solo se il valore aumenta.

Per recuperare il valore della metrica linklocal_allowance_exceeded, esegui il seguente comando:

ethtool -S eth0

Correggere i problemi di limitazione del DNS

Se ritieni che la causa degli errori del DNS sia la limitazione del DNS, puoi:


Informazioni correlate

Quote e considerazioni relative al mirroring del traffico

Utilizzo delle funzionalità di mirroring del traffico

Monitoraggio delle prestazioni di rete per l'istanza EC2

AWS UFFICIALE
AWS UFFICIALEAggiornata 3 anni fa