2017-07-03 4 views
2

Je tente d'activer un déclencheur de règle sur n'importe quel appel d'API pour la création, mais je n'ai eu aucun succès.AWS Cloudwatch ne se déclenche pas sur les appels d'API

J'ai une autre règle qui se déclenche à chaque fois que l'instance ec2 fonctionne, mais cette règle ne se déclenche pas pour RunInstances bien que je vois les journaux cloudtrail avec RunInstances dans le journal de l'API.

J'ai créé un journal CloudWatch à partir du cloudtrail et je vois les événements qui devraient le déclencher, mais ce n'est pas le cas. Y a-t-il un pas qui me manque? Quels sont les composants nécessaires pour que CloudWatch se déclenche correctement sur les appels d'API?

La règle dit:

{ 
     "source": [ 
     "aws.cloudtrail" 
     ], 
     "detail-type": [ 
     "AWS API Call via CloudTrail" 
     ], 
     "detail": { 
     "eventSource": [ 
      "cloudtrail.amazonaws.com" 
     ], 
     "eventName": [ 
      "CreateUserPool", 
      "CreateImage", 
      "CreateCacheCluster", 
      "RunInstances", 
      "CreateActivation", 
      "RunJobFlow ", 
      "CreateVault", 
      "CreateDeliveryStream", 
      "CreateStream", 
      "CreateCluster", 
      "CreateDBInstance", 
      "CreateHostedZone", 
      "CreateBucket", 
      "CreateLaunchConfiguration", 
      "CreateStack", 
      "CreateEnvironment", 
      "CreateWorkspaces" 
     ] 
     } 
    } 

Pour ajouter plus de détails ici est l'autre règle que je l'habitude de tester CloudWatch

{ 
    "source": [ 
    "aws.ec2" 
    ], 
    "detail-type": [ 
    "EC2 Instance State-change Notification" 
    ], 
    "detail": { 
    "state": [ 
     "running" 
    ] 
    } 
} 

Ceci est le journal des startInstances et la fonction Lambda suivant la course. enter image description here

Cloudtrail de la fonction lambda spécifiquement qui fonctionne normalement.

Lambda function log

Voici l'appel d'API qui devrait également initier selon la règle, mais il ne fonctionne pas. enter image description here

Espérons que ces images rendent plus clair quant à ce que j'ai des problèmes avec.

P.S. Je ne savais pas combien d'informations je devrais considérer confidentielles, donc j'ai censuré plus de

+0

J'avais une mauvaise compréhension de ce que les appels d'API AWS de Cloudtrail signifiaient lors de l'analyse de cloudtrail. Je crois maintenant que ce sont seulement les commandes associées à ce service dans ce cas cloudtrail, qui n'auraient pas du tout RunInstances. Je teste d'autres options pour obtenir les résultats que je veux. – user3651225

+0

Si quelqu'un est toujours intéressé à le faire, il est possible d'avoir plusieurs événements dans une règle. Ils doivent être explicitement déclarés, par ex. ec2, s3, etc. Il n'y a pas de fonctionnalité générique. De plus, les formats JSON différeront entre les événements de différentes ressources, donc l'extraction d'un paramètre spécifique nécessitera un codage dur. – user3651225

Répondre

0

J'ai mal compris la règle que j'ai créée. Je pensais que "Appels API AWS de Cloudtrail" lors de l'utilisation du service cloudtrail signifiait toutes les informations stockées dans Cloudtrail. Cela ne semble pas être le cas.

Comme je le mentionne dans mon commentaire, je cherche d'autres solutions pour mon problème, mais je vais faire une question distincte pour cela. Merci!