2017-07-03 70 views
2

我試圖在創建任何API調用時創建規則觸發器,但我沒有取得任何成功。AWS Cloudwatch不會觸發API調用

我有另一個規則觸發每當和ec2實例正在運行的工作,但這條規則不會觸發RunInstances,雖然我看到API日誌中的RunInstances的雲軌日誌。

我已經從雲軌中創建了一個CloudWatch日誌,並查看應觸發它的事件,但它們沒有。有沒有我失蹤的一步? CloudWatch在API調用中正確觸發的必要組件是什麼?

提到的規則:

{ 
     "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" 
     ] 
     } 
    } 

在這裏添加更多的細節是我用來測試的CloudWatch

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

這是startInstances和下面的lambda函數運行的日誌中的其他規則。 enter image description here

具體功能正常的lambda函數的雲軌跡。

Lambda function log

這裏是API調用也應該按照規則發起,但它沒有。 enter image description here

希望這些圖像能夠讓我更清楚自己遇到的問題。

P.S.我不知道我應該考慮保密多少信息,所以我通過審查

+0

我在看CloudTrail時誤解了AWS API從Cloudtrail調用的意思。我現在認爲在這種情況下,只有與該服務相關的命令cloudtrail,根本沒有RunInstances。我正在測試其他選項以獲得我想要的結果。 – user3651225

+0

如果任何人仍然有興趣這樣做,可以在規則中有多個事件。它們必須明確說明,例如ec2,s3等。沒有通配符功能。另外,JSON格式在不同資源的事件之間會有所不同,因此檢索特定參數將需要硬編碼。 – user3651225

回答

0

我誤解了我創建的規則。當使用Cloudtrail Service時,我認爲「Cloudtrail的AWS API調用」意味着存儲在Cloudtrail中的所有信息。這似乎並非如此。

正如我在我的評論中提到的,我正在爲我的問題尋找其他解決方案,但我會爲此提出一個單獨的問題。謝謝!

相關問題