Passer au contenu

Comment puis-je calculer le nombre d'octets transférés via ma connexion d'appairage de VPC dans des journaux de flux VPC personnalisés ?

Lecture de 5 minute(s)
0

Je souhaite contrôler le nombre d'octets transférés via ma connexion d'appairage Amazon Virtual Private Cloud (Amazon VPC).

Résolution

Utilisez Amazon CloudWatch Logs Insights et Amazon Athena pour interroger les journaux de flux Amazon VPC.

Prérequis

Créez une connexion d'appairage Amazon VPC active.

Activez Amazon VPC Flow Logs au moins sur le VPC source. Vous pouvez publier les journaux de flux VPC sur CloudWatch Logs ou dans un compartiment Amazon Simple Storage Service (Amazon S3).

Cet exemple de format VPC Flow Logs personnalisé utilise les champs ${traffic-path} et ${bytes} :

${interface-id} ${vpc-id} ${srcaddr} ${dstaddr} ${pkt-srcaddr} ${pkt-dstaddr} ${traffic-path} ${bytes} ${log-status}

Pour déterminer le nombre d'octets transférés via une connexion d'appairage, spécifiez et interrogez les champs ${traffic-path} et ${bytes}. Le traffic-path identifie le chemin emprunté par le trafic sortant vers la destination.

Remarque : Les valeurs de chemin de trafic pour les connexions d'appairage Amazon VPC sont de 4 pour la région intra-AWS et de 5 pour la région inter-AWS.

Pour plus d'informations, consultez la section Champs disponibles.

Utiliser CloudWatch Insights pour interroger les journaux de flux

Pour utiliser CloudWatch Logs Insights afin d'interroger les journaux de flux, procédez comme suit :

  1. Ouvrez la console CloudWatch.

  2. Dans le volet de navigation, sélectionnez Logs Insights.

  3. Sur le tableau de bord Logs Insights, choisissez le groupe de journaux.

  4. Exécutez cette requête pour calculer le nombre total d'octets transférés sur toutes les connexions d'appairage VPC intra-régionales et inter-régionales dans le journal VPC :

    fields @timestamp, bytes
    |filter trafficPath in ['4','5']
    | stats sum(bytes) as
    TotalBytesTransferred
  5. Exécutez cette requête pour calculer le nombre total d'octets transférés entre la source et la destination sur toutes les connexions d'appairage VPC intra-régionales et inter-régionales. Les résultats sont répertoriés par ordre décroissant en fonction du nombre d'octets transférés :

    fields @timestamp, bytes, srcAddr, dstAddr
    | sort srcAddr, dstAddr
    | filter trafficPath in ['4', '5']
    | stats sum(bytes) as TotalBytesTransferred by srcAddr, dstAddr
    | sort -TotalBytesTransferred
    
  6. Exécutez cette requête pour effectuer une recherche par adresse IP source et destination :

    fields @timestamp, bytes, srcAddr, dstAddr
    | sort @timestamp desc
    | filter trafficPath in ['4', '5']
    | filter srcAddr = "x.x.x.x" and dstAddr = "x.x.x.x"
    | stats sum(bytes) as TotalBytesTransferred by srcAddr, dstAddr
    | sort -TotalBytesTransferred

Pour les requêtes personnalisées, consultez Didacticiel : Exécuter une requête avec une fonction d'agrégation. Pour plus d'informations sur la syntaxe de requête, consultez la section Syntaxe de requête CloudWatch Logs Insights.

Pour plus d'informations sur l'utilisation des requêtes CloudWatch Logs Insights, consultez la section Comment utiliser les requêtes CloudWatch Logs Insights avec mon journal de flux VPC ?

Utiliser Amazon Athena pour interroger les journaux de flux VPC

Pour utiliser Amazon Athena afin d'interroger les journaux de flux VPC, procédez comme suit :

Remarque : Par défaut, les journaux de flux VPC sont activés au format texte avec un compartiment Amazon S3 comme destination.

  1. Ouvrez la console Amazon Athena, puis lancez l'éditeur de requête.

  2. Créez une table Athena pour les journaux de flux Amazon VPC.

  3. Utilisez une instruction DDL pour créer un tableau avec des colonnes correspondant aux données de vos journaux de flux VPC. Assurez-vous que les numéros de ligne correspondent aux numéros de colonne de la sortie de votre fichier Amazon S3. Utilisez l'URI du compartiment Amazon S3 pour la source de l’emplacement.

  4. Pour les requêtes au format texte par défaut d'Amazon S3, utilisez cette instruction DDL :

    CREATE EXTERNAL TABLE IF NOT EXISTS `vpc_flow_logs` (
      interface_id string,
      vpc_id string,
      srcaddr string,
      dstaddr string,
      pkt_srcaddr string,
      pkt_dstaddr string,
      traffic_path int,
      bytes bigint,
      log_status string
    )
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ' '
    LOCATION 's3://EXAMPLE_BUCKET/REGION/'
    TBLPROPERTIES ("skip.header.line.count"="1");

    Remarque : Chaque colonne du tableau est ajoutée dans l'ordre de saisie. La première colonne est la chaîne interface_id string car la dernière ligne omet l'en-tête du nombre.

  5. Exécutez cette requête pour déterminer le nombre total d'octets transférés via une connexion d'appairage intra-régionale ou inter-régionale :

    SELECT sum(bytes) as total_bytes_transferred
    FROM vpc_flow_logs
    WHERE traffic_path IN (4, 5);
  6. Exécutez cette requête pour calculer le nombre total d'octets transférés via une connexion d'appairage intra-régionale ou inter-régionale :

    SELECT
        srcaddr,
        dstaddr,
        SUM(bytes) AS total_bytes_transferred
    FROM
        vpc_flow_logs
    WHERE traffic_path IN (4,5)
    GROUP BY
        srcaddr, dstaddr
    ORDER BY
        total_bytes_transferred DESC;

Remarque : Les données sont classées par adresse IP source et destination et répertoriées par ordre décroissant en fonction du nombre d'octets transférés.

Pour plus d'informations, consultez la section Création et interrogation de tables pour des journaux de flux VPC personnalisés.

Informations connexes

Journalisation du trafic d'adresses IP à l'aide des journaux de flux VPC

Publier des journaux de flux dans CloudWatch Logs

Publier des journaux de flux sur Amazon S3

AWS OFFICIELA mis à jour il y a 3 ans