Come faccio a trovare i principali generatori del traffico verso il gateway NAT nel mio Amazon VPC?

6 minuti di lettura
0

Voglio trovare i principali generatori del traffico che passa attraverso il gateway NAT nel mio Amazon Virtual Private Cloud (Amazon VPC).

Breve descrizione

Per trovare i principali generatori del traffico che passa attraverso il gateway NAT nel tuo Amazon VPC, completa le attività seguenti:

  • Usa le metriche di Amazon CloudWatch per identificare l'ora dei picchi di traffico.
  • Usa Log CloudWatch per identificare le istanze che causano picchi di traffico.
  • Usa Amazon Simple Storage Service (Amazon S3) o Amazon Athena per identificare le istanze che causano picchi di traffico.

Risoluzione

Nota: nei passaggi seguenti, sostituisci i seguenti valori con le tue informazioni:

  • example-NAT-private-IP con l'indirizzo IP privato del gateway NAT
  • example-VPC-CIDR con il CIDR VPC Amazon
  • example-database-name.example-table-name con i nomi di database e tabelle
  • example-y.y con i primi due ottetti del CIDR VPC Amazon

Utilizzo delle metriche CloudWatch per identificare l'ora dei picchi di traffico

Per identificare e monitorare il gateway NAT e l'ora specifica dei picchi, utilizza le seguenti metriche CloudWatch:

  • BytesInFromSource - upload
  • BytesInFromDestination - download

Verifica di aver attivato Log dei flussi VPC di Amazon per il tuo Amazon VPC o l'interfaccia di rete elastica del gateway NAT. Se non hai attivato Log dei flussi VPC di Amazon, crea un log di flusso per attivarlo. Quando attivi Log dei flussi VPC di Amazon, i dati dei log di flusso vengono pubblicati su CloudWatch Logs o Amazon S3.

Usa CloudWatch Logs Insights per identificare le istanze che causano picchi di traffico

Nota: facoltativamente, utilizza un modello CloudFormation per creare una dashboard CloudWatch che incorpori le seguenti query.

Completa i seguenti passaggi:

  1. Apri la console CloudWatch.

  2. Nel pannello di navigazione, scegli Logs Insights.

  3. Dall'elenco a discesa, seleziona il gruppo di log per il tuo gateway NAT.

  4. Seleziona un intervallo di tempo predefinito oppure scegli Personalizzato per impostare un intervallo di tempo personalizzato.

  5. Per identificare le istanze che inviano la maggior parte del traffico attraverso il tuo gateway NAT, esegui il comando seguente:

    filter (dstAddr like example-NAT-private-IP and isIpv4InSubnet(srcAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10
  6. Per identificare il traffico da e verso le istanze, esegui il comando seguente:

    filter (dstAddr like example-NAT-private-IP and isIpv4InSubnet(srcAddr, example-VPC-CIDR)) or (srcAddr like example-NAT-private-IP and isIpv4InSubnet(dstAddr, example-VPC-CIDR))| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10
  7. Per identificare le destinazioni Internet con cui le istanze del tuo Amazon VPC comunicano maggiormente, esegui i comandi seguenti.
    Per i caricamenti:

    filter (srcAddr like example-NAT-private-IP and not isIpv4InSubnet(dstAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10

    Per i download:

    filter (dstAddr like example-NAT-private-IP and not isIpv4InSubnet(srcAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr| sort bytesTransferred desc
    | limit 10

Utilizzo di Amazon S3 o Athena per identificare le istanze che causano picchi di traffico

Completa i seguenti passaggi:

  1. Apri la console Amazon S3 o la console Athena.

  2. Crea una tabella. Prendi nota del nome del database e della tabella, quindi aggiungi i filtri seguenti per verificare i principali collaboratori di un intervallo di tempo specifico:
    start>= (example-timestamp-start)
    end>= (example-timestamp-end)

  3. Per identificare le istanze che inviano la maggior parte del traffico attraverso il tuo gateway NAT, esegui il comando seguente:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE srcaddr like example-y.y AND dstaddr like example-NAT-private-IP group by 1,2 order by 3 desclimit 10;
  4. Per identificare il traffico da e verso le istanze, esegui il comando seguente:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-y.y AND dstaddr like example-NAT-private-IP) or (srcaddr like example-NAT-private-IP AND dstaddr like example-y.y) group by 1,2 order by 3 desclimit 10;
  5. Per identificare le destinazioni Internet con cui le istanze del tuo Amazon VPC comunicano maggiormente, esegui i comandi seguenti.
    Per i caricamenti:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-NAT-private-IP AND dstaddr not like example-y.y) group by 1,2 order by 3 desclimit 10;

    Per i download:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr not like example-y.y AND dstaddr like example-NAT-private-IP) group by 1,2 order by 3 desclimit 10;

Utilizzo di Approfondimenti di Amazon CloudWatch Logs per identificare le istanze che comunicano con le destinazioni Internet

Per trovare le destinazioni Internet in cui le istanze comunicano, è necessario utilizzare log di flusso VPC personalizzati. Questi log di flusso VPC devono includere i campi aggiuntivi pkt-srcaddr e pkt-dstaddr. Per ulteriori informazioni, consulta Traffic through a NAT gateway (Traffico attraverso un gateway NAT).

Esempi di log di flusso VPC:

${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${pkt-srcaddr} ${pkt-dstaddr}

Completa i seguenti passaggi:

  1. Apri la console CloudWatch.
  2. Nel pannello di navigazione, scegli Logs Insights.
  3. Dall'elenco a discesa, seleziona il gruppo di log per i log di flusso VPC.
  4. Seleziona un intervallo di tempo predefinito oppure scegli Personalizzato per impostare un intervallo di tempo personalizzato.
  5. Per identificare le istanze che inviano la maggior parte del traffico attraverso il tuo gateway NAT alle destinazioni Internet, esegui il comando seguente.
    Per il traffico di caricamento:
    parse @message "* * * * * * * * * * * * * * * " as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr
    | filter (dstaddr like 'example-NAT-private-IP' and isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR'))
    | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr
    | sort bytesTransferred desc
    | limit 10
    Per il traffico di download:
    parse @message " * * * * * * * * * * * * * * *" as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr
    | filter (srcaddr like 'example-NAT-private-IP' and !isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR'))
    | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr
    | sort bytesTransferred desc
    | limit 10

Informazioni correlate

Query di esempio

Querying Amazon VPC flow logs (Esecuzione di query sui Log dei flussi VPC di Amazon)

Come faccio a usare Amazon Athena per analizzare i log di flusso VPC?

Using AWS Cost Explorer to analyze data transfer costs (Utilizzo di Esploratore dei costi AWS per analizzare i costi di trasferimento dei dati)

AWS UFFICIALE
AWS UFFICIALEAggiornata 7 mesi fa