Publier des journaux de flux sur Firehose - 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.

Publier des journaux de flux sur Firehose

Les journaux de flux peuvent publier les données des journaux de flux directement dans Firehose. Vous pouvez choisir de publier les journaux de flux sur le même compte que le moniteur de ressources ou sur un autre compte.

Conditions préalables

Lors de la publication sur Firehose, les données du journal de flux sont publiées dans un flux de diffusion Firehose, au format texte brut. Vous devez d'abord avoir créé un flux de diffusion Firehose. Pour connaître les étapes de création d'un flux de diffusion, consultez la section Création d'un flux de diffusion Amazon Data Firehose dans le manuel du développeur Amazon Data Firehose.

Tarification

Des frais d'ingestion et de diffusion standard s'appliquent. Pour plus d'informations, ouvrez Amazon CloudWatch Pricing, sélectionnez Logs et recherchez Vended Logs.

Rôles IAM pour la diffusion entre comptes

Lorsque vous publiez sur Kinesis Data Firehose, vous pouvez choisir un flux de diffusion qui se trouve dans le même compte que la ressource à surveiller (le compte source) ou dans un compte différent (le compte de destination). Pour permettre la transmission des journaux de flux entre comptes à Firehose, vous devez créer un rôle IAM dans le compte source et un rôle IAM dans le compte de destination.

Rôle du compte source

