Comment créer, configurer et dépanner un filtre d'abonnement dans Kinesis à l'aide de la console CloudWatch ?

Lecture de 7 minute(s)
0

Je souhaite utiliser la console Amazon CloudWatch pour créer un filtre d'abonnement afin de diffuser mes journaux Amazon CloudWatch dans Amazon Kinesis.

Brève description

Utilisez un filtre d'abonnement pour envoyer les journaux CloudWatch en temps quasi réel vers le même compte ou vers des destinations Kinesis ou Amazon Kinesis Data Firehose multicomptes. La console CloudWatch Logs prend en charge la configuration de destination et de configuration.

Pour plus d'informations sur l'utilisation de la syntaxe du modèle de filtre pour configurer un filtre d'abonnement, consultez la section Syntaxe des filtres et des modèles.

Résolution

Configuration de l'abonnement pour un flux de données Kinesis associé au même compte ou au compte courant

Remarque : La région AWS pour le groupe de journaux CloudWatch et la destination Kinesis doivent être identiques.

Avant de créer votre abonnement, effectuez les actions suivantes :

Pour créer un rôle IAM personnalisé et une politique de rôle, procédez comme suit :

1.    Ouvrez la console IAM avec votre utilisateur disposant des autorisations d'administrateur.

2.    Dans le volet de navigation, choisissez Politiques.

3.    Dans le volet de contenu, choisissez Créer une politique.

4.    Entrez le document de politique d'autorisations de rôle suivant dans l'onglet JSON. Remplacez REGION, ACCOUNT_ID ET STREAM_NAME par vos propres informations :

{
  "Statement": \[{
    "Effect": "Allow",
    "Action": "kinesis:PutRecord",
    "Resource": "arn:aws:kinesis:REGION:ACCOUNT\_ID:stream/STREAM\_NAME"
  }\]
}

5.    Ouvrez la console IAM.

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

7.    Choisissez le type de rôle de politique de confiance personnalisée.

8.    Dans la section Politique de confiance personnalisée, entrez ou collez la politique de confiance personnalisée pour le rôle. Consultez l'exemple de politique de confiance suivant :

{
  "Statement": {
    "Effect": "Allow",
    "Principal": {
      "Service": "logs.region.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
      "StringLike": {
        "aws:SourceArn": "arn:aws:logs:REGION:ACCOUNT\_ID:\*"
      }
    }
  }
}

9.    Choisissez Suivant.

10.    Sélectionnez la politique IAM personnalisée que vous avez créée à l'étape 4.

11.    Choisissez Suivant, puis choisissez Créer un rôle.

Après avoir créé le flux Kinesis et le rôle IAM, créez le filtre d'abonnement :

1.    Ouvrez la console CloudWatch.

2.    Choisissez Groupe de journaux.

3.    Choisissez Action, Filtres d'abonnement.

4.    Pour configurer la destination, choisissez Créer un filtre d'abonnement Kinesis.

5.    Choisissez Compte courant.

6.    Sélectionnez votre flux de données Kinesis dans la liste déroulante.

7.    Sélectionnez le rôle IAM que vous avez créé.

8.    Choisissez la méthode de distribution :
Par flux de journaux :
Cela permet de vérifier que les utilisateurs en aval peuvent agréger les événements du journal par flux de journaux, mais cela peut s'avérer moins efficace. Cette méthode peut également entraîner des coûts de diffusion plus élevés car elle nécessite davantage de partitions.
Aléatoire : Cela permet de répartir la charge sur les partitions de flux Kinesis, mais les utilisateurs en aval ne peuvent pas agréger les événements du journal par flux de journaux.

9.    Configurez le format du journal et les filtres :
Sélectionnez le format du journal. Le format peut être Amazon VPC Flow Logs, AWS CloudTrail ou AWS Lambda pour les journaux publiés par Amazon VPC, CloudTrail ou Lambda. Vous pouvez également choisir JSON, Espace délimité ou Autre, en fonction des événements du journal entrants.
Définissez le modèle de filtre dans la section Modèle de filtre d'abonnement.
Entrez un nom pour votre filtre d'abonnement.

10.    Vérifiez votre modèle à l'aide des données d'événements du journal existantes.

11.    Après vérification, choisissez Démarrer la diffusion en continu.

12.    (Facultatif) Validez le flux des événements du journal pour vérifier que votre flux de données fonctionne.

Configuration d'une destination de flux de données Kinesis multicomptes

