Créez un journal de flux qui publie dans CloudWatch Logs - Amazon VPC

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.

Créez un journal de flux qui publie dans CloudWatch Logs

Les journaux de flux peuvent publier les données des journaux de flux directement sur Amazon CloudWatch.

Lorsqu'elles sont publiées dans CloudWatch Logs, les données du journal de flux sont publiées dans un groupe de journaux, et chaque passerelle de transit possède un flux de journal unique dans le groupe de journaux. Les flux de journaux contiennent des enregistrements de journaux de flux. Vous pouvez créer plusieurs journaux de flux qui publient des données dans le même groupe de journaux. Si la même passerelle de transit est présente dans un ou plusieurs journaux de flux d'un même groupe de journaux, elle dispose d'un flux de journaux combiné. Si vous avez indiqué qu'un journal de flux doit capturer le trafic refusé et que l'autre journal de flux doit capturer le trafic accepté, le flux de journaux combiné capture l'ensemble du trafic.

Les frais d'ingestion de données et d'archivage pour les journaux vendus s'appliquent lorsque vous publiez des journaux de flux dans Logs. CloudWatch Pour plus d'informations, consultez Amazon CloudWatch Pricing.

Dans CloudWatch Logs, le champ d'horodatage correspond à l'heure de début enregistrée dans l'enregistrement du journal de flux. Le champ IngestionTime indique la date et l'heure auxquelles l'enregistrement du journal de flux a été reçu par Logs. CloudWatch L'horodatage est ultérieur à l'heure de fin capturée dans l'enregistrement du journal de flux.

Pour plus d'informations sur CloudWatch les journaux, consultez la section Journaux envoyés à CloudWatch Logs dans le guide de l'utilisateur Amazon CloudWatch Logs.

Rôles IAM pour publier des journaux de flux dans Logs CloudWatch

Le rôle IAM associé à votre journal de flux doit disposer d'autorisations suffisantes pour publier des journaux de flux dans le groupe de journaux spécifié dans CloudWatch Logs. Le rôle IAM doit appartenir à votre Compte AWS.

La stratégie IAM associée à votre rôle IAM; doit au moins inclure les autorisations suivantes :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Resource": "*" } ] }

Assurez-vous également que votre rôle dispose d'une relation d'approbation qui permet au service de journaux de flux d'assumer le rôle.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "vpc-flow-logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Nous vous recommandons d'utiliser les clés de condition aws:SourceAccount et aws:SourceArn pour vous protéger contre le problème du député confus. Par exemple, vous pouvez ajouter le bloc de condition suivant à la stratégie d'approbation précédente. Le compte source est le propriétaire du journal de flux et l'ARN source est l'ARN du journal de flux. Si vous ne connaissez pas l'ID du journal de flux, vous pouvez remplacer cette partie de l'ARN par un caractère générique (*), puis mettre à jour la stratégie après avoir créé le journal de flux.

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:ec2:region:account_id:vpc-flow-log/flow-log-id" } }

Création ou mise à jour d'un rôle IAM pour les journaux de flux

Vous pouvez mettre à jour un rôle existant ou utiliser la procédure suivante pour créer un nouveau rôle à utiliser avec les journaux de flux.

