配置用于多区域接入点的复制
向多区域接入点端点发出请求时,Amazon S3 会自动将请求路由到离您最近的桶。Amazon S3 在做出这一决定时不考虑请求的内容。如果发出请求以 GET
对象,您的请求可能会被路由到没有此对象副本的桶。如果发生这种情况,您将收到 HTTP 状态代码 404(找不到)错误。有关多区域接入点请求路由的更多信息,请参阅多区域接入点请求路由。
如果您希望多区域接入点能够检索对象,而无论哪个桶接收请求,则必须配置 Amazon S3 跨区域复制(CRR)。
例如,考虑具有三个桶的多区域接入点:
-
区域
us-west-2
中包含对象my-image.jpg
的名为my-bucket-usw2
的桶 -
区域
ap-south-1
中包含对象my-image.jpg
的名为my-bucket-aps1
的桶 -
区域
eu-central-1
中不包含对象my-image.jpg
且名为my-bucket-euc1
的桶
在这种情况下,如果您向 GetObject
对象发出请求 my-image.jpg
,则该请求的成功取决于接收您请求的桶。由于 Amazon S3 不考虑请求的内容,因此它可能会将 GetObject
请求添加到 my-bucket-euc1
桶(如果该桶响应距离最近的请求)。即使您的对象位于多区域接入点中的桶中,因为收到您请求的单个桶没有该对象,您仍会收到 HTTP 404 Not Found(HTTP 404 找不到)错误。
启用跨区域复制(CRR)有助于避免这种结果。使用适当的复制规则,将 my-image.jpg
对象复制到 my-bucket-euc1
桶。因此,如果 Amazon S3 将您的请求路由到该桶,您现在可以检索该对象。
对于分配给多区域接入点的桶,复制工作正常。Amazon S3 不会对位于多区域接入点中的桶执行任何特殊复制。有关在桶中配置复制的更多信息,请参阅 设置实时复制概述。
对多区域接入点使用复制的建议
为了在使用多区域接入点时获得最佳的复制性能,我们建议采取以下措施:
-
配置 S3 Replication Time Control(S3 RTC)。要在可预测的时间范围内跨不同区域复制您的数据,您可以使用 S3 RTC。S3 RTC 在 15 分钟内复制 Amazon S3 中存储的 99.99% 的新对象(由服务等级协议提供支持)。有关更多信息,请参阅 使用 S3 Replication Time Control 满足合规性要求。使用 S3 RTC 无需额外付费。有关信息,请参阅 Amazon S3 定价
。 -
使用双向复制,以支持在通过多区域接入点更新桶时保持桶同步。有关更多信息,请参阅 为多区域接入点创建双向复制规则。
-
创建跨账户多区域接入点,以将数据分别复制到单独 AWS 账户中的桶。这种方法提供了账户级分离,这样,就可以从与源桶不同的区域中的不同账户访问数据以及跨不同账户复制数据。设置跨账户多区域接入点无需额外费用。如果您是桶拥有者但不拥有多区域接入点,则只需支付数据传输和请求费用。多区域接入点拥有者支付数据路由和互联网加速费用。有关更多信息,请参阅 Amazon S3 定价
。 -
为每个复制规则启用副本修改同步,以使对于对象的元数据更改也保持同步。有关更多信息,请参阅启用副本修改同步。
-
启用 Amazon CloudWatch 指标来监控复制事件。将收取 CloudWatch 指标费用。有关更多信息,请参阅 Amazon CloudWatch 定价
。