Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Come faccio a utilizzare CloudWatch Logs Insights per analizzare i log di flusso personalizzati di Amazon VPC?
Ho utilizzato i log di flusso di Amazon Virtual Private Cloud (Amazon VPC) per configurare log di flusso VPC personalizzati. Desidero utilizzare Amazon CloudWatch Logs Insights per scoprire modelli e tendenze all'interno dei log.
Descrizione breve
CloudWatch Logs Insights rileva automaticamente i log di flusso nel formato predefinito, ma non rileva automaticamente i log di flusso nel formato personalizzato.
Per utilizzare CloudWatch Logs Insights con i log di flusso in formato personalizzato, devi modificare le query.
Di seguito è riportato un esempio di formato di registro del flusso personalizzato:
${account-id} ${vpc-id} ${subnet-id} ${interface-id} ${instance-id} ${srcaddr} ${srcport} ${dstaddr} ${dstport} ${protocol} ${packets} ${bytes} ${action} ${log-status} ${start} ${end} ${flow-direction} ${traffic-path} ${tcp-flags} ${pkt-srcaddr} ${pkt-src-aws-service} ${pkt-dstaddr} ${pkt-dst-aws-service} ${region} ${az-id} ${sublocation-type} ${sublocation-id}
Le seguenti domande sono esempi di come è possibile personalizzare ed estendere le query in base ai casi d'uso.
Risoluzione
Recuperare i log di flusso più recenti
Per estrarre i dati dai campi del registro, usa la parola chiaveparse. Ad esempio, l'output della seguente query viene ordinato in base all'ora di inizio dell'evento del log di flusso e limitato alle due voci di registro più recenti.
Query
#Retrieve latest custom VPC Flow Logs parse @message "* * * * * * * * * * * * * * * * * * * * * * * * * * *" as account_id, vpc_id, subnet_id, interface_id,instance_id, srcaddr, srcport, dstaddr, dstport, protocol, packets, bytes, action, log_status, start, end, flow_direction, traffic_path, tcp_flags, pkt_srcaddr, pkt_src_aws_service, pkt_dstaddr, pkt_dst_aws_service, region, az_id, sublocation_type, sublocation_id | sort start desc | limit 2
Output
account_id | vpc_id | subnet_id | interface_id | instance_id | srcaddr | srcport |
---|---|---|---|---|---|---|
123456789012 | vpc-0b69ce8d04278ddd | subnet-002bdfe1767d0ddb0 | eni-0435cbb62960f230e | - | 172.31.0.104 | 55125 |
123456789012 | vpc-0b69ce8d04278ddd1 | subnet-002bdfe1767d0ddb0 | eni-0435cbb62960f230e | - | 91.240.118.81 | 49422 |
Riepilogare i trasferimenti di dati per coppie di indirizzi IP di origine e destinazione
Utilizza la seguente query per riepilogare il traffico di rete per coppie di indirizzi IP di origine e destinazione. Nella query di esempio, la statistica **somma ** aggrega il campo byte. La statistica somma calcola un totale cumulativo dei dati trasferiti tra gli host, quindi il flow\ _direction è incluso nella query e nell'output. I risultati dell'aggregazione vengono assegnati temporaneamente al campo Data_Transferred. Quindi, i risultati vengono ordinati per Data_Transferred in ordine decrescente e vengono restituite le due coppie più grandi.
Query
parse @message "* * * * * * * * * * * * * * * * * * * * * * * * * * *" as account_id, vpc_id, subnet_id, interface_id,instance_id, srcaddr, srcport, dstaddr, dstport, protocol, packets, bytes, action, log_status, start, end, flow_direction, traffic_path, tcp_flags, pkt_srcaddr, pkt_src_aws_service, pkt_dstaddr, pkt_dst_aws_service, region, az_id, sublocation_type, sublocation_id | stats sum(bytes) as Data_Transferred by srcaddr, dstaddr, flow_direction | sort by Data_Transferred desc | limit 2
Output
srcaddr | dstaddr | flow_direction | Data_Transferred |
---|---|---|---|
172.31.1.247 | 3.230.172.154 | egress | 346952038 |
172.31.0.46 | 3.230.172.154 | egress | 343799447 |
Analizzare i trasferimenti di dati tramite ID di istanza Amazon EC2
Puoi utilizzare log di flusso personalizzati per analizzare i trasferimenti di dati tramite l'ID di istanza Amazon Elastic Compute Cloud (Amazon EC2). Per determinare le istanze EC2 più attive, includi il campo instance\ _id nella query.
Query
parse @message "* * * * * * * * * * * * * * * * * * * * * * * * * * *" as account_id, vpc_id, subnet_id, interface_id,instance_id, srcaddr, srcport, dstaddr, dstport, protocol, packets, bytes, action, log_status, start, end, flow_direction, traffic_path, tcp_flags, pkt_srcaddr, pkt_src_aws_service, pkt_dstaddr, pkt_dst_aws_service, region, az_id, sublocation_type, sublocation_id | stats sum(bytes) as Data_Transferred by instance_id | sort by Data_Transferred desc | limit 5
Output
instance_id | Data_Transferred |
---|---|
- | 1443477306 |
i-03205758c9203c979 | 517558754 |
i-0ae33894105aa500c | 324629414 |
i-01506ab9e9e90749d | 198063232 |
i-0724007fef3cb06f3 | 54847643 |
Filtrare per il traffico SSH rifiutato
Per analizzare il traffico negato dal gruppo di sicurezza e dagli elenchi di controllo degli accessi alla rete (ACL di rete), utilizza l'azione di filtro REJECT. Per identificare gli host rifiutati sul traffico SSH, estendi il filtro per includere il protocollo TCP e il traffico con una porta di destinazione 22. Nella seguente query di esempio, viene utilizzato il protocollo TCP 6.
Query
parse @message "* * * * * * * * * * * * * * * * * * * * * * * * * * *" as account_id, vpc_id, subnet_id, interface_id,instance_id, srcaddr, srcport, dstaddr, dstport, protocol, packets, bytes, action, log_status, start, end, flow_direction, traffic_path, tcp_flags, pkt_srcaddr, pkt_src_aws_service, pkt_dstaddr, pkt_dst_aws_service, region, az_id, sublocation_type, sublocation_id | filter action = "REJECT" and protocol = 6 and dstport = 22 | stats sum(bytes) as SSH_Traffic_Volume by srcaddr | sort by SSH_Traffic_Volume desc | limit 2
Output
srcaddr | SSH_Traffic_Volume |
---|---|
23.95.222.129 | 160 |
179.43.167.74 | 80 |
Isolare il flusso di dati HTTP per una coppia origine/destinazione specifica
Per analizzare le tendenze dei tuoi dati, usa CloudWatch Logs Insights per isolare il traffico bidirezionale tra due indirizzi IP. Nella query seguente, ["172.31.1.247","172.31.11.212"] utilizza l'indirizzo IP come indirizzo IP di origine o di destinazione per restituire i log di flusso. Le istruzioni del filtro corrispondono agli eventi VPC Flow Log con il protocollo TCP 6 e la porta 80 per isolare il traffico HTTP. Per restituire un sottoinsieme di tutti i campi disponibili, usa la parola chiave display .
Query
Utilizza la seguente query:
#HTTP Data Stream for Specific Source/Destination Pair parse @message "* * * * * * * * * * * * * * * * * * * * * * * * * * *" as account_id, vpc_id, subnet_id, interface_id,instance_id, srcaddr, srcport, dstaddr, dstport, protocol, packets, bytes, action, log_status, start, end, flow_direction, traffic_path, tcp_flags, pkt_srcaddr, pkt_src_aws_service, pkt_dstaddr, pkt_dst_aws_service, region, az_id, sublocation_type, sublocation_id | filter srcaddr in ["172.31.1.247","172.31.11.212"] and dstaddr in ["172.31.1.247","172.31.11.212"] and protocol = 6 and (dstport = 80 or srcport=80) | display interface_id,srcaddr, srcport, dstaddr, dstport, protocol, bytes, action, log_status, start, end, flow_direction, tcp_flags | sort by start desc | limit 2
Output
interface_id | srcaddr | srcport | dstaddr | dstport | protocol | bytes | action | log_status |
---|---|---|---|---|---|---|---|---|
eni-0b74120275654905e | 172.31.11.212 | 80 | 172.31.1.247 | 29376 | 6 | 5160876 | ACCEPT | OK |
eni-0b74120275654905e | 172.31.1.247 | 29376 | 172.31.11.212 | 80 | 6 | 97380 | ACCEPT | OK |
Visualizzare i risultati come grafico a barre o a torta
Puoi utilizzare CloudWatch Log Insights per visualizzare i risultati sotto forma di grafico a barre o a torta. Se i risultati includono la funzione bin () , l'output della query viene restituito con un timestamp. È quindi possibile visualizzare le serie temporali con un grafico a linee o ad area sovrapposta.
Per calcolare i dati cumulativi trasferiti a intervalli di 1 minuto, usa stats sum(bytes) as Data_Trasferred by bin(1m). Per vedere questa visualizzazione, alterna le tabelle Log e Visualization nella console CloudWatch Logs Insights.
Query
parse @message "* * * * * * * * * * * * * * * * * * * * * * * * * * *" as account_id, vpc_id, subnet_id, interface_id,instance_id, srcaddr, srcport, dstaddr, dstport, protocol, packets, bytes, action, log_status, start, end, flow_direction, traffic_path, tcp_flags, pkt_srcaddr, pkt_src_aws_service, pkt_dstaddr, pkt_dst_aws_service, region, az_id, sublocation_type, sublocation_id | filter srcaddr in ["172.31.1.247","172.31.11.212"] and dstaddr in ["172.31.1.247","172.31.11.212"] and protocol = 6 and (dstport = 80 or srcport=80) | stats sum(bytes) as Data_Transferred by bin(1m)
Output
bin(1m) | Data_Transferred |
---|---|
2022-04-01 15:23:00.000 | 17225787 |
2022-04-01 15:21:00.000 | 17724499 |
2022-04-01 15:20:00.000 | 1125500 |
2022-04-01 15:19:00.000 | 101525 |
2022-04-01 15:18:00.000 | 81376 |
Informazioni correlate

Contenuto pertinente
- AWS UFFICIALEAggiornata 5 mesi fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 9 mesi fa
- AWS UFFICIALEAggiornata 4 mesi fa