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.
Comment utiliser CloudWatch Logs Insights pour analyser les journaux de flux Amazon VPC personnalisés ?
J’ai utilisé les journaux de flux Amazon Virtual Private Cloud (Amazon VPC) pour configurer des journaux de flux VPC personnalisés. Je souhaite utiliser Amazon CloudWatch Logs Insights pour découvrir des modèles et des tendances dans les journaux.
Brève description
CloudWatch Logs Insights découvre automatiquement les journaux de flux au format par défaut, mais ne découvre pas automatiquement les journaux de flux au format personnalisé.
Pour utiliser CloudWatch Logs Insights avec des journaux de flux au format personnalisé, vous devez modifier les requêtes.
Voici un exemple de format de journal de flux personnalisé :
${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}
Les requêtes suivantes sont des exemples de la manière dont vous pouvez personnaliser et étendre les requêtes en fonction de vos cas d’utilisation.
Résolution
Récupérez les derniers journaux de flux
Pour extraire des données de vos champs de journal, utilisez le mot clé parse. Par exemple, la sortie de la requête suivante est triée en fonction de l’heure de début de l’événement du journal de flux et limitée aux deux entrées de journal les plus récentes.
Requête
#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
Sortie
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 |
Résumer les transferts de données par paires d’adresses IP source et de destination
Utilisez la requête suivante pour résumer le trafic réseau par paires d’adresses IP source et de destination. Dans l’exemple de requête, la statistique de somme regroupe le champ d’octets. La statistique de somme calcule un total cumulé des données transférées entre les hôtes, de sorte que le flow_direction est inclus dans la requête et la sortie. Les résultats de l’agrégation sont temporairement affectés au champ Data_Transferred. Ensuite, les résultats sont triés par Data_Transferred dans l’ordre décroissant, et les deux plus grandes paires sont renvoyées.
Requête
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
Sortie
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 |
Analysez les transferts de données par ID d’instance Amazon EC2
Vous pouvez utiliser des journaux de flux personnalisés pour analyser les transferts de données par ID d’instance Amazon Elastic Compute Cloud (Amazon EC2). Pour déterminer les instances EC2 les plus actives, incluez le champ instance_id dans la requête.
Requête
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
Sortie
instance_id | Data_Transferred |
---|---|
- | 1443477306 |
i-03205758c9203c979 | 517558754 |
i-0ae33894105aa500c | 324629414 |
i-01506ab9e9e90749d | 198063232 |
i-0724007fef3cb06f3 | 54847643 |
Filtre pour le trafic SSH rejeté
Pour analyser le trafic refusé par votre groupe de sécurité et vos listes de contrôle d’accès réseau (ACL réseau), utilisez l’action de filtre REJETER. Pour identifier les hôtes rejetés sur le trafic SSH, étendez le filtre pour inclure le protocole TCP et le trafic dont le port de destination est 22. Dans l’exemple de requête suivant, le protocole TCP 6 est utilisé.
Requête
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
Sortie
srcaddr | SSH_Traffic_Volume |
---|---|
23.95.222.129 | 160 |
179.43.167.74 | 80 |
Isoler le flux de données HTTP pour une paire source/destination spécifique
Pour analyser les tendances de vos données, utilisez CloudWatch Logs Insights pour isoler le trafic bidirectionnel entre deux adresses IP. Dans la requête suivante, ["172.31.1.247","172.31.11.212"] utilise l’adresse IP comme adresse IP source ou adresse IP de destination pour renvoyer les journaux de flux. Les instructions de filtre correspondent aux événements du journal de flux VPC avec le protocole TCP 6 et le port 80 pour isoler le trafic HTTP. Pour renvoyer un sous-ensemble de tous les champs disponibles, utilisez le mot clé display.
Requête
Consultez la requête suivante :
#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
Sortie
interface_id | srcaddr | srcport | dstaddr | dstport | protocole | octets | action | log_status |
---|---|---|---|---|---|---|---|---|
eni-0b74120275654905e | 172.31.11.212 | 80 | 172.31.1.247 | 29376 | 6 | 5160876 | ACCEPTER | OK |
eni-0b74120275654905e | 172.31.1.247 | 29376 | 172.31.11.212 | 80 | 6 | 97380 | ACCEPTER | OK |
Visualisez les résultats sous forme de graphique à barres ou à secteurs
Vous pouvez utiliser CloudWatch Log Insights pour visualiser les résultats sous forme de graphique à barres ou à secteurs. Si les résultats incluent la fonction bin(), la sortie de la requête est renvoyée avec un horodatage. Vous pouvez ensuite visualiser la série chronologique à l’aide d'un graphique linéaire ou à aires empilées.
Pour calculer les données cumulées transférées à intervalles d’une minute, utilisez la somme des statistiques (octets) sous la forme Data_Trasferred by bin(1m). Pour voir cette visualisation, basculez entre les tables Logs et Visualization dans la console CloudWatch Logs Insights.
Requête
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)
Sortie
bin(1m) | Data_Transferred |
---|---|
01-04-2022 15:23:00.000 | 17225787 |
01-04-2022 15:21:00.000 | 17724499 |
01-04-2022 15:20:00.000 | 1125500 |
01-04-2022 15:19:00.000 | 101525 |
01-04-2022 15:18:00.000 | 81376 |
Informations connexes

Contenus pertinents
- demandé il y a 10 moislg...
- demandé il y a 8 moislg...
- demandé il y a 2 anslg...
- demandé il y a 14 jourslg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 4 mois
- AWS OFFICIELA mis à jour il y a un an
- AWS OFFICIELA mis à jour il y a 5 mois
- AWS OFFICIELA mis à jour il y a 9 mois