Dans le compte source, créez un rôle qui accorde les autorisations suivantes. Dans cet exemple, le rôle a pour nom mySourceRole, mais vous pouvez choisir un nom différent. La dernière instruction permet au rôle dans le compte de destination d'assumer ce rôle. Les instructions de condition garantissent que ce rôle est transmis uniquement au service de diffusion de journaux, et uniquement lors de la surveillance de la ressource spécifiée. Lorsque vous créez votre politique, spécifiez les VPC, les interfaces réseau ou les sous-réseaux que vous surveillez à l'aide de la clé de condition iam:AssociatedResourceARN.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::source-account:role/mySourceRole", "Condition": { "StringEquals": { "iam:PassedToService": "delivery.logs.amazonaws.com" }, "StringLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:region:source-account:transit-gateway/tgw-0fb8421e2da853bf" ] } } }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:GetLogDelivery" ], "Resource": "*" }, { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole" } ] }

Assurez-vous que ce rôle possède la politique de confiance suivante, qui permet au service de diffusion de journaux d'assumer ce rôle.

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

À partir du compte source, observez la procédure suivante afin de créer le rôle.

Pour créer le rôle du compte source
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Politiques.

  3. Sélectionnez Create policy (Créer une politique).

  4. Sur la page Create policy (Créer une stratégie), procédez comme suit :

    1. Choisissez JSON.

    2. Remplacez le contenu de cette fenêtre par la politique d'autorisations au début de cette section.

    3. Choisissez Next: Tags (Suivant : Balises), puis Next: Review (Suivant : Vérification).

    4. Saisissez un nom pour votre politique ainsi qu'une description facultative, puis choisissez Create policy (Créer une politique).

  5. Dans le panneau de navigation, choisissez Roles (Rôles).

  6. Sélectionnez Create role (Créer un rôle).

  7. Pour Trusted entity type (Type d'entité de confiance), choisissez Custom trust policy (Politique de confiance personnalisée). Pour Custom trust policy (Politique de confiance personnalisée), remplacez "Principal": {}, par ce qui suit, qui spécifie le service de diffusion de journaux. Choisissez Suivant.

    "Principal": { "Service": "delivery.logs.amazonaws.com" },
  8. Sur la page Add permissions (Ajouter des autorisations), cochez la case correspondant à la politique que vous avez créée plus tôt dans cette procédure, puis choisissez Next (Suivant).

  9. Entrez un nom pour votre rôle et fournissez une description, le cas échéant.

  10. Sélectionnez Créer un rôle.

Rôle du compte de destination

Dans le compte de destination, créez un rôle dont le nom commence par AWSLogDeliveryFirehoseCrossAccountRole. Ce rôle doit accorder les autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" } ] }

Assurez-vous que ce rôle possède la politique de confiance suivante, qui permet au rôle que vous avez créé dans le compte source d'assumer ce rôle.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" }, "Action": "sts:AssumeRole" } ] }

À partir du compte de destination, appliquez la procédure suivante afin de créer le rôle.

Pour créer le rôle du compte de destination
  1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/iam/.

  2. Dans le panneau de navigation, choisissez Politiques.

  3. Sélectionnez Create policy (Créer une politique).

  4. Sur la page Create policy (Créer une stratégie), procédez comme suit :

    1. Choisissez JSON.

    2. Remplacez le contenu de cette fenêtre par la politique d'autorisations au début de cette section.

    3. Choisissez Next: Tags (Suivant : Balises), puis Next: Review (Suivant : Vérification).

    4. Entrez un nom pour votre politique commençant par AWSLogDeliveryFirehoseCrossAccountRole, puis choisissez Créer une politique.

  5. Dans le panneau de navigation, choisissez Roles (Rôles).

  6. Sélectionnez Create role (Créer un rôle).

  7. Pour Trusted entity type (Type d'entité de confiance), choisissez Custom trust policy (Politique de confiance personnalisée). Pour Custom trust policy (Politique de confiance personnalisée), remplacez "Principal": {}, par ce qui suit, qui spécifie le service de diffusion de journaux. Choisissez Suivant.

    "Principal": { "AWS": "arn:aws:iam::source-account:role/mySourceRole" },
  8. Sur la page Add permissions (Ajouter des autorisations), cochez la case correspondant à la politique que vous avez créée plus tôt dans cette procédure, puis choisissez Next (Suivant).

  9. Entrez un nom pour votre rôle et fournissez une description, le cas échéant.

  10. Sélectionnez Créer un rôle.

Créez un journal de flux qui publie sur Firehose

Pour créer un journal de flux de passerelle de transit publié sur Firehose à l'aide de la console
  1. Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le panneau de navigation, choisissez Transit gateways (Passerelles de transit), Transit gateway attachment (Attachements de passerelle de transit).

  3. Cochez les cases correspondant à une ou plusieurs passerelles de transit ou à un ou plusieurs attachements de passerelle de transit.

  4. Choisissez Actions, Create flow log (Créer le journal de flux).

  5. Pour Destination, choisissez Envoyer vers un système de distribution Firehose.

  6. Pour Firehose Delivery Stream ARN (ARN du flux de distribution Firehose), choisissez l'ARN d'un flux de distribution que vous avez créé dans lequel le journal des flux doit être publié.

  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 de registre de journal de flux par défaut, sélectionnez AWS default format (Format par défaut).

    • Pour créer un format personnalisé, choisissez Custom format (Format personnalisé). Pour Log format (Format de journal), choisissez les champs à inclure dans l'enregistrement de journal de flux.

  8. (Facultatif) Pour ajouter une identification au journal de flux, choisissez Add new tag (Ajouter une nouvelle identification) et spécifiez la clé et la valeur de l'identification.

  9. Choisissez Create flow log. (Créer le journal de flux).

Pour créer un journal de flux publié sur Firehose à l'aide de l'outil de ligne de commande

Utilisez l’une des commandes suivantes :

L'exemple de AWS CLI suivant crée un journal de flux qui capture les informations relatives à la passerelle de transit et fournit le journal de flux au flux de diffusion Firehose spécifié.

aws ec2 create-flow-logs \ --resource-type TransitGateway \ --resource-ids tgw-1a2b3c4d \ --log-destination-type kinesis-data-firehose \ --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream:flowlogs_stream

L'exemple de AWS CLI suivant crée un journal de flux qui capture les informations relatives à la passerelle de transit et fournit le journal de flux à un flux de diffusion Firehose différent du compte source.

aws ec2 create-flow-logs \ --resource-type TransitGateway \ --resource-ids gw-1a2b3c4d \ --log-destination-type kinesis-data-firehose \ --log-destination arn:aws:firehose:us-east-1:123456789012:deliverystream:flowlogs_stream \ --deliver-logs-permission-arn arn:aws:iam::source-account:role/mySourceRole \ --deliver-cross-account-role arn:aws:iam::destination-account:role/AWSLogDeliveryFirehoseCrossAccountRole