12

我对此进行了一些研究,但找不到任何实质性的答案,因此转向 StackOverflow。

亚马逊的 S3 在高可用性和可靠性方面有多可靠?我知道它有 SLA,但是如果 AWS 中的可用区 (AZ) 或整个区域出现故障怎么办?

我查看了亚马逊关于如何设置 S3 的文档。当您尝试创建存储桶时,它会说:“创建存储桶时,您可以选择一个区域来优化延迟、最小化成本或满足监管要求。”

亚马逊也这么说(来源):“存储在任何给定的 Amazon S3 存储桶中的数据会在一个地理区域的多个数据中心之间复制。”

因此,看起来 S3 数据确实分布在多个 AZ 中,但在一个区域内。

如果某个区域出现故障(以前发生过这种情况)怎么办?那么S3不可用吗?如果是这样,当 AWS 区域出现故障时,S3 不是一种可靠的恢复备份机制,是吗?

4

1 回答 1

19

S3 提供“4 个九”的可用性,即 99.99%。

对于备份,您将寻找持久性(存储对象丢失的机会)。为此,S3 提供“11 个 9”,即 99.9999999%

以下是S3 常见问题解答中的简介:

数据持久性和可靠性

Amazon S3 提供了一个高度耐用的存储基础设施,专为关键任务和主要数据存储而设计。对象冗余存储在 Amazon S3 区域中跨多个设施的多个设备上。为帮助确保持久性,Amazon S3 PUT 和 COPY 操作在返回 SUCCESS 之前将您的数据同步存储在多个设施中。存储后,Amazon S3 通过快速检测和修复任何丢失的冗余来维持对象的持久性。Amazon S3 还使用校验和定期验证存储的数据的完整性。如果检测到损坏,则使用冗余数据对其进行修复。此外,Amazon S3 计算所有网络流量的校验和,以在存储或检索数据时检测数据包的损坏。

Amazon S3 的标准存储是:

  • 以 Amazon S3 服务水平协议为后盾。
  • 旨在在给定年份内提供 99.999999999% 的持久性和 99.99% 的对象可用性。
  • 旨在维持两个设施中的数据同时丢失。

至于区域,如果你真的想要跨区域故障转移,则必须实施 DIY 复制策略。不,整个地区还没有失败,但我想每件事都有第一次。

以下是有关该主题的更多信息:

问:Amazon S3 的耐用性如何?

Amazon S3 旨在为给定年份的对象提供 99.999999999% 的持久性。此持久性级别对应于 0.000000001% 的对象的年平均预期损失。例如,如果您使用 Amazon S3 存储 10,000 个对象,您平均每 10,000,000 年会损失一个对象。此外,Amazon S3 旨在承受两个设施中的数据并发丢失。

问:如何设计 Amazon S3 以实现 99.999999999% 的持久性?

Amazon S3 将您的对象冗余存储在 Amazon S3 区域中跨多个设施的多个设备上。该服务旨在通过快速检测和修复任何丢失的冗余来维持并发设备故障。在处理存储数据的请求时,该服务将在返回 SUCCESS 之前将您的对象冗余存储在多个设施中。Amazon S3 还使用校验和定期验证数据的完整性。

于 2012-09-19T17:33:48.570 回答