2014-10-01 17 views
2

我們有相當多的EC2實例被用於各種項目。有時,開發人員即使不使用它也會留下一個實例,這會浪費錢。我們設置了警報來檢查實例是否未被使用,但我們也希望能夠向開發實例的開發人員詢問它,而不必向所有開發人員發送大量電子郵件。如何確定上次啓動EC2實例的用戶的AWS賬戶用戶名?

是否有某種方法可以確定上次啓動EC2實例的用戶的AWS用戶名?有什麼方法可以獲取有關誰啓動實例的信息?

+0

我問http://stackoverflow.com/questions/37689585/how-do-i-find-out-which-aws-access-key-類似的問題ID-被使用的對發射後的實例 – tleyden 2017-01-10 05:04:12

回答

3

如果啓用AWS CloudTrail,則可以獲取關於哪些API由誰調用以及何時調用的詳細機器可讀日誌。日誌隨後會定期放入S3存儲桶中。下面是一個示例EC2 StartInstances日誌條目:

{ 
    "Records": [{ 
     "eventVersion": "1.0", 
     "userIdentity": { 
      "type": "IAMUser", 
      "principalId": "EX_PRINCIPAL_ID", 
      "arn": "arn:aws:iam::123456789012:user/Alice", 
      "accessKeyId": "EXAMPLE_KEY_ID", 
      "accountId": "123456789012", 
      "userName": "Alice" 
     }, 
     "eventTime": "2014-03-06T21:22:54Z", 
     "eventSource": "ec2.amazonaws.com", 
     "eventName": "StartInstances", 
     "awsRegion": "us-west-2", 
     "sourceIPAddress": "205.251.233.176", 
     "userAgent": "ec2-api-tools 1.6.12.2", 
     "requestParameters": { 
      "instancesSet": { 
       "items": [{ 
         "instanceId": "i-ebeaf9e2" 
       }] 
      } 
     }, 
     "responseElements": { 
      "instancesSet": { 
       "items": [{ 
         "instanceId": "i-ebeaf9e2", 
         "currentState": { 
          "code": 0, 
          "name": "pending" 
         }, 
         "previousState": { 
          "code": 80, 
          "name": "stopped" 
         } 
        }] 
      } 
     } 
    }, 
    ... additional entries ... 
    ] 
} 
相關問題