在不启动实例 Amazon EC2 的情况下访问 volume/snapshot 数据

Accessing volume/snapshot data without starting instance Amazon EC2

是否可以在不启动卷附加到的实例的情况下访问存储在 Amazon EC2 中的卷或快照上的数据?我有一个模拟 运行 一夜之间,一旦 CPU 低于 15%,就会发出停止实例的警报。我希望能够在不重新启动实例的情况下访问模拟输出(避免额外成本并节省时间)。可能吗?如果是这样,我将如何着手去做?

Amazon 有描述通过 Amazon Gateway 访问快照的文档:

Q: When I look in Amazon S3 why can’t I see my volume data? Your volumes are stored in Amazon S3 and accessible through AWS Storage Gateway. You cannot directly access them by using Amazon S3 API actions. You can take point-in-time snapshots of gateway volumes that are made available in the form of Amazon EBS snapshots. Use the file interface to work with your data natively in S3.

但我不确定这是否指的是我附加到 EC2 实例的相同卷。亚马逊没有详细说明,所以我希望有人能提供一些见解。

不,要获取 EBS 卷中的数据,您需要将其附加到某种 运行 ec2 实例。还有存储网关卷!= ec2/EBS 卷。所以它们都不适用于你的情况

您可以拍摄卷的快照并将新卷的副本附加到不同的(更便宜的)实例,但我认为您找错了树。

我认为评论中的解决方案更好。让您的实例将输出转储到 s3,然后自行关闭。这将更加方便,而且 s3 存储比 EBS 卷便宜得多,而且是无限制的。您还可以使用 s3 生命周期策略将旧数据推送到冰川以获得更便宜的存储(访问速度慢)

你也可以然后可能只使用一个 EBS 卷作为你的根卷,并在模拟期间使用无实例实例(实例停止时丢失的快速本地主机存储)存储,从而节省大量昂贵的 EBS 的成本现在只存储临时数据的卷。

冒着可能陈述明显的风险...从已停止的实例中分离卷并将它们附加到同一可用区中的不同(可能更便宜)实例。

获取完数据后,停止第二个实例,分离卷,然后将它们放回原始实例。这听起来像是 hack,但是将 EBS 卷附加到实例是一种逻辑(而非物理)操作,如果在分离卷时实例 OS 没有挂载这些卷,这是非常安全的。

请注意,Storage Gateway 与您的操作无关。

另请注意,EBS 快照中的数据无法直接访问。 EBS 快照只能 "read" 通过从 快照创建新的 EBS 卷


B 计划:使用弹性文件系统 (EFS)。这是 EC2 中可用的最昂贵的 storage 选项,但它也是最灵活的,因为您可以同时在一个区域内跨多个可用区的多个实例上安装卷。