使用多区域访问点发出请求 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用多区域访问点发出请求

Amazon S3 中的多区域访问点具有 Amazon Resource Name (ARN),您可以用 Amazon 软件开发工具包直接将请求发送给它们,并在访问控制策略中标识多区域访问点。多区域访问点 ARN 不包括或披露其名称。有关 ARN 的更多信息,请参阅 Amazon 一般参考中的 Amazon Resource Name (ARN)

多区域访问点 ARN 使用以下格式 arn:aws:s3::<account-id>:accesspoint/<MRAP_alias>。以下是一些示例:

  • arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap 表示别名为 mfzwi23gnjvgw.mrap 的多区域访问点,由 Amazon 账户 123456789012 拥有。

  • arn:aws:s3::123456789012:accesspoint/* 表示账户 123456789012 下的所有多区域访问点。此 ARN 匹配账户 123456789012 的所有多区域访问点,但不匹配任何区域访问点,因为 ARN 不包括 Amazon 区域。相比之下,ARN arn:aws:s3:us-west-2:123456789012:accesspoint/* 匹配账户 123456789012 下区域 us-west-2 中的所有区域访问点,但不匹配任何多区域访问点。

通过多区域访问点访问的对象 ARN 用以下格式:arn:aws:s3::<account_id>:accesspoint/<MRAP_alias>/object/<key>。与多区域访问点 ARN 一样,通过多区域访问点访问的对象 ARN 不包括 Amazon 区域。下面是一些示例。

  • arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/unit-01 表示对象 unit-01,通过别名为 mfzwi23gnjvgw.mrap 的多区域访问点访问, 由账户拥有 123456789012

  • arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/* 表示账户 123456789012 中可以通过别名为 mfzwi23gnjvgw.mrap 多区域访问点访问的所有对象。

  • arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap/object/unit-01/finance/* 表示账户 123456789012 中可以在别名为 mfzwi23gnjvgw.mrap 的多区域访问点前缀 unit-01/finance/ 下访问的所有对象。

多区域访问点主机名

您可以通过多区域访问点使用多区域访问点的主机名访问 Amazon S3 中的数据。如果已为多区域访问点配置了一个或多个互联网网关,可以从公共互联网或 Virtual Private Cloud (VPC) 将请求定向到此主机名。有关创建与多区域访问点使用 VPC 接口端点的更多信息,请参阅 配置多区域访问点以便与 Amazon PrivateLink 共同使用

如果您已配置 VPC 终端节点,您还可以通过多区域访问点使用 VPC 发出请求 Amazon PrivateLink。请注意,如果用 Amazon PrivateLink 对多区域访问点的请求,不能直接使用结尾为 <Region>.vpce.amazonaws.com 终端节点特定的区域 DNS。此主机名没有与其关联的证书,因此无法直接使用。您仍可以将 VPC 终端节点的公有 DNS 名称用作 CNAME 或者 ALIAS 目标。您还可以在端点上启用私有 DNS,并使用标准的多区域访问点 <MRAP_alias>.accesspoint.s3-global.amazonaws.com DNS 名称,如下所述。

通过多区域访问点使用 REST API 进行 Amazon S3 数据操作时(例如,GetObject),请求的主机名为 <MRAP_alias>.accesspoint.s3-global.amazonaws.com。例如,要通过别名为 mfzwi23gnjvgw.mrap 的多区域访问点发出 GetObject 请求,请向主机名发出请求 mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com。请注意此主机名的 s3-global 部分表明主机名不适用于特定区域。

通过多区域访问点发出请求类似于通过单区域访问点发出请求。注意以下的差异非常重要:

  • 多区域访问点 ARN 不包括 Amazon 区域。他们遵循的格式 arn:aws:s3::<account-id>:accesspoint/<MRAP_alias>

  • 对于通过 REST API 发出的请求(不需要使用 ARN),多区域访问点使用不同的终端节点方案。模式是 <MRAP_alias>.accesspoint.s3-global.amazonaws.com — 例如,mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com。请注意与单区域访问点相比的差异:

    • 多区域访问点主机名使用其别名,而不是多区域访问点名称。

    • 多区域访问点主机名不包括所有者的 Amazon 账户 ID。

    • 多区域访问点主机名不包括 Amazon 区域。

    • 多区域访问点主机名包括 s3-global.amazonaws.com 而不是 s3.amazonaws.com

  • 必须使用签名版本 4A(S IGV4a)签署请求。使用 Amazon 开发工具包时,SDK 会自动将一个 Sigv4 签名转换为 Sigv4a。有关 SigV4A 的更多信息,请参阅 Amazon 一般参考中的签署 Amazon API 请求

多区域访问点和 Amazon S3 Transfer Acceleration

Amazon S3 Transfer Acceleration 是一项启用数据快速转换到存储桶的功能。它是在单个存储桶级别配置的,您可以使用它更快地将对象传输到存储桶。要了解有关 Transfer Acceration 的更多信息,请参阅 使用 Amazon S3 Transfer Acceleration 配置快速、安全的文件传输

在处理多区域访问点时,请务必了解多区域访问点使用类似于 Transfer Acceleration 的加速传输机制,通过 Amazon 网络发送大对象。因此,在通过多区域访问点发送请求时,您无需执行任何特殊配置或处理即可获得更快的传输速率。这种提高的性能会自动融入到多区域访问点中。