Je souhaite utiliser Amazon CloudWatch Logs pour créer un filtre d'abonnement afin de pouvoir diffuser mes journaux vers Amazon Kinesis Data Streams.
Résolution
Configurer un filtre d'abonnement pour un flux de données Kinesis sur le même compte
Si vous n'en avez pas déjà un, créez un flux de données Kinesis.
Remarque : la région AWS pour le groupe de journaux CloudWatch et la destination du flux de données Kinesis doivent être identiques.
Créer une politique et un rôle IAM avec une politique d’approbation personnalisée
Le rôle Gestion des identités et des accès AWS (AWS IAM) doit disposer d'autorisations d’approbation pour logs.yourregion.amazonaws.com et accorder l'autorisation kinesis:PutRecord.
Utilisez une politique d’approbation personnalisée pour créer un rôle IAM. Dans la section Politique d’approbation personnalisée, saisissez la politique d’approbation suivante :
{ "Statement": {
"Effect": "Allow",
"Principal": {
"Service": "logs.region.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringLike": {
"aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT_ID:*"
}
}
}
}
Remarque : remplacez REGION par votre région AWS et ACCOUNT_ID par l’ID du compte AWS.
À l'**étape 2 : Ajoutez une section d’**autorisations, choisissez Modifier, puis ajoutez la déclaration de politique suivante à la politique personnalisée :
{ "Statement": { "Effect": "Allow",
"Action": "kinesis:PutRecord",
"Resource": "arn:aws:kinesis:REGION:ACCOUNT_ID:stream/STREAM_NAME"
}
}
Remarque : remplacez REGION par votre région AWS, account-id par l’ID du compte AWS et STREAM_NAME par le nom du flux.
La politique précédente est spécifique à Kinesis Data Streams. Pour plus d'informations sur les autorisations relatives à Amazon Data Firehose, consultez la section Autoriser l'accès à vos ressources Firehose.
Créer un filtre d'abonnement
Procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sélectionnez Gestion des journaux.
- Sélectionnez votre groupe de journaux.
- Choisissez Actions, puis Filtres d'abonnement.
- Pour configurer la destination, choisissez Créer un filtre d'abonnement Kinesis.
- Choisissez Compte courant.
- Sélectionnez votre flux de données Kinesis dans la liste déroulante.
- Sélectionnez le rôle IAM que vous avez créé.
- Choisissez une méthode de distribution. Pour plus d'informations sur les distributions, consultez la section Concepts.
- Dans la section Modèle de filtre d'abonnement. définissez le modèle de filtre.
- Saisissez un nom pour votre filtre d'abonnement.
- Vérifiez votre modèle à l'aide des données d'événements de journaux existantes.
- Choisissez Commencer le streaming.
Pour vérifier que votre flux de données fonctionne, consultez les métriques de filtre d'abonnement suivants :
- ForwardedBytes : Volume d'événements de journaux en octets compressés transmis à la destination de l'abonnement.
- ForwardedLogEvents : Nombre d'événements de journaux transmis à la destination de l'abonnement.
Pour vérifier qu'aucune erreur ne se produit lorsque vous diffusez des événements de journaux vers votre destination, consultez les métriques suivantes :
- DeliveryErrors : Nombre d'événements de journaux indiquant que CloudWatch Logs a reçu une erreur lors du transfert de données vers la destination de l'abonnement.
- DeliveryThrottling : Nombre d'événements de journaux indiquant que CloudWatch Logs a été limité lors du transfert de données vers la destination de l'abonnement.
Configurer un filtre d'abonnement pour un flux de données Kinesis dans un autre compte
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.
Créer une destination
Dans le compte du destinataire des données, créez une destination.
Créer un filtre d'abonnement
Dans le compte source, effectuez les étapes suivantes :
- Si vous utilisez une organisation dans AWS Organizations, créez un rôle IAM. Dans le cas contraire, passez à l'étape 2.
- Ajoutez ou validez les autorisations IAM pour la destination intercompte.
- Créez un groupe de journaux pour envoyer des événements à CloudWatch Logs.
- Créez le filtre d'abonnement.
Pour vérifier que votre flux de données fonctionne, consultez les métriques de filtre d'abonnement suivants :
- ForwardedBytes : Volume d'événements de journaux en octets compressés transmis à la destination de l'abonnement.
- ForwardedLogEvents : Nombre d'événements de journaux transmis à la destination de l'abonnement.
Pour vérifier qu'aucune erreur ne se produit lorsque vous diffusez des événements de journaux vers votre destination, consultez les métriques suivantes :
- DeliveryErrors : Nombre d'événements de journaux indiquant que CloudWatch Logs a reçu une erreur lors du transfert de données vers la destination de l'abonnement.
- DeliveryThrottling : Nombre d'événements de journaux indiquant que CloudWatch Logs a été limité lors du transfert de données vers la destination de l'abonnement.
Si vous disposez d'un flux de données Kinesis dédié, vérifiez les métriques du flux de données pour confirmer son bon fonctionnement.
Pour les problèmes liés à la journalisation intercompte, consultez la section Résolution des problèmes liés à la configuration intercompte de CloudWatch.
Informations connexes
Créer une politique et un utilisateur IAM
Partage de données de journaux intercompte et interrégionales AWS à l'aide d'Amazon Kinesis Data Streams