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

我对每一个的理解:

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

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

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


当前回答

AWS(亚马逊网络服务)以其广泛的产品线而闻名。(可能)有一些亚马逊Web服务高手确切地知道如何以及何时使用哪种亚马逊产品完成哪种任务。我们其余的人迫切需要帮助。

AWS提供三种常见的存储服务:S3、弹性块存储(EBS)和弹性文件系统(EFS),它们的功能各不相同,并提供不同级别的性能、成本、可用性和可伸缩性。我们将比较这些存储选项的性能、成本和存储数据的可访问性,以及它们的用例。

AWS存储选项:

Amazon S3是一种基本的对象存储服务,可用于托管网站图像和视频,以及数据分析、智能手机和web应用程序。在对象存储中,数据作为对象进行管理,这意味着所有数据类型都以其原生格式存储。使用对象存储,没有文件关系的层次结构,数据对象可以分布在许多机器中。您可以在任何一台有internet连接的计算机上使用S3服务。

AWS EBS提供持久的块级数据存储。块存储系统比标准文件存储更通用,提供更好的容量,因为文件存储在称为块的几个卷中,这些卷充当独立的硬盘驱动器。Amazon EC2实例必须用EBS挂载。业务连续性、软件测试和数据库管理都是用例的示例。

AWS EFS是一个共享的弹性文件存储框架,可以根据文件的添加和删除进行扩展和收缩。它遵循传统的文件存储模型,将数据组织到文件夹和子目录中。EFS对于内容管理系统和SaaS应用程序非常有用。EFS可以同时挂载在几个EC2实例上。

哪个AWS云存储服务是最好的?

一如既往,这要视情况而定。

仅就数据存储而言,Amazon S3是最便宜的选择。另一方面,S3有一系列其他的定价标准,包括每次上传的成本、S3分析和每gb从S3传输的数据。EFS的成本结构是最直接的。

Amazon S3是一种可以从任何地方访问的云存储服务。AWS EBS只能在单个区域中访问,而多个EFS实例可以跨多个区域共享文件。

EBS和EFS在IOPS和延迟方面都优于Amazon S3。

通过一个API调用,EBS可以扩展或缩小。您可以将EBS用于数据库备份和其他需要可靠、可预测性能的低延迟交互式应用程序,因为它的成本低于EFS。

EFS可以更好地处理大量数据,例如大型分析工作负载。用户必须分解数据并将其分布到EBS实例之间,因为这种规模的数据不能存储在EBS中允许的单个EC2实例上。EFS服务允许同时访问数千个EC2实例,允许实时处理和分析大量数据。

其他回答

Amazon EBS提供块级存储—用于在其上创建文件系统并存储文件。 Amazon EFS—它的共享存储系统类似于NAS/SAN。您需要将它挂载到unix服务器并使用它。 Amazon S3—它是基于对象的存储,其中每个项目都使用http URL存储。

区别之一是EBS一次可以附加到一个实例,而EFS可以附加到多个实例,这就是共享存储的原因。 S2普通对象存储无法挂载。

修正比较:

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

在这一点上,比较EFS和EBS还为时过早——EFS的性能还不知道,可靠性也不知道。

为什么要使用S3?

对于一个或多个EC2实例,您不需要文件是“本地”的。 (有效地)无限容量 内置web服务,身份验证

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

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

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

可变性:

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

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

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

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

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

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

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