多区域访问点请求路由
通过多区域访问点发出请求时,Amazon S3 会确定哪些与多区域访问点关联的存储桶可以以最低的延迟响应其请求。然后,Amazon S3 将请求定向到该存储桶,而不考虑 Amazon 它所在的区域。
在多区域访问点将请求路由到最低延迟的存储桶之后,Amazon S3 会像您直接向该存储桶一样处理请求。多区域访问点不了解 Amazon S3 存储桶的数据内容。如果您将 GET
请求发送到多区域访问点,您可以配置 S3 跨区域复制,以便在多区域访问点后面的 Amazon S3 存储桶中创建一致的数据集。然后任何存储桶都可以成功满足 GET
请求。
Amazon S3 根据以下规则导向多区域访问点请求:
-
Amazon S3 以最低的延迟优化要满足的请求。它查看多区域访问点支持的存储桶,并将请求中继到具有最低延迟的存储桶。
-
如果请求指定了现有资源(例如,
GetObject
),Amazon S3 在满足请求时不会考虑对象的名称。这意味着对象可能存在于多区域访问点中的一个存储桶中,但您的请求将被路由到不包含对象的存储桶。这会导致向客户端返回 404 错误消息。为了确保用所需的特定对象满足您的请求,我们建议您启用存储桶版本控制并在请求中包含版本 ID。这有助于确保您正在查找对象的正确版本。我们还建议您为存储桶配置复制。当您需要的对象位于多区域访问点中的存储桶中,但不在您的请求路由到的特定存储桶中时,这有助于解决潜在问题。有关复制配置的信息,请参阅 配置用于多区域访问点的存储桶复制。
-
如果请求是创建一个资源(例如,
PutObject
或者CreateMultipartUpload
),则 Amazon S3 将使用延迟最低的存储桶满足请求。例如,假设一家视频公司希望以最低延迟支持从世界任何地方向存储桶上传视频。当用户将PUT
请求发送到多区域访问点;时,该对象将以最低的延迟放入存储桶中。这说明了双向复制非常重要的原因之一。有关与多区域访问点复制的更多信息,请参阅配置用于多区域访问点的存储桶复制