Journaux de flux dans AWS Global Accelerator - AWS Global Accelerator

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Journaux de flux dans AWS Global Accelerator

Les journaux de flux vous permettent de capturer des informations sur le trafic d'adresses IP entrant et sortant dans les interfaces réseau dans votre accélérateur dans AWS Global Accelerator. Les données du journal de flux sont publiées dans Amazon S3, où vous pouvez récupérer et afficher vos données après que vous avez créé un journal de flux.

Les journaux de flux peuvent vous aider pour de nombreuses tâches. Par exemple, vous pouvez déterminer pourquoi un trafic spécifique n'atteint pas un point de terminaison, ce qui vous aide à diagnostiquer des règles de groupe de sécurité trop restrictives. Vous pouvez également utiliser les journaux de flux comme outil de sécurité pour surveiller le trafic qui atteint vos points de terminaison.

Un enregistrement de journal de flux représente un flux de réseau dans votre journal de flux. Chaque enregistrement capture le flux de réseau pour un 5-uplet spécifique, pour une fenêtre de capture spécifique. Un 5-uplet est un ensemble de cinq valeurs différentes qui spécifient la source, la destination et un protocole pour un flux IP. La fenêtre de capture correspond à la durée pendant laquelle le service de journaux de flux regroupe les données avant de publier les enregistrements de journaux de flux. La fenêtre de capture dure environ 10 secondes, mais elle peut aller jusqu'à 1 minute.

Des frais de CloudWatch Logs s'appliquent lors de l'utilisation de journaux de flux, même lorsque les journaux sont publiés directement dans Amazon S3. Pour de plus amples informations, veuillez consulterLivrer les journaux à S3àTarification Amazon CloudWatch.

Publication des journaux de flux sur Amazon S3

Les journaux de flux pour AWS Global Accelerator sont publiés dans Amazon S3 dans un compartiment S3 existant que vous spécifiez. Les enregistrements de journaux de flux sont publiés dans une série d'objets de fichier journal qui sont stockés dans le compartiment.

Pour créer un compartiment Amazon S3 à utiliser avec les journaux de flux, reportez-vous à Créer un compartiment dans leGuide de démarrage Amazon Simple Storage Service.

Fichiers journaux de flux

Les journaux de flux collectent les enregistrements de journal de flux, les consolident dans des fichiers journaux, puis publient ceux-ci dans le compartiment Amazon S3 à intervalles de 5 minutes. Chaque fichier journal contient des enregistrements de journaux de flux pour le trafic de l'adresse IP enregistré au cours des cinq dernières minutes.

La taille maximale d'un fichier journal est de 75 Mo. Si le fichier journal atteint la limite maximale de taille au cours de la période de 5 minutes, le journal de flux cesse de lui ajouter des enregistrements de journaux de flux, le publie dans le compartiment Amazon S3, puis crée un nouveau fichier journal.

Les fichiers journaux sont enregistrés dans le compartiment Amazon S3 indiqué à l'aide d'une structure de dossiers qui est déterminée par l'ID du journal de flux, sa région et sa date de création. La structure de dossiers du compartiment utilise le format suivant :

s3-bucket_name/s3-bucket-prefix/AWSLogs/aws_account_id/globalaccelerator/region/yyyy/mm/dd/

De même, le nom du fichier journal est déterminé par son ID, sa région, ainsi que la date et l'heure de sa création. Les noms de fichier utilisent le format suivant :

aws_account_id_globalaccelerator_accelerator_id_flow_log_id_timestamp_hash.log.gz

Notez ce qui suit à propos de la structure des dossiers et des noms de fichiers pour les fichiers journaux :

  • L'horodatage utilise le format YYYYMMDDTHHmmZ.

  • Si vous spécifiez une barre oblique (/) pour le préfixe du compartiment S3, la structure du dossier du compartiment du fichier journal inclut une double barre oblique (//), comme suit :

    s3-bucket_name//AWSLogs/aws_account_id

L'exemple suivant montre la structure de dossiers et le nom d'un fichier journal pour un flux créé par le compte AWS123456789012pour un accélérateur avec un ID de1234abcd-abcd-1234-abcd-1234abcdefgh, le 23 novembre 2018 à 00:05 UTC :

my-s3-bucket/prefix1/AWSLogs/123456789012/globalaccelerator/us-west-2/2018/11/23/123456789012_globalaccelerator_1234abcd-abcd-1234-abcd-1234abcdefgh_20181123T0005Z_1fb1234.log.gz

Un fichier journal de flux unique contient des entrées entrelacées avec plusieurs enregistrements de 5 tuples, c'est-à-direclient_ip,client_port,accelerator_ip,accelerator_port,protocol. Pour afficher tous les fichiers journaux de flux de votre accélérateur, recherchez les entrées agrégées par leaccelerator_idet vos recettesaccount_id.

Rôles IAM pour la publication des journaux de flux sur Amazon S3

Un mandataire IAM tel qu'un utilisateur IAM doit disposer d'autorisations suffisantes pour publier des journaux de flux dans le compartiment Amazon S3. La stratégie IAM doit inclure les autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DeliverLogs", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*" }, { "Sid": "AllowGlobalAcceleratorService", "Effect": "Allow", "Action": [ "globalaccelerator:*" ], "Resource": "*" }, { "Sid": "s3Perms", "Effect": "Allow", "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Resource": "*" } ] }

