如何查明 EC2 实例何时关闭?

如何查明 EC2 实例何时关闭?

我在 EC2 Web 控制台中有数百个实例。

有些已经关闭。我看得出它们是几个月或几年前创建的。它们似乎被遗弃和遗忘了一段时间,但很难判断终止它们是否安全。

例如,它们可能是一些旧的备份,有人可能只是将负载迁移到新实例,并将旧实例保留几周作为预防措施,等等......

我们最终保留了其中的大部分,因为这是最安全的选择。

实例关闭时,我们仍需支付 EBS 卷费用(但不会终止)。随着许多未使用的实例,价格可能会随着时间的推移而上涨(EBS 为每月每 TB 140 美元)。所以我想做一些清理。

我在想,如果我能找到实例关闭的时间,那将可以很好地表明它有多“被遗弃”。

如何找到实例上次关闭的时间?

答案1

使用 awscli。pip install awscli

aws ec2 describe-instances --output table --instance-id i-aef88019

输出:

|||  StateTransitionReason |  User initiated (2015-11-16 13:36:40 GMT)   |||
[...]
||||                             StateReason                            ||||
|||+---------+----------------------------------------------------------+|||
||||  Code   |  Client.UserInitiatedShutdown                            ||||
||||  Message|  Client.UserInitiatedShutdown: User initiated shutdown   ||||

我们可以看到实例中发生了什么事情以及在什么时候发生。

例如,这个是在 2015-11-16 13:36:40 GMT 手动关闭的。

答案2

正如你提到的,这些机器是很多年前制造的,我认为你应该检查它们是否在使用旧式的存储调用实例存储

根据我的经验,如果您需要关闭那些带有实例存储的 EC2 机器,唯一的选择就是终止它,但这会导致数据丢失。

因此,我的建议是添加新的 EBS 来备份所有数据,并使用最新设置创建新的 EC2,或者只是远程备份数据。然后终止旧的 EC2 实例,这应该可以消除您的存储成本。

答案3

如果你的目标是省钱,那么你可以创建一个EBS 快照然后删除磁盘卷。

EBS 快照的收费为较低的价格比实际数量多。

例如,在美国东部:

  • 快照价格为 9.5c/GB
  • 通用 SSD EBS 卷的收费为 10c/GB已配置贮存
  • 较旧磁性 EBS 卷每 GB 收费 5 美分已配置贮存

但是,EBS 快照只需要以下存储空间:使用过的块如果 EBS 卷有未使用的空间(例如,仅使用了 30GB 中的 10GB),则 EBS 快照会更便宜。

如果 EBS 卷大部分已满,您可以对它们进行快照,然后重新创建它们冷硬盘EBS 卷,收费标准为 2.5c/GB已配置贮存。

相关内容