根据问题的标题,AWS EFS、EBS和S3之间的实际区别是什么?

我对每一个的理解:

S3是一种在任何地方都可以访问的存储设施 EBS是可以挂载到EC2上的设备 EFS是一个可以挂载到EC2上的文件系统

为什么要用EBS而不是EFS呢?看起来他们有相同的用例,但有轻微的语义差异?尽管EFS是跨az复制的,因为EBS只是一个挂载设备。我想我对EBS的理解不足,所以我无法区分。

为什么选择S3而不是EFS?它们都可以存储文件、缩放和复制。我想S3必须使用SDK,而EFS是文件系统,您可以使用您选择的编程语言中的标准I/O方法来创建文件。但这是唯一真正的区别吗?


当前回答

简单地说

Amazon EBS提供块级存储。

Amazon EFS提供网络连接的共享文件存储。

Amazon S3提供对象存储功能。

其他回答

EFS和S3有相同的用途,你可以存储任何类型的对象或文件。

但对我来说,唯一的区别是EFS允许您在VM(EC2)云中拥有一个传统的文件系统,具有更大的灵活性,例如可以附加到多个实例。

另一方面,S3是对象的一个独立的灵活且有弹性的服务器。它可以用于你的静态文件,图像,视频,甚至托管静态应用程序(js)。

EBS显然是用于块存储的,您可以在其中安装操作系统或与操作系统相关的任何东西。

EBS是简单的块级存储,可以连接到来自相同AZ的实例,并且可以不受实例寿命的影响而存活。

但是,EFS和S3之间存在有趣的区别,并为其确定适当的用例。

成本:EFS的成本大约是S3的10倍。

可变性:

当我们有数千个需要同时处理文件的实例时,建议EFS优于S3。 还要注意,S3是基于对象的存储,而EFS是基于文件的存储,这意味着只要我们需要不断更新文件(刷新),我们就应该使用EFS。 S3是最终一致的,而EFS是强一致的。如果您无法提供最终的一致性,您应该使用EFS

简单地说

Amazon EBS提供块级存储。

Amazon EFS提供网络连接的共享文件存储。

Amazon S3提供对象存储功能。

这个问题很多人都回答了,我只是想说明一点,无论何时决定在AWS中加入任何服务,都要了解每个服务的用例,并看到该服务将提供的良好架构框架的解决方案,你是否需要高可用性,故障相关,成本优化。这将有助于决定要使用的任何类型的服务。

EBS和EFS之间的主要区别在于,EBS只能从特定AWS区域中的单个EC2实例访问,而EFS允许跨多个区域和实例挂载文件系统。

最后,Amazon S3是一个善于存储大量备份或用户文件的对象存储。