Amazon ec2 在实例终止很久之后查询实例详细信息

Amazon ec2 在实例终止很久之后查询实例详细信息,amazon-ec2,Amazon Ec2,在Amazon-ec2中,实例页面显示机器的详细信息,如IP、大小、密钥对、安全组、运行时间等 实例终止后,行项目将保持可见约一小时。在此期间,我们可以了解机器运行时的详细信息。但一旦行项目被删除,就无法知道这一点 比如,一些实例被手动实例化,使用一段时间,然后终止。那件事发生了一个小时后,没有办法知道发生了什么 有一个详细的bill特性,但它只提供实例ID和大小。我对密钥对、ip、操作系统、安全组和机器名称(若有)感兴趣。有办法找到他们吗 编辑 我知道我可以让cron作业定期列出所有实例(及其

在Amazon-ec2中,实例页面显示机器的详细信息,如IP、大小、密钥对、安全组、运行时间等

实例终止后,行项目将保持可见约一小时。在此期间,我们可以了解机器运行时的详细信息。但一旦行项目被删除,就无法知道这一点

比如,一些实例被手动实例化,使用一段时间,然后终止。那件事发生了一个小时后,没有办法知道发生了什么

有一个详细的bill特性,但它只提供实例ID和大小。我对密钥对、ip、操作系统、安全组和机器名称(若有)感兴趣。有办法找到他们吗

编辑 我知道我可以让cron作业定期列出所有实例(及其详细信息)并将其存储在数据库中。问题是,要托管cron进程,我需要一台全天候的机器。我需要的是某种钩子,回调,事件


即使没有现成的解决方案,这样的解决方案也可以实现吗?

一旦实例被终止,就像您提到的那样,在一个小时左右完全消失之前,大部分信息都可以通过API获得。(IP地址DNS将不可用,因为每次停止或终止实例时,IP地址都会被放弃)实例完全消失后,意味着它将永远消失

解决方法是每隔一段时间查询实例API并保存状态和实例信息。您可以将其保存在内存、数据库或文本文件中,具体取决于您尝试执行的操作或您尝试创建的应用程序

下面是一个使用API的Python接口将实例信息保存到内存中Python字典的示例:

reservations = conn.get_all_instances()
for res in reservations:
    instance = res.instances[0]
    if instance.id == 'i-xxxxxx':
        instance_dict[instance.id] = instance
只要不覆盖,dictionary实例dict在您的程序期间将始终具有IP地址、DNS和其他实例信息。要终止实例,可以运行以下操作:

instance_dict['i-xxxxxx'].terminate()
但以后您仍然可以使用:

instance_dict['i-xxxxxx'].ip_address
以及:


希望这能有所帮助。

谢谢@Rico,但要让它发挥作用,我需要一个全天候的实例。微型计算机可以,但它会存在并积累成本。任何事件、回调、通知甚至日志都可以。但这是否存在?
instance_dict['i-xxxxxx'].dns_name