如果只提供临时存储,EC2实例存储有什么用?

What is the use of EC2 instance store if it only provides temporary storage?

我是 AWS 的新手,正在尝试了解实例存储和 EBS 之间的区别。阅读 this 页,它说:

实例存储卷上的数据仅在关联实例的生命周期内保留;如果您停止或终止实例,实例存储卷上的所有数据都会丢失

那么为什么会有人使用它呢?另外,当我登录到我的 VM 并将文件保存到 /home/xxx/yyy 时,我如何知道它是存储在实例存储中还是 EBS 中?

来自 this 页面: 实例存储使用场景

实例存储卷非常适合临时存储频繁更改的信息,例如缓冲区、缓存、暂存数据和其他临时内容,或者用于跨实例队列复制的数据,例如加载-平衡的 Web 服务器池。

Amazon EC2 Instance Store 是一个存储卷,仅当 EC2 实例为 运行 时才存在。这是因为存储直接连接到运行 EC2 实例的主机。当实例停止时,该虚拟机使用的资源(CPU、RAM、实例存储)可供其他用户使用。因此,内容丢失了。

在早期的 Amazon EC2 中,这是唯一可用的存储类型。如果用户希望在实例终止后保留数据,则必须将其数据复制到 Amazon S3。其实那时候还没有"stopped"的概念,因为一个停止的实例失去了它的磁盘存储,无法重新启动。

如今,幸运的是,即使关联的 EC2 实例停止,Elastic Block Store (EBS) 也可用于保存数据。因此,可以重新启动实例,并且存储在 EBS 卷上的所有数据仍然可用。

但是,存储在实例存储中的任何数据都会在实例停止时丢失。这就是为什么它也被称为 Ephemeral Storage.

至于使用哪个...最好一开始只使用 EBS,因为它的运行方式与大多数人期望的磁盘运行方式相同。实例存储可能会让 EC2 的新用户感到困惑。但是,使用实例存储有几个好处:

  • 免费(不收取额外费用,有charges associated with EBS
  • 在现代实例类型上,它是 SSD 并且非常快(在某些情况下,超过 100,000 IOPS
  • 非常适合交换文件、临时文件和复制数据,不需要在重新启动之间保留

基本上,选择权在您手中...从 EBS 开始,如果您认为它提供了好处,则使用实例存储。

另请参阅:Whosebug Benefits of EBS vs. instance-store (and vice-versa)