Remarque : Si vous recevez des erreurs lors de l'exécution des commandes de l'interface de la ligne de commande AWS (AWS CLI), assurez-vous que vous utilisez la version la plus récente de l'interface de ligne de commande AWS.

Vous pouvez transmettre les événements CloudWatch Logs aux flux de données Kinesis de différents comptes et régions AWS. Pour ce faire, configurez le partage des données des journaux entre comptes avec les abonnements et spécifiez la région.

Dans l'exemple suivant, les journaux CloudWatch de la région us-east-1 sont transmis au flux de données Kinesis d'un autre utilisateur AWS dans la région us-west-2. L'ID de compte du destinataire des données du journal est 222222222222 et l'ID de compte de l'expéditeur des données du journal est 111111111111.

Création d'un flux de données de destination dans le compte destinataire 222222222222

Créez un flux de données de destination dans Kinesis sur le compte du destinataire des données avec un rôle IAM et une politique de confiance.

Création d'un filtre d'abonnement dans le compte source 111111111111

Pour créer le filtre d'abonnement, procédez comme suit :

1.    Sélectionnez le groupe de journaux.

2.    Choisissez Action, Filtres d'abonnement.

3.    Pour sélectionner la destination, choisissez Créer, puis sélectionnez Créer un filtre d'abonnement Kinesis.

4.    Choisissez un autre compte.

5.    Pour une destination Kinesis multicomptes ou Kinesis data Firehose, fournissez l'ARN de destination.

6.    Choisissez la méthode de distribution :
Par flux de journaux : Cela permet de vérifier que les utilisateurs en aval peuvent agréger les événements du journal par flux de journaux, mais cela peut s'avérer moins efficace. Cette méthode peut également entraîner des coûts de diffusion plus élevés car elle nécessite davantage de partitions.
Aléatoire : Cela permet de répartir la charge sur les partitions de flux Kinesis, mais les utilisateurs en aval ne peuvent pas agréger les événements du journal par flux de journaux.

7.    Configurez le format du journal et les filtres :
Sélectionnez le format du journal. Le format peut être Amazon VPC Flow Logs, CloudTrail ou AWS Lambda pour les journaux publiés par Amazon VPC, CloudTrail ou Lambda. Vous pouvez également choisir JSON, Espace délimité ou Autre, en fonction des événements du journal entrants.
Définissez le modèle de filtre dans la section Modèle de filtre d'abonnement.
Entrez le nom de votre filtre d'abonnement.

8.    Vérifiez votre modèle à l'aide des données d'événements du journal existantes.

9.    Après vérification, choisissez Démarrer la diffusion en continu.

10.    (Facultatif) Validez les événements du journal de flux pour vérifier que votre flux de données fonctionne.

Dépannage

  • Assurez-vous que votre flux Kinesis est Actif. Vous pouvez consulter le flux sur la console Kinesis ou utiliser l'appel d'API DescribeStream.
  • Vérifiez que le groupe de journaux CloudWatch et les régions du flux de données Kinesis sont identiques.
  • Assurez-vous qu'il existe un rôle IAM doté d'autorisations de confiance pour logs.yourregion.amazonaws.com et qui permet l'autorisation kinesis:putrecords.
  • Vérifiez que les régions et les ressources de la politique IAM sont correctes.
  • Assurez-vous de ne pas avoir sélectionné Kinesis Firehose lors de la configuration d'un filtre d'abonnement pour le flux de données Kinesis.
  • Une fois que vous avez commencé à diffuser, vérifiez les statistiques du filtre d'abonnement pour confirmer que le modèle de filtre est valide et correspond aux événements du journal entrant. Passez en revue les mesures suivantes : Octets transférés : Volume d'événements du journal en octets compressés transmis à la destination de l'abonnement. ForwardedLogEvents: Le nombre d'événements du journal transmis à la destination de l'abonnement.
  • Vérifiez qu'il n'y a pas d'erreur lorsque vous diffusez les événements du journal vers votre destination. Passez en revue les mesures suivantes : **Erreurs de livraison :**Nombre d'événements du journal pour lesquels CloudWatch Logs a reçu une erreur lors du transfert de données vers la destination de l'abonnement. Limitation de la livraison : Nombre d'événements de journal 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 Kinesis dédié, vérifiez les métriques du flux pour confirmer son bon fonctionnement.
  • Pour les problèmes liés à la journalisation multicomptes, consultez la section Résolution des problèmes liés à la configuration multicomptes de CloudWatch.
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an