Comment puis-je utiliser les requêtes CloudWatch Logs Insights avec le journal de flux de mon VPC ?

Lecture de 3 minute(s)
0

Je souhaite utiliser les requêtes Amazon CloudWatch Logs Insights pour traiter mes journaux de flux Amazon Virtual Private Cloud (Amazon VPC) qui se trouvent dans un groupe de journaux.

Brève description

Lorsque vous activez les journaux de flux VPC qui ciblent CloudWatch Logs, un flux de journaux est visible pour chaque interface réseau Elastic. Si un problème se produit, utilisez CloudWatch Logs Insights pour identifier les causes potentielles et valider les correctifs déployés.

Pour plus d'informations sur les types de journaux pris en charge par CloudWatch Logs Insights, consultez la section Journaux pris en charge et champs découverts.

Résolution

Exécuter une requête

Utilisez la console CloudWatch pour exécuter un exemple de requête ou exécuter une requête personnalisée. Pour exécuter une requête que vous avez déjà exécutée, sélectionnez Historique. Pour exporter vos résultats, sélectionnez Exporter les résultats, puis choisissez un format.

Exemples de requêtes

Scénario 1

Vous disposez d'un serveur Web, d'un serveur d'applications et d'un serveur de base de données. Vous recevez une erreur de délai d’attente ou HTTP 503 et vous souhaitez en déterminer la cause.

Exécutez une requête avec les exemples de variables suivants :

  • L’option Action est définie sur REJECT afin que seules les connexions rejetées soient renvoyées.
  • La requête inclut uniquement les réseaux internes.
  • La liste d’adresses IP du serveur affiche les connexions entrantes et sortantes (srcAddr et dstAddr).
  • La limite est fixée à 5 afin que seules les cinq premières entrées soient affichées.
  • L'adresse IP du serveur Web est 10.0.0.4.
  • L'adresse IP du serveur d'applications est 10.0.0.5.
  • L'adresse IP du serveur de base de données est 10.0.0.6.

Exemple de requête :

filter(
   action="REJECT" and
   dstAddr like /^(10\.|192\.168\.)/ and  
   srcAddr like /^(10\.|192\.168\.)/ and
   (srcAddr = "10.0.0.4" or dstAddr = "10.0.0.4" or srcAddr = "10.0.0.5" or dstAddr = "10.0.0.5" or srcAddr = "10.0.0.6" or dstAddr = "10.0.0.6")
)
| stats count(*) as records by srcAddr,dstAddr,dstPort,protocol
| sort records desc
| limit 5

Scénario 2

Vous rencontrez des délais d'attente intermittents sur une interface réseau. Pour vérifier les rejets sur l'interface réseau sur une période donnée, exécutez la requête suivante :

fields @timestamp, interfaceId, srcAddr, dstAddr, action
| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5

Scénario 3

Pour analyser les journaux de flux VPC et générer un rapport sur une interface réseau spécifique, exécutez la requête suivante :

fields @timestamp, @message
 | stats count(*) as records by dstPort, srcAddr, dstAddr as Destination
 | filter interfaceId="eni-05012345abcd"
 | filter dstPort="80" or dstPort="443" or dstPort="22" or dstPort="25"
 | sort HitCount desc
 | limit 10

La requête précédente vérifie le volume de trafic envoyé aux différents ports.

Scénario 4

Pour filtrer les journaux de flux VPC et répertorier les adresses IP qui tentent de se connecter à une adresse IP ou à un CIDR spécifique dans votre VPC, exécutez l'une des requêtes suivantes.

Adresse IP spécifique :

fields @timestamp, srcAddr, dstAddr
 | sort @timestamp desc
 | limit 5
 | filter srcAddr like "172.31."

CIDR spécifique :

fields @timestamp, srcAddr, dstAddr
 | sort @timestamp desc
 | limit 5
 | filter isIpv4InSubnet(srcAddr,"172.31.0.0/16")

Pour d'autres exemples de requêtes, consultez la section Exemples de requêtes.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 mois