Création d'un rôle IAM pour les journaux de flux
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Rôles, puis Créer un rôle.

  3. Pour Select type of trusted entity (Sélectionner le type d'entité de confiance), choisissez Service AWS . Pour Use case (Cas d'utilisation), choisissez EC2. Choisissez Suivant.

  4. Dans la page Add permissions (Ajouter des autorisations), choisissez Next: Tags (Suivant : balises) et ajoutez des balises si vous le souhaitez. Choisissez Suivant.

  5. Sur la page Name, review, and create (Nommer, vérifier et créer), saisissez un nom pour votre rôle et fournissez une Description, le cas échéant. Sélectionnez Créer un rôle.

  6. Choisissez le nom de votre rôle. Pour Add permissions (Ajouter des autorisations), choisissez Create inline policy (Créer une politique en ligne), puis l'onglet JSON.

  7. Copiez la première stratégie de Rôles IAM pour publier des journaux de flux dans Logs CloudWatch et collez-la dans la fenêtre. Choisissez Examiner une politique.

  8. Entrez un nom pour votre stratégie, puis choisissez Créer une stratégie.

  9. Sélectionnez le nom de votre rôle. Sous Relations d'approbation, choisissez Modifier la relation d'approbation. Dans le document de stratégie existant, modifiez le service de ec2.amazonaws.com à vpc-flow-logs.amazonaws.com. Choisissez Update Trust Policy.

  10. Sur la page Summary (Récapitulatif), notez l'ARN de votre rôle. Vous en avez besoin lors de la création de votre journal de flux.

Autorisations pour les utilisateurs IAM pour transmettre un rôle

Les utilisateurs doivent également disposer d'autorisations pour utiliser l'action iam:PassRole en ce qui concerne le rôle IAM associé au journal de flux.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["iam:PassRole"], "Resource": "arn:aws:iam::account-id:role/flow-log-role-name" } ] }

Créez un journal de flux qui publie dans CloudWatch Logs

Vous pouvez créer des journaux de flux pour les passerelles de transit. Si vous effectuez ces étapes en tant qu'utilisateur IAM, assurez-vous de disposer des autorisations nécessaires afin d'utiliser l'action iam:PassRole. Pour plus d’informations, consultez Autorisations pour les utilisateurs IAM pour transmettre un rôle.

