Я пытаюсь создать отчет об использовании и использовании экземпляров EC2 с течением времени. Я хотел бы изучить все экземпляры, которые были или были запущены в моей среде в течение последних X дней. В качестве части отчета я хотел бы включить экземпляры, которые были созданы во время масштабной шкалы, но позже были завершены как группа, масштабированная.Получить идентификаторы завершенных экземпляров EC2
Использование простого сценария 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
Это означает, что показатели существуют для завершенных экземпляров, но вы должны иметь идентификатор тех случаев, для того, чтобы восстановить их. Есть ли способ получить завершенные идентификаторы экземпляров?
Благодаря helloV. Я никогда раньше не использовал CloudTrail, и я вижу, что он регистрирует вызовы API. Включает ли это призывы AWS? В частности - действия, которые произошли автоматически из-за политики масштабирования/уменьшения? – Avi
Да. Все API. Я использую его широко. – helloV
Спасибо большое! ... – Avi