Autorisations du compartiment Amazon S3 pour les journaux de flux

Les compartiments Amazon S3 et les objets qu'ils contiennent sont confidentiels par défaut. Seul le propriétaire du compartiment peut accéder au compartiment et aux objets qui sont stockés dedans. Le propriétaire du compartiment peut toutefois accorder des autorisations d'accès à d'autres ressources et à d'autres utilisateurs en créant une stratégie d'accès.

Si l'utilisateur qui crée le journal de flux est le propriétaire du compartiment, le service attache automatiquement la stratégie suivante au compartiment pour donner au journal de flux l'autorisation de publier des journaux dans ce compartiment :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket_name/optional_folder/AWSLogs/account_id/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::bucket_name" } ] }

Si l'utilisateur qui crée le journal de flux n'est pas le propriétaire du compartiment ou ne dispose pas des autorisations GetBucketPolicy et PutBucketPolicy pour le compartiment, la création du journal de flux échoue. Dans ce cas, le propriétaire du compartiment doit ajouter manuellement la stratégie précédente au compartiment et indiquer l'ID de compte AWS du créateur du journal de flux. Pour de plus amples informations, veuillez consulterComment ajouter une stratégie de compartiment S3 ?dans leGuide de mise en route Amazon Simple Storage Service. Si le compartiment reçoit des journaux de flux de plusieurs comptes, ajoutez une entrée d'élément Resource à la déclaration de stratégie AWSLogDeliveryWrite pour chaque compte.