Pour créer un journal de flux de passerelle de transit à l'aide de la console
  1. Connectez-vous à la console Amazon VPC AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le panneau de navigation, choisissez Transit gateways (Passerelles de transit).

  3. Cochez les cases correspondant à une ou plusieurs passerelles de transit et sélectionnez Actions, puis Create flow log (Créer un journal de flux).

  4. Pour Destination, choisissez Envoyer vers CloudWatch les journaux.

  5. Pour Destination log group (Groupe de journaux de destination), choisissez le nom d'un groupe de journaux de destination actuel.

    Note

    Si le groupe de journaux de destination n'existe pas encore, la saisie d'un nouveau nom dans ce champ créera un nouveau groupe de journaux de destination.

  6. Pour le rôle IAM, spécifiez le nom du rôle autorisé à publier des journaux dans CloudWatch Logs.

  7. Pour Log record format (Format d'enregistrement du journal), sélectionnez le format de l'enregistrement du journal de flux.

    • Pour utiliser le format par défaut, choisissez AWS default format (Format par défaut).

    • Pour utiliser un format personnalisé, choisissez Custom format (Format personnalisé), puis sélectionnez des champs dans Log format (Format du journal).

  8. (Facultatif) Sélectionnez Add new tag (Ajouter une nouvelle balise) pour appliquer des identifications au journal de flux.

  9. Choisissez Créer le journal de flux.

Pour créer un journal de flux à l'aide de la ligne de commande

Utilisez l’une des commandes suivantes.

L' AWS CLI exemple suivant crée un journal de flux qui capture les informations relatives aux passerelles de transit. Les journaux de flux sont transmis à un groupe de CloudWatch journaux dans Logs appelémy-flow-logs, dans le compte 123456789101, à l'aide du rôle IAM. publishFlowLogs

aws ec2 create-flow-logs --resource-type TransitGateway --resource-ids tgw-1a2b3c4d --log-group-name my-flow-logs --deliver-logs-permission-arn arn:aws:iam::123456789101:role/publishFlowLogs

Enregistrements du flux de processus dans CloudWatch Logs

Vous pouvez utiliser les enregistrements des journaux de flux comme vous le feriez avec tout autre événement de journal collecté par CloudWatch Logs. Pour plus d'informations sur la surveillance des données de journal et les filtres métriques, consultez la section Recherche et filtrage des données de journal dans le guide de CloudWatch l'utilisateur Amazon.

Exemple : création d'un filtre CloudWatch métrique et d'une alarme pour un journal de flux

Dans cet exemple, vous avez un journal de flux pour eni-1a2b3c4d. Vous souhaitez créer une alarme qui vous alerte si au moins 10 tentatives de connexion à votre instance via le port TCP 22 (SSH) sont refusées dans un laps de temps d'une heure. Tout d'abord, vous devez créer un filtre de métrique qui correspond au modèle de trafic pour lequel créer l'alarme. Vous pouvez ensuite créer une alarme pour le filtre de métrique.

Pour créer un filtre de métrique pour le trafic SSH refusé et une alarme pour ce filtre :
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le panneau de navigation de gauche, choisissez Logs (Journaux), Log groups (Groupes de journaux).

  3. Cochez la case en regard du groupe de journaux, puis choisissez Actions, Create metric filter ( Créer un filtre de métrique).

  4. Pour Modèle de filtre, fournissez les informations suivantes.

    [version, resource_type, account_id,tgw_id="tgw-123abc456bca”, tgw_attachment_id, tgw_src_vpc_account_id, tgw_dst_vpc_account_id, tgw_src_vpc_id, tgw_dst_vpc_id, tgw_src_subnet_id, tgw_dst_subnet_id, tgw_src_eni, tgw_dst_eni, tgw_src_az_id, tgw_dst_az_id, tgw_pair_attachment_id, srcaddr= "10.0.0.1", dstaddr, srcport=“80”, dstport, protocol=“6”, packets, bytes,start,end, log_status, type,packets_lost_no_route, packets_lost_blackhole, packets_lost_mtu_exceeded, packets_lost_ttl_expired, tcp_flags,region, flow_direction, pkt_src_aws_service, pkt_dst_aws_service]
  5. Pour Select log data to test (Sélectionner les données de journal à tester), sélectionnez le flux de journal de votre passerelle de transit. (Facultatif) Pour afficher les lignes de données de journal qui correspondent au modèle de filtre, choisissez Test pattern (Tester le modèle). Lorsque vous avez terminé, choisissez Next (Suivant).

  6. Entrez un nom de filtre, un espace de noms de mesure et un nom de métrique. Définissez la valeur de métrique sur 1. Lorsque vous avez terminé, choisissez Next (Suivant), puis Create metric filter (Créer un filtre de métrique).

  7. Dans le panneau de navigation, choisissez Alarms (Alarmes), All alarms (Toutes les alarmes).

  8. Choisissez Create alarm. (Créer une alarme).

  9. Choisissez l'espace de noms du filtre de métrique que vous avez créé.

    Il peut s'écouler quelques minutes avant qu'une nouvelle métrique ne s'affiche dans la console.

  10. Sélectionnez le nom de la métrique que vous avez créée, puis choisissez Select metric (Sélectionner une métrique).

  11. Configurez l'alarme comme suit, puis choisissez Next (Suivant) :

    • Pour Statistics (Statistique), choisissez Sum (Somme). Ainsi, vous capturez le nombre total de points de données pour la période spécifiée.

    • Pour Period (Période), choisissez 1 hour (1 heure).

    • Pour Chaque fois, choisissez Supérieur à/Égal à et saisissez 10 pour le seuil.

    • Sous Additional configuration (Configuration supplémentaire), conservez la valeur 1 pour Datapoints to alarm (Points de données à signaler).

  12. Pour Notification, sélectionnez une rubrique SNS existante ou choisissez Create new topic (Créer une rubrique) pour en créer une nouvelle. Choisissez Next (Suivant).

  13. Saisissez le nom et la description de l'alarme, puis choisissez Next (Suivant).

  14. Lorsque vous avez terminé de configurer l'alarme, choisissez Create alarm (Créer une alarme).