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

通过多区域接入点发出请求

像其他资源一样,Amazon S3 多区域接入点具有 Amazon 资源名称(ARN)。您可以使用这些 ARN,通过 Amazon Command Line Interface(Amazon CLI)、Amazon SDK 或 Amazon S3 API 将请求定向到多区域接入点。您还可以使用这些 ARN 在访问控制策略中识别多区域接入点。多区域接入点 ARN 不包括或披露多区域接入点的名称。有关 ARN 的更多信息,请参阅《Amazon Web Services 一般参考》中的 Amazon 资源名称(ARN)

注意

多区域接入点别名和 ARN 不能互换使用。

多区域接入点 ARN 使用以下格式:

arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias

以下是多区域接入点 ARN 的几个示例:

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

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

通过多区域接入点访问的对象的 ARN 采用以下格式:

arn:aws:s3::account_id:accesspoint/MultiRegionAccessPoint_alias//key

与多区域接入点 ARN 一样,通过多区域接入点访问的对象的 ARN 不包括 Amazon Web Services 区域。下面是一些示例。

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

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

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

多区域接入点主机名

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

要使用 VPC 端点通过多区域接入点从 VPC 发出请求,可以使用 Amazon PrivateLink。当您使用 Amazon PrivateLink 对多区域接入点发出请求时,不能直接使用以 region.vpce.amazonaws.com 结尾的端点特定的区域域名系统(DNS)。此主机名将没有与其关联的证书,因此无法直接使用。您仍可以将 VPC 端点的公有域名系统(DNS)名称用作 CNAMEALIAS 目标。或者,您可以在端点上启用私有域名系统(DNS),并使用标准的多区域接入点 MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com 域名系统(DNS)名称,如本节所述。

通过多区域接入点向 API 请求 Amazon S3 数据操作时(例如 GetObject),请求的主机名如下所示:

MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com

例如,要通过别名为 mfzwi23gnjvgw.mrap 的多区域接入点发出 GetObject 请求,请向主机名 mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com 发出请求。此主机名的 s3-global 部分表明此主机名不适用于特定区域。

通过多区域接入点发出请求类似于通过单区域接入点发出请求。但是,务必注意以下差异:

  • 多区域接入点 ARN 不包括 Amazon Web Services 区域。他们遵循的格式 arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias

  • 对于通过 API 操作发出的请求(这些请求不要求使用 ARN),多区域接入点使用不同的端点方案。模式是 MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com — 例如,mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com。请注意与单区域接入点相比的差异:

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

    • 多区域接入点主机名不包括拥有者的 Amazon Web Services 账户 ID。

    • 多区域接入点主机名不包括 Amazon Web Services 区域。

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

  • 必须使用签名版本 4A(SigV4A)签署多区域接入点请求。使用 Amazon SDK 时,SDK 会自动将 SigV4 转换为 SigV4A。因此,请确保您的 Amazon SDK 支持将 SigV4A 作为用于签署全局 Amazon Web Services 区域请求的签名实现。有关 SigV4A 的更多信息,请参阅《Amazon Web Services 一般参考》中的签署 Amazon API 请求

多区域接入点和 Amazon S3 Transfer Acceleration

Amazon S3 Transfer Acceleration 是一项启用数据快速转换到桶的功能。Transfer Acceleration 是在单个桶级别上配置的。有关 Transfer Acceleration 的更多信息,请参阅使用 Amazon S3 Transfer Acceleration 配置快速、安全的文件传输

多区域接入点使用类似于 Transfer Acceleration 的加速传输机制,通过 Amazon 网络发送大对象。因此,在通过多区域接入点发送请求时,您无需使用 Transfer Acceleration。这种提高的传输性能会自动融入到多区域接入点中。