Par exemple, la stratégie de compartiment suivante permet aux comptes AWS 123123123 et 456456456456456456456 de publier des journaux de flux dans un dossier nomméflow-logsdans un compartiment nommélog-bucket :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::log-bucket/flow-logs/AWSLogs/123123123123/*", "arn:aws:s3:::log-bucket/flow-logs/AWSLogs/456456456456/*" ], "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": {"Service": "delivery.logs.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::log-bucket" } ] }
Note

Nous vous recommandons d'accorder leAWSLogDeliveryAclCheckandAWSLogDeliveryWriteau principal du service de remise des journaux plutôt qu'à des ARN de compte AWS individuels.

Stratégie de clé CMK obligatoire à utiliser avec les compartiments SSE-KMS

Si vous avez activé le chiffrement côté serveur (SSE) pour votre compartiment Amazon S3 à l'aide de clés gérées par AWS KMS (SSE-KMS) avec une clé principale client gérée par le client (CMK), vous devez ajouter ce qui suit à la stratégie de clé pour votre CMK de sorte que les journaux de flux puissent écrire des fichiers journaux dans le compartiment :

{ "Sid": "Allow AWS Global Accelerator Flow Logs to use the key", "Effect": "Allow", "Principal": { "Service": [ "delivery.logs.amazonaws.com" ] }, "Action": "kms:GenerateDataKey*", "Resource": "*" }

Autorisations pour les fichiers journaux Amazon S3

Outre les stratégies de compartiment obligatoires, Amazon S3 utilise des listes de contrôle d'accès (ACL) afin de gérer l'accès aux fichiers journaux créés par un journal de flux. Par défaut, le propriétaire du compartiment dispose d'autorisations FULL_CONTROL sur chaque fichier journal. Si le propriétaire de la livraison des journaux n'est pas le propriétaire du compartiment, il ne dispose d'aucune autorisation. Le compte de livraison des journaux possède les autorisations READ et WRITE. Pour de plus amples informations, veuillez consulterPrésentation de la liste de contrôle d'accès (ACL)dans leGuide de mise en route Amazon Simple Storage Service.

Activer la publication des journaux de flux sur Amazon S3

Pour activer les journaux de flux dans AWS Global Accelerator, suivez les étapes de cette procédure.

Pour activer les journaux de flux dans AWS Global Accelerator

  1. Créez un compartiment Amazon S3 pour vos journaux de flux dans votre compte AWS.

  2. Ajoutez la stratégie IAM requise pour l'utilisateur AWS qui active les journaux de flux. Pour plus d'informations, consultez Rôles IAM pour la publication des journaux de flux sur Amazon S3.

  3. Exécutez la commande AWS CLI suivante, avec le nom du compartiment Amazon S3 et le préfixe que vous souhaitez utiliser pour vos fichiers journaux :

    aws globalaccelerator update-accelerator-attributes --accelerator-arn arn:aws:globalaccelerator::012345678901:accelerator/1234abcd-abcd-1234-abcd-1234abcdefgh --region us-west-2 --flow-logs-enabled --flow-logs-s3-bucket s3-bucket-name --flow-logs-s3-prefix s3-bucket-prefix

Traitement des enregistrements de journal de flux dans Amazon S3

Les fichiers journaux sont compressés. Si vous ouvrez les fichiers journaux à l'aide de la console Amazon S3, ils sont décompressés et les enregistrements de journal de flux s'affichent. Si vous téléchargez les fichiers, vous devez les décompresser pour afficher les enregistrements de journaux de flux.

Délai de distribution des fichiers journaux

AWS Global Accelerator distribue les fichiers journaux de votre accélérateur configuré jusqu'à plusieurs fois par heure. En général, un fichier journal contient des informations sur les demandes que votre accélérateur a reçues pendant une période donnée. Global Accelerator livre généralement le fichier journal correspondant à cette période à votre compartiment Amazon S3 dans l'heure qui suit les événements figurant dans le journal. Une partie ou la totalité des entrées d'un fichier journal d'une période peut parfois être retardé de 24 heures au plus. Lorsque les entrées des journaux sont retardées, Global Accelerator les enregistre dans un fichier journal dont le nom inclut la date et l'heure de la période auxquelles les demandes se sont produites, et non la date et l'heure auxquelles le fichier a été livré.

Lors de la création d'un fichier journal, Global Accelerator consolide les informations de votre accélérateur à partir de tous les emplacements périphériques ayant reçu les demandes pendant la période couverte par le fichier journal.

Global Accelerator commence à livrer les fichiers journaux de façon fiable quatre heures environ après que vous avez activé la journalisation. Vous pourriez obtenir quelques fichiers journaux avant ce moment-là.

Note

Si aucun utilisateur ne se connecte à votre accélérateur pendant la période, vous ne recevez aucun fichier journal pour cette dernière.

Syntaxe des enregistrements de journaux de flux

Un enregistrement de journal de flux est une chaîne d'éléments séparés par un espace, dont le format est le suivant :

<version> <aws_account_id> <accelerator_id> <client_ip> <client_port> <accelerator_ip> <accelerator_port> <endpoint_ip> <endpoint_port> <protocol> <ip_address_type> <packets> <bytes> <start_time> <end_time> <action> <log-status> <globalaccelerator_source_ip> <globalaccelerator_source_port> <endpoint_region> <globalaccelerator_region> <direction> <vpc_id>

Le format Version 1.0 n'inclut pas l'identifiant VPC,vpc_id. Le format de la version 2.0, qui inclutvpc_id, est généré lorsque Global Accelerator envoie du trafic vers un point de terminaison avec la préservation de l'adresse IP du client.

Le tableau suivant décrit les champs d'un enregistrement de journal de flux.

Champ Description

version

Version des journaux de flux.

aws_account_id

ID de compte AWS pour le journal de flux

accelerator_id

ID de l'accélérateur pour lequel le trafic est enregistré.

client_ip

Adresse IPv4 source.

client_port

Port source.

accelerator_ip

Adresse IP de l'accélérateur.

accelerator_port

Le port de l'accélérateur.

endpoint_ip

Adresse IP de destination du trafic

endpoint_port

Port de destination du trafic

protocol

Numéro de protocole IANA du trafic (pour plus d'informations, consultez la page Assigned Internet Protocol Numbers).

ip_address_type

IPv4.

packets

Nombre de paquets transférés au cours de la fenêtre de capture

bytes

Nombre d'octets transférés au cours de la fenêtre de capture

start_time

Heure de début de la fenêtre de capture, en secondes Unix

end_time

Heure de fin de la fenêtre de capture, en secondes Unix

action

Action associée au trafic :

  • ACCEPT : le trafic enregistré a été autorisé par les groupes de sécurité ou les listes ACL réseau. La valeur est actuellement toujours ACCEPTER.

log-status

Statut de journalisation du journal de flux :

  • OK : les données sont consignées normalement dans les destinations choisies.

  • NODATA : il n'y a eu aucun trafic réseau depuis ou vers l'interface réseau pendant la fenêtre de capture.

  • SKIPDATA : certains enregistrements de journaux de flux ont été ignorés pendant la fenêtre de capture. Cela peut être dû à une contrainte de capacité interne ou à une erreur interne.

globalaccelerator_source_ip

Adresse IP utilisée par l'interface réseau Global Accelerator.

globalaccelerator_source_port

Port utilisé par l'interface réseau Global Accelerator.

endpoint_region

Région AWS dans laquelle se trouve le point de terminaison.

globalaccelerator_region

Emplacement périphérique (point de présence) ayant servi la demande. Chaque emplacement périphérique dispose d'un code à trois lettres et d'un numéro attribué arbitrairement (par exemple, DFW3). Le code sur trois lettres correspond généralement au code IATA (International Air Transport Association) d'un aéroport proche de l'emplacement périphérique. (Ces abréviations peuvent changer à l'avenir.)

direction

La direction de la circulation. Indique le trafic entrant dans le réseau Global Accelerator (INGRESS) ou retourner au client (EGRESS).

vpc_id

Identificateur du VPC. Inclus dans les journaux de flux de la version 2.0 lorsque Global Accelerator envoie du trafic vers un point de terminaison avec la préservation de l'adresse IP du client

Si un champ ne s'applique pas à un enregistrement spécifique, ce dernier affiche le symbole « - » pour cette entrée.