我正在嘗試創建一個關於我們的EC2實例的使用情況和利用率的報告。我想檢查過去X天內在我的環境中運行或已經運行的所有實例。作爲報告的一部分,我希望包括在縮放組擴展期間創建的實例,但隨後在組縮放時終止。獲取已終止的EC2實例的Ids
使用簡單的python腳本與boto3
我可以獲取實例列表一區:
session = Session(aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY, region_name=self.name)
ec2 = session.resource('ec2')
cloudwatch = session.resource('cloudwatch')
通過列舉實例,使用下面的命令,我看不到幾個小時後終止情況下(可能是同一時間,你再看到他們在儀表盤):
ec2.instances.all()
使用cloudw ATCH,當我使用下面的命令,我也看到了指標終止實例:
metric = cloudwatch.Metric('AWS/EC2', 'CPUUtilization')
result = metric.get_statistics(
Dimensions=[{'Name': 'InstanceId', 'Value': instanceId}],
StartTime=timeRange.start,
EndTime=timeRange.end,
Period=300,
Statistics=['Average'],
) # This returns a complete list of data points for the instance was live
這意味着該指標確實存在終止的實例,但你必須有這些實例的ID,以獲取它們。 有沒有辦法檢索終止的實例ID?
感謝helloV。我以前從未使用CloudTrail,並且看到它記錄了API調用。它是否包含AWS調用?特別是 - 由於擴大/縮小政策而自動發生的行爲? – Avi
是的。所有的API。我廣泛使用它。 – helloV
非常感謝! ... – Avi