多区域接入点请求路由
通过多区域接入点发出请求时,Amazon S3 会确定与多区域接入点相关联的桶中的哪一个桶距离您最近。然后,Amazon S3 将请求定向到该桶,而不考虑 Amazon 它所在的区域。
在多区域接入点将请求路由到距离最近的桶之后,Amazon S3 会像您直接向该桶发出请求一样处理请求。多区域接入点不了解 Amazon S3 桶的数据内容。因此,收到请求的桶可能不包含所请求的数据。要在 Amazon S3 桶中创建与多区域接入点相关联的一致数据集,您可以配置 S3 跨区域复制(CRR)。然后任何桶都可以成功满足 请求。
Amazon S3 根据以下规则导向多区域接入点请求:
-
Amazon S3 根据距离远近优化要完成的请求。它查看多区域接入点支持的桶,并将请求中继到距离最近的桶。
-
如果请求指定了现有资源(例如,
GetObject
),Amazon S3 在满足请求时不会考虑对象的名称。这意味着,即使多区域接入点中的一个桶中存在某个对象,您的请求也可能路由到不包含该对象的桶。这种情况会导致向客户端返回 404 错误消息。为了避免 404 错误,我们建议您为桶配置 S3 跨区域复制(CRR)。当您需要的对象位于多区域接入点中的桶中,但不在您的请求路由到的特定桶中时,复制有助于解决潜在问题。有关复制配置的信息,请参阅 配置用于多区域接入点的复制。
为了确保使用所需的特定对象满足您的请求,我们还建议您启用桶版本控制并在请求中包含版本 ID。这种方法有助于确保您具有您正在查找的对象的正确版本。启用了版本控制的桶还可以帮助您恢复意外覆盖的对象。有关更多信息,请参阅在 S3 桶中使用 S3 版本控制。
-
如果请求是创建一个资源(例如,
PutObject
或CreateMultipartUpload
),则 Amazon S3 将使用距离最近的桶完成请求。例如,假设一家视频公司希望支持从世界任何地方上传视频。当用户将PUT
请求发送到多区域接入点时,该对象将放入距离最近的桶中。然后,要以最低的延迟将上传的视频提供给世界各地的其他人下载,您可以将 CRR 与双向复制结合使用。将 CRR 与双向复制结合使用,可使与多区域接入点关联的所有桶的内容保持同步。有关将复制与多区域接入点结合使用的更多信息,请参阅配置用于多区域接入点的复制。