

# 通过多区域接入点发出请求
<a name="MultiRegionAccessPointRequests"></a>

像其他资源一样，Amazon S3 多区域接入点具有 Amazon 资源名称（ARN）。您可以使用这些 ARN，通过 AWS Command Line Interface（AWS CLI）、AWS SDK 或 Amazon S3 API 将请求定向到多区域接入点。您还可以使用这些 ARN 在访问控制策略中识别多区域接入点。多区域接入点 ARN 不包括或披露多区域接入点的名称。有关 ARN 的更多信息，请参阅《AWS 一般参考》**中的 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)。

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

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

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

以下是多区域接入点 ARN 的几个示例：
+ `arn:aws:s3::123456789012:accesspoint/mfzwi23gnjvgw.mrap` 表示别名为 `mfzwi23gnjvgw.mrap` 的多区域接入点，它由 AWS 账户 `123456789012` 拥有。
+ `arn:aws:s3::123456789012:accesspoint/*` 表示账户 `123456789012` 下的所有多区域接入点。此 ARN 匹配账户 `123456789012` 的所有多区域接入点，但不匹配任何区域 Amazon S3 接入点，因为 ARN 不包括 AWS 区域。相比之下，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 不包括 AWS 区域。下面是一些示例。
+ `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/` 下访问的所有对象。

## 多区域接入点主机名
<a name="MultiRegionAccessPointHostnames"></a>

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

要使用 VPC 端点通过多区域接入点从 VPC 发出请求，可以使用 AWS PrivateLink。当您使用 AWS PrivateLink 对多区域接入点发出请求时，不能直接使用以 `region.vpce.amazonaws.com` 结尾的端点特定的区域域名系统（DNS）。此主机名将没有与其关联的证书，因此无法直接使用。您仍可以将 VPC 端点的公有域名系统（DNS）名称用作 `CNAME` 或 `ALIAS` 目标。或者，您可以在端点上启用私有域名系统（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 不包括 AWS 区域。他们遵循的格式 `arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias`。
+  对于通过 API 操作发出的请求（这些请求不要求使用 ARN），多区域接入点使用不同的端点方案。模式是 `MultiRegionAccessPoint_alias.accesspoint.s3-global.amazonaws.com` — 例如，`mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`。请注意与单区域接入点相比的差异：
  + 多区域接入点主机名使用其别名，而不是多区域接入点名称。
  + 多区域接入点主机名不包括拥有者的 AWS 账户 ID。
  + 多区域接入点主机名不包括 AWS 区域。
  + 多区域接入点主机名包括 `s3-global.amazonaws.com` 而不是 `s3.amazonaws.com`。
+ 必须使用签名版本 4A（SigV4A）签署多区域接入点请求。使用 AWS SDK 时，SDK 会自动将 SigV4 转换为 SigV4A。因此，请确保您的 [AWS SDK 支持](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html)将 SigV4A 作为用于签署全局 AWS 区域请求的签名实现。有关 SigV4A 的更多信息，请参阅《AWS 一般参考》**中的[签署 AWS API 请求](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)。

## 多区域接入点和 Amazon S3 Transfer Acceleration
<a name="MultiRegionAccessPointsAndTransferAcceleration"></a>

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

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

**Topics**
+ [多区域接入点主机名](#MultiRegionAccessPointHostnames)
+ [多区域接入点和 Amazon S3 Transfer Acceleration](#MultiRegionAccessPointsAndTransferAcceleration)
+ [权限](MultiRegionAccessPointPermissions.md)
+ [多区域接入点限制和限制](MultiRegionAccessPointRestrictions.md)
+ [多区域接入点请求路由](MultiRegionAccessPointRequestRouting.md)
+ [Amazon S3 多区域接入点失效转移控制](MrapFailover.md)
+ [配置用于多区域接入点的复制](MultiRegionAccessPointBucketReplication.md)
+ [将多区域接入点与支持的 API 操作结合使用](MrapOperations.md)
+ [监视和记录通过多区域接入点发出的对底层资源的请求](MultiRegionAccessPointMonitoring.md)

# 权限
<a name="MultiRegionAccessPointPermissions"></a>

Amazon S3 多区域接入点可以简化多个 AWS 区域中 Amazon S3 桶的数据访问。多区域接入点称为全局端点，您可以使用这些接入点执行 Amazon S3 数据接入点操作，如 `GetObject` 和 `PutObject`。对于通过全局端点发出的任何请求，每个多区域接入点都可以具有不同的权限和网络控制。

每个多区域接入点也可以强制实施自定义访问策略，该策略与附加到底层桶的桶策略结合使用。要使跨账户请求获得成功，以下所有策略都必须允许该操作：
+ 多区域接入点策略
+ 底层 AWS Identity and Access Management（IAM）策略
+ 底层桶策略（请求路由到哪里）

**注意**  
对于同账户请求，只需要授予相应访问权限的基础 IAM 策略。

您可以将任何多区域接入点策略配置为仅接受来自特定 IAM 用户或组的请求。有关如何执行此操作的示例，请参阅[多区域接入点策略示例](#MultiRegionAccessPointPolicyExamples)中的示例 2。为了限制 Amazon S3 数据访问私有网络，您可以将任何多区域接入点策略配置为仅接受来自虚拟私有云（VPC）的请求。

例如，假设您通过多区域接入点使用您的 AWS 账户中名为 `AppDataReader` 的用户发出一个 `GetObject` 请求。为了帮助确保请求不会被拒绝，`AppDataReader` 用户必须被多区域接入点和多区域接入点底层的每个桶授予 `s3:GetObject` 权限。`AppDataReader` 将无法从任何未授予此权限的任何桶中检索数据。

**重要**  
通过桶名称或 Amazon 资源名称（ARN）直接访问桶时，将桶的访问控制委派给多区域接入点策略不会改变桶的行为。直接对桶进行的所有操作将继续像以前一样运行。您在多区域接入点策略中包括的限制仅适用于通过该多区域接入点发出的请求。

## 管理多区域接入点的公共访问
<a name="MultiRegionAccessPointPublicAccess"></a>

多区域接入点支持每个多区域接入点的独立阻止公有访问设置。创建多区域接入点时，您可以指定应用于该多区域接入点的阻止公有访问设置。

**注意**  
即使多区域接入点的独立屏蔽公共访问权限设置被禁用，在**此账户的屏蔽公共访问权限设置**（在您自己的账户中）或**外部桶的屏蔽公共访问权限设置**下启用的任何屏蔽公共访问权限设置也仍然适用。

对于通过多区域接入点发出的任何请求，Amazon S3 会评估以下各项的阻止公有访问设置：
+ 多区域接入点
+ 底层桶（包括外部桶）
+ 拥有多区域接入点的账户
+ 拥有底层桶的账户（包括外部账户）

如果这些设置中的任何一个指示应阻止请求，则 Amazon S3 会拒绝请求。有关 Amazon S3 阻止公有访问功能的更多信息，请参阅 [阻止对您的 Amazon S3 存储的公有访问](access-control-block-public-access.md)。

**重要**  
原定设置情况下，为多区域接入点启用所有阻止公有访问设置。您必须明确禁用不希望应用于多区域接入点的任何设置。  
在创建多区域接入点之后，您无法更改其屏蔽公共访问权限设置。

## 查看多区域接入点的阻止公有访问设置
<a name="viewing-bpa-mrap-settings"></a>

**查看多区域接入点的阻止公有访问设置**

1. 

   登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择要查看的多区域接入点的名称。

1. 选择**权限**选项卡。

1. 在 **Block Public Access settings for this Multi-Region Access Point**（多区域接入点的阻止公有访问设置）下，查看多区域接入点的阻止公有访问设置。
**注意**  
创建多区域接入点后，无法编辑阻止公有访问设置。因此，如果您要阻止公有访问，请在创建多区域接入点之前，确保您的应用程序在没有公有访问的情况下正常运行。

## 使用多区域接入点策略
<a name="use-mrap-policy"></a>

以下示例多区域接入点策略授予 IAM 用户从多区域接入点列出和下载文件的访问权限。要使用此示例策略，请将 `user input placeholders` 替换为您自己的信息。

------
#### [ JSON ]

****  

```
 {
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "AWS":"arn:aws:iam::123456789012:user/JohnDoe" 
         },
         "Action":[
            "s3:ListBucket",
            "s3:GetObject"
         ],
         "Resource":[
            "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias",
            "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*"
         ]
      }
   ]
}
```

------

要使用 AWS Command Line Interface（AWS CLI）将多区域接入点策略与指定的多区域接入点关联，请使用以下 `put-multi-region-access-point-policy` 命令。要使用此示例命令，请将 `user input placeholders` 替换为您自己的信息。每个多区域接入点只能有一个策略，因此，对 `put-multi-region-access-point-policy` 操作发出的请求将替换与指定多区域接入点关联的任何现有策略。

------
#### [ AWS CLI ]

```
aws s3control put-multi-region-access-point-policy
--account-id 111122223333
--details { "Name": "amzn-s3-demo-bucket-MultiRegionAccessPoint", "Policy": "{ \"Version\": \"2012-10-17\", \"Statement\": { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::111122223333:root\" }, \"Action\": [\"s3:ListBucket\", \"s3:GetObject\"], \"Resource\": [ \"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias", \"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*\" ] } }" }
```

------

要查询上次操作的结果，请使用以下命令：

------
#### [ AWS CLI ]

```
aws s3control describe-multi-region-access-point-operation
--account-id 111122223333
--request-token-arn requestArn
```

------

要检索多区域接入点策略，请使用以下命令：

------
#### [ AWS CLI ]

```
aws s3control get-multi-region-access-point-policy
--account-id 111122223333
--name=amzn-s3-demo-bucket-MultiRegionAccessPoint
```

------

## 编辑多区域接入点策略
<a name="editing-mrap-policy"></a>

多区域接入点策略（以 JSON 编写）提供对与多区域接入点结合使用的 Amazon S3 桶的存储访问。您可以允许或拒绝特定主体对您的多区域接入点执行各种操作。当一个请求通过多区域接入点路由到一个桶时，多区域接入点和桶的访问策略都适用。限制性更强的访问策略始终优先。

**注意**  
如果桶包含由其他账户拥有的对象，则多区域接入点策略不适用于由其他 AWS 账户拥有的对象。

应用多区域接入点策略后，无法删除该策略。您可以编辑策略，也可以创建覆盖现有策略的新策略。

**编辑多区域接入点策略**



1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 选择要为其编辑策略的多区域接入点的名称。

1. 选择**权限**选项卡。

1. 向下滚动到 **Multi-Region Access Point policy**（多区域接入点策略）部分。选择 **Edit**（编辑）以更新策略（采用 JSON 格式）。

1. 将显示 **Edit Multi-Region Access Point policy**（编辑多区域接入点策略）页面。您可以直接在文本字段中输入策略，也可以选择 **Add statement**（添加语句）以从下拉列表中选择策略元素。
**注意**  
控制台会自动显示您可以在策略中使用的多区域接入点 Amazon 资源名称（ARN）。有关多区域接入点策略示例，请参阅 [多区域接入点策略示例](#MultiRegionAccessPointPolicyExamples)。

## 多区域接入点策略示例
<a name="MultiRegionAccessPointPolicyExamples"></a>

Amazon S3 多区域接入点支持 AWS Identity and Access Management（IAM）资源策略。您可以使用这些策略，按资源、用户或其他条件控制多区域接入点的使用。为了使应用程序或用户能够通过多区域接入点访问对象，多区域接入点和底层桶都必须允许相同的访问权限。

要允许对多区域接入点和底层桶进行相同访问，请执行以下操作之一：
+ **（推荐）**要简化使用 Amazon S3 多区域接入点时的访问控制，请将 Amazon S3 桶的访问控制权委托给多区域接入点。有关如何执行此操作的示例，请参阅本节中的示例 1。
+ 将多区域接入点策略中包含的相同权限添加到底层桶策略中。

**重要**  
通过桶名称或 Amazon 资源名称（ARN）直接访问桶时，将桶的访问控制委派给多区域接入点策略不会改变桶的行为。直接对桶进行的所有操作将继续像以前一样运行。您在多区域接入点策略中包括的限制仅适用于通过该多区域接入点发出的请求。

**Example 1 – 将访问权限委托给桶策略中的特定多区域接入点（针对同一账户或跨账户）**  
以下示例桶策略授予对特定多区域接入点的完全桶访问权限。这意味着，对此桶的所有访问都由附加到多区域接入点的策略控制。我们建议您以这种方式为所有不需要直接访问存储桶的使用案例配置存储桶。您可以将此桶策略结构用于同一账户或其他账户中的多区域接入点。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement" : [
    {
        "Effect": "Allow",
        "Principal" : { "AWS": "*" },
        "Action" : "*",
        "Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"],
        "Condition": {
            "StringEquals" : { "s3:DataAccessPointArn" : "arn:aws:s3::111122223333:accesspoint/example-multi-region-access-point" }
        }
    }]
}
```
如果您正在授予对多个多区域接入点的访问权限，请确保列出每个多区域接入点。

**Example 2 – 在您的多区域接入点策略中授予账户对多区域接入点的访问权限**  
以下多区域接入点策略向账户 `123456789012` 授予列出和读取由 *`MultiRegionAccessPoint_ARN`* 定义的多区域接入点中包含的对象的权限。    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
       "Effect": "Allow",
       "Principal": {
          "AWS": "arn:aws:iam::111122223333:user/JohnDoe"
       },
       "Action": [
          "s3:ListBucket",
          "s3:GetObject"
       ],
       "Resource": [ 
          "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias",
          "arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*"
       ]
     }
  ]
}
```

**Example 3 – 允许列出桶内容的多区域接入点策略**  
以下多区域接入点策略向账户 `123456789012` 授予列出由 *`MultiRegionAccessPoint_ARN`* 定义的多区域接入点中包含的对象的权限。

# 多区域接入点限制和限制
<a name="MultiRegionAccessPointRestrictions"></a>

Amazon S3 多区域接入点具有以下限制和局限性：

## 名称和别名
<a name="MultiRegionAccessPointRestrictions-Names"></a>

多区域接入点名称必须满足以下要求：
+  在单个 AWS 账户和区域内必须是唯一的
+  必须以数字或小写字母开头
+  长度必须介于 3-50 个字符之间
+ 不能以连字符 (`-`) 开头或结尾。
+ 不能包含下划线 (`_`)、大写字母或句点 (`.`)。
+  创建后无法对其进行编辑。

多区域接入点别名（不同于多区域接入点名称）由 Amazon S3 自动生成，不能编辑或重用。有关多区域接入点别名与多区域接入点名称之间的差异及其各自命名规则的更多信息，请参阅[命名 Amazon S3 多区域接入点的规则](multi-region-access-point-naming.md)。

## 访问多区域接入点
<a name="MultiRegionAccessPointRestrictions-Access"></a>

无法使用网关端点通过多区域接入点访问数据。但是，您可以使用接口端点通过多区域接入点访问数据。要使用 AWS PrivateLink，您必须创建 VPC 端点。有关更多信息，请参阅 [配置多区域接入点以便与 AWS PrivateLink 共同使用](MultiRegionAccessPointsPrivateLink.md)。但请注意，不支持 IPv6。

要在 Amazon CloudFront 中使用多区域接入点，必须将多区域接入点配置为 `Custom Origin` 分配类型。有关各种源类型的更多信息，请参阅[在 CloudFront 分配中使用各种源](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html)。有关在 Amazon CloudFront 中使用多区域接入点的更多信息，请参阅 *AWS 存储博客*上的[跨多个区域构建主动-主动、基于距离远近的应用程序](https://aws.amazon.com/blogs/storage/building-an-active-active-latency-based-application-across-multiple-regions/)。

**注意**  
不支持 S3 on Outposts 存储桶。

## 签署 AWS API 请求
<a name="MultiRegionAccessPointRestrictions-Signing"></a>

要签署 AWS API 请求，多区域接入点必须满足以下最低要求：

**注意**  
多区域接入点不支持匿名请求。
+ 支持传输层安全性协议（TLS）版本 1.2。
+ 支持签名版本 4（SigV4A）：此版本的 SigV4 支持为多个 AWS 区域签署请求。此特征对于可能导致从多个区域之一访问数据的 API 操作非常有用。使用 AWS SDK，您可以提供凭证，并且对多区域接入点的请求将使用签名版本 4A，而无需进行其他配置。请务必检查您的 [AWS SDK 与 SigV4A 算法的兼容性](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html)。有关 SigV4A 的更多信息，请参阅《AWS 一般参考》**中的[签署 AWS API 请求](https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html)。
**注意**  
要将 SigV4A 与临时安全凭证一起使用 [例如，在使用 AWS Identity and Access Management（IAM）角色时]，您可以从区域 AWS Security Token Service（AWS STS）端点请求临时凭证。如果您从全局 AWS STS 端点（`sts.amazonaws.com`）请求临时凭证，则必须先将全局端点会话令牌的区域兼容性设置为在所有 AWS 区域中都有效。有关更多信息，请参阅《IAM 用户指南》**中的[在 AWS 区域中管理 AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)。

## Amazon S3 API 操作
<a name="MultiRegionAccessPointRestrictions-API"></a>
+ 仅当使用多区域接入点 ARN 时，才支持 `CopyObject` 作为目标。
+ 不支持 S3 批量操作功能。

## AWS SDK
<a name="MultiRegionAccessPointRestrictions-SDKs"></a>

不支持某些 AWS SDK。要确认多区域接入点支持哪些 AWS SDK，请参阅[与 AWS SDK 的兼容性](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html#s3-mrap-sdk-compat)。

## 服务配额
<a name="MultiRegionAccessPointRestrictions-Quotas"></a>

请注意以下服务配额限制：
+ 每个账户最多有 100 个多区域接入点。
+ 单个多区域接入点的限制为 17 个区域。

## 创建、删除或修改多区域接入点
<a name="MultiRegionAccessPointRestrictions-Modifying"></a>

创建、删除或修改多区域接入点时，请注意以下规则和限制：
+ 创建多区域接入点后，您无法从多区域接入点配置中添加、修改或删除桶。要更改桶，您必须删除整个多区域接入点，然后创建新的接入点。如果删除了多区域接入点中的跨账户桶，则重新连接此桶的唯一方法是使用该账户中的相同名称和区域重新创建该桶。
+ 只有在删除多区域接入点后，才能删除多区域接入点中使用的底层桶（在同一账户中）。

## 区域支持
<a name="MultiRegionAccessPointRestrictions-RegionSupport"></a>

**控制面板请求**

所有创建或维护多区域接入点的控制面板请求都必须路由到 `US West (Oregon)` 区域。对于多区域接入点数据面板请求，无需指定区域。

对于多区域接入点失效转移控制面板，必须将请求路由到以下五个支持的区域之一：
+ `US East (N. Virginia)`
+ `US West (Oregon)`
+ `Asia Pacific (Sydney)`
+ `Asia Pacific (Tokyo)`
+ `Europe (Ireland)`

**默认启用的区域**

多区域接入点支持以下默认 AWS 区域（在您的 AWS 账户中[默认启用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)）中的存储桶：
+ `US East (N. Virginia)`
+ `US East (Ohio)`
+ `US West (N. California)`
+ `US West (Oregon)`
+ `Asia Pacific (Mumbai)`
+ `Asia Pacific (Osaka)`
+ `Asia Pacific (Seoul)`
+ `Asia Pacific (Singapore)`
+ `Asia Pacific (Sydney)`
+ `Asia Pacific (Tokyo)`
+ `Canada (Central)`
+ `Europe (Frankfurt)`
+ `Europe (Ireland)`
+ `Europe (London)`
+ `Europe (Paris)`
+ `Europe (Stockholm)`
+ `South America (São Paulo)`

**AWS 选择加入区域**

多区域接入点还支持以下选择加入 AWS 区域（在您的 AWS 账户中[默认禁用](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html)）中的存储桶：
+ `Africa (Cape Town)`
+ `Asia Pacific (Hong Kong)`
+ `Asia Pacific (Jakarta)`
+ `Asia Pacific (Melbourne)`
+ `Asia Pacific (Hyderabad)`
+ `Canada West (Calgary)`
+ `Europe (Zurich)`
+ `Europe (Milan)`
+ `Europe (Spain)`
+ `Israel (Tel Aviv)`
+ `Middle East (Bahrain)`
+ `Middle East (UAE)`

**注意**  
启用选择加入区域不需要额外费用。但是，在多区域接入点中创建或使用资源会产生账单费用。

配置或创建多区域接入点时，必须手动启用选择加入区域。有关多区域接入点的选择加入区域行为的更多信息，请参阅[配置多区域接入点选择加入区域](ConfiguringMrapOptInRegions.md)。有关如何在您的 AWS 账户中启用选择加入区域的信息，请参阅《AWS Account Management Reference Guide》**中的 [Enable or disable a Region for standalone accounts](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)。

# 多区域接入点请求路由
<a name="MultiRegionAccessPointRequestRouting"></a>

 通过多区域接入点发出请求时，Amazon S3 会确定与多区域接入点相关联的桶中的哪一个桶距离您最近。然后，Amazon S3 将请求定向到该桶，而不考虑 AWS 它所在的区域。

在多区域接入点将请求路由到距离最近的桶之后，Amazon S3 会像您直接向该桶发出请求一样处理请求。多区域接入点不了解 Amazon S3 桶的数据内容。因此，收到请求的桶可能不包含所请求的数据。要在 Amazon S3 桶中创建与多区域接入点相关联的一致数据集，您可以配置 S3 跨区域复制（CRR）。然后任何桶都可以成功满足 请求。

 Amazon S3 根据以下规则导向多区域接入点请求：
+ Amazon S3 根据距离远近优化要完成的请求。它查看多区域接入点支持的桶，并将请求中继到距离最近的桶。
+ 如果请求指定了现有资源（例如，`GetObject`），Amazon S3 **在满足请求时不会考虑对象的名称。这意味着，即使多区域接入点中的一个桶中存在某个对象，您的请求也可能路由到不包含该对象的桶。这种情况会导致向客户端返回 404 错误消息。

  为了避免 404 错误，我们建议您为桶配置 S3 跨区域复制（CRR）。当您需要的对象位于多区域接入点中的桶中，但不在您的请求路由到的特定桶中时，复制有助于解决潜在问题。有关复制配置的信息，请参阅 [配置用于多区域接入点的复制](MultiRegionAccessPointBucketReplication.md)。

  为了确保使用所需的特定对象满足您的请求，我们还建议您启用桶版本控制并在请求中包含版本 ID。这种方法有助于确保您具有您正在查找的对象的正确版本。启用了版本控制的桶还可以帮助您恢复意外覆盖的对象。有关更多信息，请参阅[在 S3 桶中使用 S3 版本控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)。
+ 如果请求是创建一个资源（例如，`PutObject` 或 `CreateMultipartUpload`），则 Amazon S3 将使用距离最近的桶完成请求。例如，假设一家视频公司希望支持从世界任何地方上传视频。当用户将 `PUT` 请求发送到多区域接入点时，该对象将放入距离最近的桶中。然后，要以最低的延迟将上传的视频提供给世界各地的其他人下载，您可以将 CRR 与双向复制结合使用。将 CRR 与双向复制结合使用，可使与多区域接入点关联的所有桶的内容保持同步。有关将复制与多区域接入点结合使用的更多信息，请参阅[配置用于多区域接入点的复制](MultiRegionAccessPointBucketReplication.md)。

# Amazon S3 多区域接入点失效转移控制
<a name="MrapFailover"></a>

借助 Amazon S3 多区域接入点失效转移控制，您可以在区域流量中断期间保持业务连续性，同时还可以为您的应用程序提供多区域架构以满足合规性和冗余需求。如果您的区域流量中断，您可以使用多区域接入点失效转移控制来选择 Amazon S3 多区域接入点后面的哪个 AWS 区域将处理数据访问和存储请求。

要支持失效转移，您可以将多区域接入点设置为主动-被动配置，在正常情况下流量流向主动区域，而被动区域处于备用状态以用于失效转移。

例如，要执行到您选择的某个 AWS 区域的失效转移，您需要将流量从主要（主动）区域转移到辅助（被动）区域。在这样的主动-被动配置中，一个桶处于主动状态并接受流量，而另一个桶是被动的，不接受流量。被动桶用于灾难恢复。当您启动失效转移时，所有流量（例如 `GET` 或 `PUT` 请求）都将定向到处于主动状态的桶（位于一个区域中），并远离处于被动状态的桶（位于另一个区域中）。

如果您通过双向复制规则启用 S3 跨区域复制（CRR)，则可以在失效转移期间保持桶同步。此外，如果您在主动-主动配置中启用了 CRR，Amazon S3 多区域接入点还可以从距离最近的桶位置提取数据，从而提高应用程序性能。

## AWS 区域 支持
<a name="RegionSupport"></a>

借助 Amazon S3 多区域接入点失效转移控制，您的 S3 桶可以位于支持多区域接入点的 [17 个区域](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRestrictions.html)中的任何一个区域。您可以一次跨任意两个区域启动失效转移。

**注意**  
尽管一次只能在两个区域之间启动失效转移，但您可以在多区域接入点中同时单独更新多个区域的路由状态。

以下主题演示如何使用和管理 Amazon S3 多区域接入点失效转移控制。

**Topics**
+ [AWS 区域 支持](#RegionSupport)
+ [Amazon S3 多区域接入点路由状态](FailoverConfiguration.md)
+ [使用 Amazon S3 多区域接入点失效转移控制](UsingFailover.md)
+ [Amazon S3 多区域接入点失效转移控制错误](mrap-failover-errors.md)

# Amazon S3 多区域接入点路由状态
<a name="FailoverConfiguration"></a>

您的 Amazon S3 多区域接入点失效转移配置决定了与多区域接入点结合使用的 AWS 区域的路由状态。您可以将 Amazon S3 多区域接入点配置为主动-主动状态或主动-被动状态。
+ **主动-主动** – 在主动-主动配置中，所有请求都会自动发送到多区域接入点中距离最近的 AWS 区域。将多区域接入点配置为活动-活动状态后，所有区域都可以接收流量。如果在主动-主动配置中发生流量中断，网络流量将自动重定向到其中一个活动的区域。
+ **主动-被动** – 在主动-被动配置中，多区域接入点中的主动区域接收流量，而被动区域不接收流量。如果您打算在灾难情况下使用 S3 失效转移控制启动失效转移，请在测试和执行灾难恢复计划时以主动-被动配置设置您的多区域接入点。

# 使用 Amazon S3 多区域接入点失效转移控制
<a name="UsingFailover"></a>

本部分介绍如何通过 AWS 管理控制台来管理和使用 Amazon S3 多区域接入点失效转移控制。

在 AWS 管理控制台中的多区域接入点详细信息页面上的 **Failover configuration**（失效转移配置）部分中有两个失效转移控制：**Edit routing status**（编辑路由状态）和 **Failover**（失效转移）。您可以使用这些控件执行以下操作：
+ **Edit routing status**（编辑路由状态）- 通过选择 **Edit routing status**（编辑路由状态），您可以在多区域接入点的单个请求中手动编辑最多 17 个 AWS 区域的路由状态。您可以将 **Edit routing status**（编辑路由状态）用于以下目的：
  + 设置或编辑多区域接入点中一个或多个区域的路由状态
  + 通过将两个区域配置为主动-被动状态来为您的多区域接入点创建失效转移配置
  + 手动失效转移您的区域
  + 在区域之间手动切换流量
+ **Failover**（失效转移）– 当您选择 **Failover**（失效转移）以启动失效转移时，您只更新已配置为主动-被动状态的两个区域的路由状态。在通过选择 **Failover**（失效转移）启动的失效转移期间，两个区域之间的路由状态将自动切换。

## 编辑多区域接入点中区域的路由状态
<a name="editing-mrap-routing-status"></a>

通过在多区域接入点详细信息页面的 **Failover configuration**（失效转移配置）部分中选择 **Edit routing status**（编辑路由状态），您可以在多区域接入点的单个请求中手动更新最多 17 个 AWS 区域的路由状态。但是，当您通过选择 **Failover**（失效转移）启动失效转移时，您只更新已配置为主动-被动状态的两个区域的路由状态。在通过选择 **Failover**（失效转移）启动的失效转移期间，两个区域之间的路由状态将自动切换。

您可以将 **Edit routing status**（编辑路由状态）（如以下步骤所述）用于以下目的：
+ 设置或编辑多区域接入点中一个或多个区域的路由状态
+ 通过将两个区域配置为主动-被动状态来为您的多区域接入点创建失效转移配置
+ 手动失效转移您的区域
+ 在区域之间手动切换流量

### 使用 S3 控制台
<a name="update-mrap-routing-console"></a>

**更新多区域接入点中区域的路由状态**



1. 登录 AWS 管理控制台。

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择要更新的多区域接入点。

1. 选择 **Replication and failover**（复制和失效转移）选项卡。

1. 请选择要编辑其路由状态的一个或多个区域。
**注意**  
要启动失效转移，必须在多区域接入点中将至少一个 AWS 区域指定为 **Active**（主动），并将一个区域指定为 **Passive**（被动）。

1. 选择 **Edit routing status**（编辑路由状态）。

1. 在出现的对话框中，为每个区域的 **Routing status**（路由状态）选择 **Active**（主动）或 **Passive**（被动）。

   活动状态允许将流量路由到该区域。被动状态会阻止任何流量定向到该区域。

   如果您正在为多区域接入点创建失效转移配置或启动失效转移，必须在多区域接入点中将至少一个 AWS 区域指定为 **Active**（主动），并将一个区域指定为 **Passive**（被动）。

1. 选择 **Save routing status**（保存路由状态）。重定向流量大约需要 2 分钟。

在对于多区域接入点提交 AWS 区域的路由状态后，您可以验证路由状态的变化。要验证这些变化，请访问 Amazon CloudWatch（网址为 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)）以监控您的 Amazon S3 数据请求流量（例如 `GET` 和 `PUT` 请求）在主动和被动区域之间的转移。在失效转移期间不会终止任何现有连接。现有连接将一直持续到它们达到成功或失败状态。

### 使用 AWS CLI
<a name="update-mrap-routing-cli"></a>

**注意**  
您可以对以下五个区域中的任何一个运行多区域接入点 AWS CLI 路由命令：  
`ap-southeast-2`
`ap-northeast-1`
`us-east-1`
`us-west-2`
`eu-west-1`

以下示例命令更新您当前的多区域接入点路由配置。要更新桶的主动或被动状态，请对于主动将 `TrafficDialPercentage` 值设置为 `100`，对于被动则设置为 `0`。在此示例中，`amzn-s3-demo-bucket1` 设置为主动，*amzn-s3-demo-bucket2* 设置为被动。要使用此示例命令，请将 `user input placeholders` 替换为您自己的信息。

```
aws s3control submit-multi-region-access-point-routes
--region ap-southeast-2 
--account-id 123456789012 
--mrap MultiRegionAccessPoint_ARN
--route-updates Bucket=amzn-s3-demo-bucket1,TrafficDialPercentage=100
                Bucket=amzn-s3-demo-bucket2
,TrafficDialPercentage=0
```

以下示例命令获取更新的多区域接入点路由配置。要使用此示例命令，请将 `user input placeholders` 替换为您自己的信息。

```
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 123456789012
--mrap MultiRegionAccessPoint_ARN
```

## 启动失效转移
<a name="InitiatingFailover"></a>

当您通过在多区域接入点详细信息页面上的 **Failover configuration**（失效转移配置）部分中选择 **Failover**（失效转移）来启动失效转移时，Amazon S3 请求流量会自动转移到备用 AWS 区域。失效转移过程在 2 分钟内完成。

您可以一次跨任意两个 AWS 区域（属于支持多区域接入点的 [17 个区域](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRestrictions.html)）启动失效转移。然后，在 AWS CloudTrail 中记录失效转移事件。失效转移完成后，您可以在 Amazon CloudWatch 中监控 Amazon S3 流量和对于新活动区域的任何流量路由更新。

**重要**  
要在数据复制期间使所有元数据和对象在桶之间保持同步，我们建议您在配置失效转移控制之前创建双向复制规则并启用副本修改同步。  
双向复制规则有助于确保在将数据写入流量失效转移到的 Amazon S3 桶时，该数据随后被复制回源桶。副本修改同步有助于确保在双向复制期间，对象元数据也在桶之间同步。  
有关配置复制以支持失效转移的更多信息，请参阅[配置用于多区域接入点的复制](MultiRegionAccessPointBucketReplication.md)。

**在复制的桶之间启动失效转移**

1. 登录 AWS 管理控制台。

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择要用于启动失效转移的多区域接入点。

1. 选择 **Replication and failover**（复制和失效转移）选项卡。

1. 向下滚动到 **Failover configuration**（失效转移配置）部分，然后选择两个 AWS 区域。
**注意**  
要启动失效转移，必须在多区域接入点中将至少一个 AWS 区域指定为 **Active**（主动），并将一个区域指定为 **Passive**（被动）。活动状态允许将流量定向到区域。被动状态会阻止任何流量定向到该区域。

1. 选择 **Failover（故障转移）**。

1. 在此对话框中，再次选择 **Failover**（失效转移）以启动失效转移过程。在此过程中，两个区域的路由状态会自动切换。所有新流量都定向到变为活动状态的区域，而流量将停止定向到变为被动状态的区域。重定向流量大约需要 2 分钟。

   启动失效转移过程后，您可以验证流量变化。要验证这些变化，请访问 Amazon CloudWatch（网址为 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)）以监控您的 Amazon S3 数据请求流量（例如 `GET` 和 `PUT` 请求）在主动和被动区域之间的转移。在失效转移期间不会终止任何现有连接。现有连接将一直持续到它们达到成功或失败状态。

## 查看您的 Amazon S3 多区域接入点路由控制
<a name="viewing-mrap-routing-controls"></a>

### 使用 S3 控制台
<a name="viewing-mrap-routing-console"></a>

**查看您的 Amazon S3 多区域接入点的路由控制**



1. 登录 AWS 管理控制台。

1. 通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择要查看的多区域接入点。

1. 选择 **Replication and failover**（复制和失效转移）选项卡。此页面显示您的多区域接入点的路由配置详细信息和摘要、关联的复制规则和复制指标。您可以在 **Failover configuration**（失效转移配置）部分查看区域的路由状态。

### 使用 AWS CLI
<a name="viewing-mrap-routing-cli"></a>

以下示例 AWS CLI 命令获取指定区域的当前多区域接入点路由配置。要使用此示例命令，请将 `user input placeholders` 替换为您自己的信息。

```
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 123456789012 
--mrap MultiRegionAccessPoint_ARN
```

**注意**  
此命令只能对以下五个区域执行：  
`ap-southeast-2`
`ap-northeast-1`
`us-east-1`
`us-west-2`
`eu-west-1`

# Amazon S3 多区域接入点失效转移控制错误
<a name="mrap-failover-errors"></a>

更新多区域接入点的失效转移配置时，可能会遇到以下错误之一：
+ HTTP 400 错误请求：如果您在更新失效转移配置时输入了无效的多区域接入点 ARN，就会发生此错误。您可以通过查看多区域接入点策略来确认多区域接入点 ARN。要查看或更新多区域接入点策略，请参阅[编辑多区域接入点策略](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingFailover.html#editing-mrap-policy)。如果您在更新 Amazon S3 多区域接入点失效转移控制时使用空字符串或随机字符串，也会发生此错误。确保使用多区域接入点 ARN 格式：

  `arn:aws:s3::account-id:accesspoint/MultiRegionAccessPoint_alias` 
+ HTTP 503 Slow Down（HTTP 503 减慢速度）：如果您在短时间内发送的请求过多，就会出现此错误。被拒绝的请求将导致错误。
+ HTTP 409 Conflict（HTTP 409 冲突）：当两个或多个并发的路由配置更新请求以单个多区域接入点为目标时，就会出现此错误。第一个请求成功，但任何其他请求都失败而出现错误。
+ HTTP 405 Method Not Allowed（HTTP 405 不允许方法）：当您在启动失效转移时选择了只有一个 AWS 区域的多区域接入点时，就会出现此错误。在启动失效转移之前，必须选择两个区域。否则，将返回错误。

# 配置用于多区域接入点的复制
<a name="MultiRegionAccessPointBucketReplication"></a>

向多区域接入点端点发出请求时，Amazon S3 会自动将请求路由到离您最近的桶。Amazon S3 在做出这一决定时不考虑请求的内容。如果发出请求以 `GET` 对象，您的请求可能会被路由到没有此对象副本的桶。如果发生这种情况，您将收到 HTTP 状态代码 404（找不到）错误。有关多区域接入点请求路由的更多信息，请参阅[多区域接入点请求路由](MultiRegionAccessPointRequestRouting.md)。

如果您希望多区域接入点能够检索对象，而无论哪个桶接收请求，则必须配置 Amazon S3 跨区域复制（CRR）。

 例如，考虑具有三个桶的多区域接入点：
+ 区域 `US West (Oregon)` 中包含对象 `my-image.jpg` 的名为 `amzn-s3-demo-bucket1` 的桶 
+ 区域 `Asia Pacific (Mumbai)` 中包含对象 `my-image.jpg` 的名为 `amzn-s3-demo-bucket2` 的桶 
+ 区域 `Europe (Frankfurt)` 中不包含对象 `my-image.jpg` 且名为 `amzn-s3-demo-bucket` 的桶 

在这种情况下，如果您向 `GetObject` 对象发出请求 `my-image.jpg`，则该请求的成功取决于接收您请求的桶。由于 Amazon S3 不考虑请求的内容，因此它可能会将 `GetObject` 请求添加到 `amzn-s3-demo-bucket` 桶（如果该桶响应距离最近的请求）。即使您的对象位于多区域接入点中的桶中，因为收到您请求的单个桶没有该对象，您仍会收到 HTTP 404 Not Found（HTTP 404 找不到）错误。

启用跨区域复制（CRR）有助于避免这种结果。使用适当的复制规则，将 `my-image.jpg` 对象复制到 `amzn-s3-demo-bucket` 桶。因此，如果 Amazon S3 将您的请求路由到该桶，您现在可以检索该对象。

对于分配给多区域接入点的桶，复制工作正常。Amazon S3 不会对位于多区域接入点中的桶执行任何特殊复制。有关在桶中配置复制的更多信息，请参阅 [设置实时复制概述](replication-how-setup.md)。

**对多区域接入点使用复制的建议**  
为了在使用多区域接入点时获得最佳的复制性能，我们建议采取以下措施：
+ 配置 S3 Replication Time Control（S3 RTC）。要在可预测的时间范围内跨不同区域复制您的数据，您可以使用 S3 RTC。S3 RTC 在 15 分钟内复制 Amazon S3 中存储的 99.99% 的新对象（由服务等级协议提供支持）。有关更多信息，请参阅 [使用 S3 Replication Time Control 满足合规性要求](replication-time-control.md)。使用 S3 RTC 无需额外付费。有关信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。
+ 使用双向复制，以支持在通过多区域接入点更新桶时保持桶同步。有关更多信息，请参阅 [为多区域接入点创建双向复制规则](mrap-create-two-way-replication-rules.md)。
+ 创建跨账户多区域接入点，以将数据分别复制到单独 AWS 账户中的桶。这种方法提供了账户级分离，这样，就可以从与源桶不同的区域中的不同账户访问数据以及跨不同账户复制数据。设置跨账户多区域接入点无需额外费用。如果您是桶拥有者但不拥有多区域接入点，则只需支付数据传输和请求费用。多区域接入点拥有者支付数据路由和互联网加速费用。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。
+ 为每个复制规则启用副本修改同步，以使对于对象的元数据更改也保持同步。有关更多信息，请参阅[启用副本修改同步](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes)。
+ 启用 Amazon CloudWatch 指标来[监控复制事件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-metrics.html)。将收取 CloudWatch 指标费用。有关更多信息，请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

**Topics**
+ [为多区域接入点创建单向复制规则](mrap-create-one-way-replication-rules.md)
+ [为多区域接入点创建双向复制规则](mrap-create-two-way-replication-rules.md)
+ [查看多区域接入点的复制规则](mrap-view-replication-rules.md)

# 为多区域接入点创建单向复制规则
<a name="mrap-create-one-way-replication-rules"></a>

复制规则允许跨桶自动和异步复制对象。单向复制规则有助于确保将数据从一个 AWS 区域中的源桶完全复制到另一个区域的目标桶。当设置单向复制时，将创建从源存储桶（*amzn-s3-demo-bucket*）到目标存储桶（*amzn-s3-demo-bucket*）的复制规则。与所有复制规则一样，您可以将单向复制规则应用于整个 Amazon S3 桶，也可以应用于按前缀或对象标签筛选的对象子集。

**重要**  
如果您的用户只使用目标桶中的对象，我们建议使用单向复制。如果您的用户要上传或修改目标桶中的对象，请使用双向复制来保持所有桶同步。如果您计划使用多区域接入点进行失效转移，我们也建议使用双向复制。要设置双向复制，请参阅[为多区域接入点创建双向复制规则](mrap-create-two-way-replication-rules.md)。

**为多区域接入点创建单向复制规则**

1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择多区域接入点的名称。

1. 选择 **Replication and failover**（复制和失效转移）选项卡。

1. 向下滚动到 **Replication rules**（复制规则）部分，然后选择 **Create replication rules**（创建复制规则）。确保您有足够的权限来创建复制规则，否则将禁用版本控制。
**注意**  
您只能为自己账户中的桶创建复制规则。要为外部桶创建复制规则，桶拥有者必须为这些桶创建复制规则。

1. 在**创建复制规则**页面上，选择**将对象从一个或多个源桶复制到一个或多个目标桶**模板。
**重要**  
当您使用此模板创建复制规则时，它们会替换已经分配给桶的任何现有复制规则。  
要添加或修改任何现有的复制规则而不是替换它们，请转到控制台中每个桶的 **Management**（管理）选项卡，然后在 **Replication rules**（复制规则）部分编辑规则。还可以使用 AWS CLI、SDK 或 REST API 添加或修改现有复制规则。有关更多信息，请参阅 [复制配置文件元素](replication-add-config.md)。

1. 在**源和目标**部分中的**源桶**下，选择要从中复制对象的一个或多个桶。选择进行复制的所有桶（源和目标）都必须启用 S3 版本控制，并且每个桶必须位于不同的 AWS 区域中。有关 S3 版本控制的更多信息，请参阅[在 Amazon S3 桶中使用版本控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)。

   在**目标桶**下，选择要将对象复制到其中的一个或多个桶。

1. 在 **Replication rule configuration**（复制规则配置）部分中，选择在创建复制规则时将其设置为 **Enabled**（启用）还是 **Disabled**（禁用）。
**注意**  
您无法在 **Replication rule name**（复制规则名称）框中输入名称。复制规则名称是根据您创建复制规则时的配置生成的。

1. 在 **Scope**（范围）部分中，为复制选择适当的范围。
   + 要复制整个桶，请选择 **Apply to all objects in the bucket**（应用到桶中的所有对象）。
   + 为了复制桶中对象的子集，请选择 **Limit the scope of this rule using one or more filters**（使用一个或多个筛选条件限制此规则的范围)。

     可按前缀、对象标签或二者的组合筛选对象。
     + 要将复制限制为名称以相同字符串（例如 `pictures`）开头的所有对象，请在 **Prefix**（前缀）框中输入前缀。

       如果输入的前缀是文件夹的名称，则必须使用分隔符 [如 `/`（正斜杠）] 来指示其层次级别（例如 `pictures/`）。有关前缀的更多信息，请参阅[使用前缀整理对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。
     + 要复制具有一个或多个对象标签的所有对象，请选择 **Add tag**（添加标签），然后在框中输入键值对。要添加另一个标签，请重复该过程。有关对象标签的更多信息，请参阅 [使用标签对对象进行分类](object-tagging.md)。

1. 向下滚动到 **Additional replication options**（其他复制选项）部分，然后选择要应用的复制选项。
**注意**  
我们建议您应用以下选项：  
**Replication time control（RTC）**[复制时间控制（RTC）] – 要在可预测的时间范围内跨不同区域复制您的数据，您可以使用 S3 Replication Time Control（S3 RTC）。S3 RTC 在 15 分钟内复制 Amazon S3 中存储的 99.99% 的新对象（由服务等级协议提供支持）。有关更多信息，请参阅 [使用 S3 Replication Time Control 满足合规性要求](replication-time-control.md)。
**Replication metrics and notifications**（复制指标和通知）– 启用 Amazon CloudWatch 指标以监控复制事件。
**删除标记复制** - 将复制由 S3 删除操作创建的删除标记。不会复制由生命周期规则创建的删除标记。有关更多信息，请参阅[在桶之间复制删除标记](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-marker-replication.html)。
S3 RTC 和 CloudWatch 复制指标和通知需要额外收费。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)和 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

1. 如果您正在编写取代现有复制规则的新复制规则，请选择 **I acknowledge that by choosing Create replication rules, these existing replication rules will be overwritten**（我确认通过选择“创建复制规则”，这些现有的复制规则将被覆盖）。

1. 选择**创建复制规则**以创建和保存新的单向复制规则。

# 为多区域接入点创建双向复制规则
<a name="mrap-create-two-way-replication-rules"></a>

复制规则允许跨桶自动和异步复制对象。双向复制规则可确保数据在不同 AWS 区域中的两个或更多桶之间完全同步。设置双向复制时，将创建从源桶（DOC-EXAMPLE-BUCKET-1）到包含副本的桶（DOC-EXAMPLE-BUCKET-2）的复制规则。然后，创建从包含副本的桶（DOC-EXAMPLE-BUCKET-2）到源桶（DOC-EXAMPLE-BUCKET-1）的第二个复制规则。

与所有复制规则一样，您可以将双向复制规则应用于整个 Amazon S3 桶，也可以应用于按前缀或对象标签筛选的对象子集。您还可以通过为每个复制规则[启用副本修改同步](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes)来保持对于对象的元数据更改同步。您可以通过 Amazon S3 控制台、AWS CLI、AWS SDK、Amazon S3 REST API 或 AWS CloudFormation 启用副本修改同步。

要监控 Amazon CloudWatch 中对象和对象元数据的复制进度，请启用 S3 复制指标和通知。有关更多信息，请参阅[使用复制指标和 Amazon S3 事件通知监控进度](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-metrics.html)。

**为多区域接入点创建双向复制规则**



1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择要更新的多区域接入点的名称。

1. 选择 **Replication and failover**（复制和失效转移）选项卡。

1. 向下滚动到 **Replication rules**（复制规则）部分，然后选择 **Create replication rules**（创建复制规则）。

1. 在 **Create replication rules**（创建复制规则）页面上，选择 **Replicate objects among all specified buckets**（在所有指定桶间复制对象）模板。**Replicate objects among all specified buckets**（在所有指定桶间复制对象）模板可为您的桶设置双向复制（具有失效转移功能）。
**重要**  
当您使用此模板创建复制规则时，它们会替换已经分配给桶的任何现有复制规则。  
要添加或修改任何现有的复制规则而不是替换它们，请转到控制台中每个桶的 **Management**（管理）选项卡，然后在 **Replication rules**（复制规则）部分编辑规则。还可以使用 AWS CLI、AWS SDK 或 Amazon S3 REST API 添加或修改现有复制规则。有关更多信息，请参阅 [复制配置文件元素](replication-add-config.md)。

1. 在 **Buckets**（桶）部分中，选择至少两个要从中复制对象的桶。选择进行复制的所有桶都必须启用 S3 版本控制，并且每个桶必须位于不同的 AWS 区域中。有关 S3 版本控制的更多信息，请参阅[在 Amazon S3 桶中使用版本控制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)。
**注意**  
确保您具有建立复制所需的读取和复制权限，否则会遇到错误。有关更多信息，请参阅[创建 IAM 角色](https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-repl-config-perm-overview.html)。

1. 在 **Replication rule configuration**（复制规则配置）部分中，选择在创建复制规则时将其设置为 **Enabled**（启用）还是 **Disabled**（禁用）。
**注意**  
您无法在 **Replication rule name**（复制规则名称）框中输入名称。复制规则名称是根据您创建复制规则时的配置生成的。

1. 在 **Scope**（范围）部分中，为复制选择适当的范围。
   + 要复制整个桶，请选择 **Apply to all objects in the bucket**（应用到桶中的所有对象）。
   + 为了复制桶中对象的子集，请选择 **Limit the scope of this rule using one or more filters**（使用一个或多个筛选条件限制此规则的范围)。

     可按前缀、对象标签或二者的组合筛选对象。
     + 要将复制限制为名称以相同字符串（例如 `pictures`）开头的所有对象，请在 **Prefix**（前缀）框中输入前缀。

       如果您输入属于文件夹名称的前缀，则必须使用 `/`（正斜杠）作为最后一个字符（例如，`pictures/`）。
     + 要复制具有一个或多个对象标签的所有对象，请选择 **Add tag**（添加标签），然后在框中输入键值对。要添加另一个标签，请重复该过程。有关对象标签的更多信息，请参阅 [使用标签对对象进行分类](object-tagging.md)。

1. 向下滚动到 **Additional replication options**（其他复制选项）部分，然后选择要应用的复制选项。
**注意**  
我们建议您应用以下选项，尤其是在您打算将多区域接入点配置为支持失效转移时：  
**Replication time control（RTC）**[复制时间控制（RTC）] – 要在可预测的时间范围内跨不同区域复制您的数据，您可以使用 S3 Replication Time Control（S3 RTC）。S3 RTC 在 15 分钟内复制 Amazon S3 中存储的 99.99% 的新对象（由服务等级协议提供支持）。有关更多信息，请参阅 [使用 S3 Replication Time Control 满足合规性要求](replication-time-control.md)。
**Replication metrics and notifications**（复制指标和通知）– 启用 Amazon CloudWatch 指标以监控复制事件。
**删除标记复制** - 将复制由 S3 删除操作创建的删除标记。不会复制由生命周期规则创建的删除标记。有关更多信息，请参阅[在桶之间复制删除标记](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-marker-replication.html)。
**Replica modification sync**（副本修改同步）– 为每个复制规则启用副本修改同步，以使对于对象的元数据更改保持同步。有关更多信息，请参阅[启用副本修改同步](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication-for-metadata-changes.html#enabling-replication-for-metadata-changes)。
S3 RTC 和 CloudWatch 复制指标和通知需要额外收费。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)和 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)。

1. 如果您正在编写取代现有复制规则的新复制规则，请选择 **I acknowledge that by choosing Create replication rules, these existing replication rules will be overwritten**（我确认通过选择“创建复制规则”，这些现有的复制规则将被覆盖）。

1. 选择 **Create replication rules**（创建复制规则）以创建和保存新的双向复制规则。

# 查看多区域接入点的复制规则
<a name="mrap-view-replication-rules"></a>

使用多区域接入点，您可以设置单向复制规则或双向复制规则。有关如何管理复制规则的信息，请参阅[使用 Amazon S3 控制台管理复制规则](https://docs.aws.amazon.com/AmazonS3/latest/userguide/disable-replication.html)。

**查看多区域接入点的复制规则**



1. 登录到 AWS 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 在左侧导航窗格中，选择 **Multi-Region Access Points**（多区域接入点）。

1. 请选择多区域接入点的名称。

1. 选择 **Replication and failover**（复制和失效转移）选项卡。

1. 向下滚动到**复制规则**部分。本节将列出已为多区域接入点创建的所有复制规则。
**注意**  
如果您已将来自其他账户的桶添加到此多区域接入点，则必须从桶拥有者获得 `s3:GetBucketReplication` 权限才能查看该桶的复制规则。

# 将多区域接入点与支持的 API 操作结合使用
<a name="MrapOperations"></a>

 Amazon S3 提供了一组操作用来管理多区域访问点。Amazon S3 同步处理其中一些操作，异步处理另一些操作。当您调用异步操作时，Amazon S3 首先同步授权请求的操作。如果授权成功，Amazon S3 将返回一个令牌，您可以使用该令牌来跟踪所请求操作的进度和结果。

**注意**  
通过 Amazon S3 控制台发出的请求始终是同步的。控制台等待，直到请求完成，然后再允许您提交另一个请求。

您可以使用控制台查看异步操作的当前状态和结果，也可以使用 AWS CLI、AWS SDK 或 REST API 中的 `DescribeMultiRegionAccessPointOperation`。Amazon S3 在响应异步操作时提供跟踪令牌。您将该跟踪令牌作为 `DescribeMultiRegionAccessPointOperation`。当您包括跟踪令牌时，Amazon S3 会返回指定操作的当前状态和结果，包括任何错误或相关资源信息。Amazon S3 执行 `DescribeMultiRegionAccessPointOperation` 同步操作。

所有创建或维护多区域接入点的控制面板请求都必须路由到 `US West (Oregon)` 区域。对于多区域接入点数据面板请求，无需指定区域。对于多区域接入点失效转移控制面板，请求必须路由到五个支持的区域之一。有关支持多区域接入点的区域的更多信息，请参阅[多区域接入点限制和限制](MultiRegionAccessPointRestrictions.md)。

此外，您必须将 `s3:ListAllMyBuckets` 权限授予请求管理多区域接入点的用户、角色或其他 AWS Identity and Access Management（IAM）实体。

以下示例演示如何在 Amazon S3 中将多区域接入点与兼容操作结合使用。

**Topics**
+ [多区域接入点与 AWS 服务和 AWS SDK 的兼容性](#mrap-api-support)
+ [多区域接入点与 S3 操作的兼容性](#mrap-operations-support)
+ [查看您的多区域接入点路由配置](#query-mrap-routing-configuration)
+ [更新您的底层 Amazon S3 存储桶策略](#update-underlying-bucket-policy)
+ [更新多区域接入点路由配置](#update-mrap-route-configuration)
+ [将对象添加到多区域接入点的桶中](#add-bucket-mrap)
+ [从多区域接入点检索对象](#get-object-mrap)
+ [列出存储在多区域接入点底层桶中的对象](#list-objects-mrap)
+ [将预签名 URL 与多区域接入点结合使用](#use-presigned-url-mrap)
+ [将配置了申请方付款的桶与多区域接入点结合使用](#use-requester-pays-mrap)

## 多区域接入点与 AWS 服务和 AWS SDK 的兼容性
<a name="mrap-api-support"></a>

要在需要 Amazon S3 存储桶名称的应用程序中使用多区域接入点，请在使用 AWS SDK 发出请求时使用多区域接入点的 Amazon 资源名称（ARN）。要检查哪些 AWS SDK 与多区域接入点兼容，请参阅[与 AWS SDK 的兼容性](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html#s3-mrap-sdk-compat)。

## 多区域接入点与 S3 操作的兼容性
<a name="mrap-operations-support"></a>

您可以使用以下 Amazon S3 数据面板 API 操作，对桶中与您的多区域接入点关联的对象执行操作。以下 S3 操作可以接受多区域接入点 ARN：
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLegalHold.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectRetention.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)

**注意**  
当使用多区域接入点 ARN 时，多区域接入点仅支持使用多区域接入点的复制操作作为目标。

您可以使用以下 Amazon S3 控制面板操作来创建和管理多区域接入点：
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateMultiRegionAccessPoint.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DescribeMultiRegionAccessPointOperation.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPoint.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointPolicyStatus.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetMultiRegionAccessPointRoutes.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListMultiRegionAccessPoints.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SubmitMultiRegionAccessPointRoutes.html)

## 查看您的多区域接入点路由配置
<a name="query-mrap-routing-configuration"></a>

------
#### [ AWS CLI ]

以下示例命令检索您的多区域接入点路由配置，以便您可以查看桶的当前路由状态。要使用此示例命令，请将 `user input placeholders` 替换为您自己的信息。

```
aws s3control get-multi-region-access-point-routes
--region eu-west-1
--account-id 111122223333
--mrap arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap
```

------
#### [ SDK for Java ]

以下 SDK for Java 代码检索您的多区域接入点路由配置，以便您可以查看桶的当前路由状态。要使用此示例语法，请将 `user input placeholders` 替换为您自己的信息。

```
S3ControlClient s3ControlClient = S3ControlClient.builder()
    .region(Region.US_EAST_1)
    .credentialsProvider(credentialsProvider)
    .build();
 
GetMultiRegionAccessPointRoutesRequest request = GetMultiRegionAccessPointRoutesRequest.builder()
    .accountId("111122223333")
    .mrap("arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap")
    .build();
 
GetMultiRegionAccessPointRoutesResponse response = s3ControlClient.getMultiRegionAccessPointRoutes(request);
```

------
#### [ SDK for JavaScript ]

以下 SDK for JavaScript 代码检索您的多区域接入点路由配置，以便您可以查看桶的当前路由状态。要使用此示例语法，请将 `user input placeholders` 替换为您自己的信息。

```
const REGION = 'us-east-1'
 
const s3ControlClient = new S3ControlClient({
  region: REGION
})
 
export const run = async () => {
  try {
    const data = await s3ControlClient.send(
      new GetMultiRegionAccessPointRoutesCommand({
        AccountId: '111122223333',
        Mrap: 'arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap',
      })
    )
    console.log('Success', data)
    return data
  } catch (err) {
    console.log('Error', err)
  }
}
 
run()
```

------
#### [ SDK for Python ]

以下 SDK for Python 代码检索您的多区域接入点路由配置，以便您可以查看桶的当前路由状态。要使用此示例语法，请将 `user input placeholders` 替换为您自己的信息。

```
s3.get_multi_region_access_point_routes(
        AccountId=111122223333,
        Mrap=arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap)['Routes']
```

------

## 更新您的底层 Amazon S3 存储桶策略
<a name="update-underlying-bucket-policy"></a>

要授予适当的访问权限，您还必须更新底层 Amazon S3 存储桶策略。以下示例将访问控制委托给多区域接入点策略。在将访问控制委托给多区域接入点策略后，当通过多区域接入点发出请求时，桶策略不再用于访问控制。

以下是将访问控制委托给多区域接入点策略的示例桶策略。要使用这一示例桶策略，请将 `user input placeholders` 替换为您自己的信息。要通过 AWS CLI `put-bucket-policy` 命令应用此策略，如下一个示例所示，请将策略保存在文件中，例如 `policy.json`。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": { 
        "AWS": "arn:aws:iam::444455556666:root" 
      },
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket",
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Condition": {
        "StringEquals": {
          "s3:DataAccessPointAccount": "444455556666"
        }
      }
    }
  ]
}
```

------

以下 `put-bucket-policy` 示例命令将更新后的 S3 存储桶策略与您的 S3 存储桶关联起来：

```
aws s3api put-bucket-policy
  --bucket amzn-s3-demo-bucket
  --policy file:///tmp/policy.json
```

## 更新多区域接入点路由配置
<a name="update-mrap-route-configuration"></a>

以下示例命令更新多区域接入点路由配置。可以对以下五个区域运行多区域接入点路由命令：
+ `ap-southeast-2`
+ `ap-northeast-1`
+ `us-east-1`
+ `us-west-2`
+ `eu-west-1`

在多区域接入点路由配置中，您可以将桶设置为主动或被动路由状态。主动桶接收流量，而被动桶不接收流量。您可以通过将桶的 `TrafficDialPercentage` 值设置为 `100`（表示主动）或 `0`（表示被动）来设置桶的路由状态。

------
#### [ AWS CLI ]

以下示例命令将更新您的多区域接入点路由配置。在此示例中，`amzn-s3-demo-bucket1` 设置为主动状态，`amzn-s3-demo-bucket2` 设置为被动状态。要使用此示例命令，请将 `user input placeholders` 替换为您自己的信息。

```
aws s3control submit-multi-region-access-point-routes
--region ap-southeast-2 
--account-id 111122223333
--mrap arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap
--route-updates Bucket=amzn-s3-demo-bucket1,TrafficDialPercentage=100
                Bucket=amzn-s3-demo-bucket2,TrafficDialPercentage=0
```

------
#### [ SDK for Java ]

以下 SDK for Java 代码将更新您的多区域接入点路由配置。要使用此示例语法，请将 `user input placeholders` 替换为您自己的信息。

```
S3ControlClient s3ControlClient = S3ControlClient.builder()
    .region(Region.ap-southeast-2)
    .credentialsProvider(credentialsProvider)
    .build();
 
SubmitMultiRegionAccessPointRoutesRequest request = SubmitMultiRegionAccessPointRoutesRequest.builder()
    .accountId("111122223333")
    .mrap("arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap")
    .routeUpdates(
        MultiRegionAccessPointRoute.builder()
            .region("eu-west-1")
            .trafficDialPercentage(100)
            .build(),
        MultiRegionAccessPointRoute.builder()
            .region("ca-central-1")
            .bucket("111122223333")
            .trafficDialPercentage(0)
            .build()
    )
    .build();
 
SubmitMultiRegionAccessPointRoutesResponse response = s3ControlClient.submitMultiRegionAccessPointRoutes(request);
```

------
#### [ SDK for JavaScript ]

以下 SDK for JavaScript 代码将更新您的多区域接入点路由配置。要使用此示例语法，请将 `user input placeholders` 替换为您自己的信息。

```
const REGION = 'ap-southeast-2'
 
const s3ControlClient = new S3ControlClient({
  region: REGION
})
 
export const run = async () => {
  try {
    const data = await s3ControlClient.send(
      new SubmitMultiRegionAccessPointRoutesCommand({
        AccountId: '111122223333',
        Mrap: 'arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap',
        RouteUpdates: [
          {
            Region: 'eu-west-1',
            TrafficDialPercentage: 100,
          },
          {
            Region: 'ca-central-1',
            Bucket: 'amzn-s3-demo-bucket1',
            TrafficDialPercentage: 0,
          },
        ],
      })
    )
    console.log('Success', data)
    return data
  } catch (err) {
    console.log('Error', err)
  }
}
 
run()
```

------
#### [ SDK for Python ]

以下 SDK for Python 代码将更新您的多区域接入点路由配置。要使用此示例语法，请将 `user input placeholders` 替换为您自己的信息。

```
s3.submit_multi_region_access_point_routes(
        AccountId=111122223333,
        Mrap=arn:aws:s3::111122223333:accesspoint/abcdef0123456.mrap, 
        RouteUpdates= [{
            'Bucket': amzn-s3-demo-bucket,
            'Region': ap-southeast-2, 
            'TrafficDialPercentage': 10
        }])
```

------

## 将对象添加到多区域接入点的桶中
<a name="add-bucket-mrap"></a>

要将对象添加到与多区域接入点关联的桶中，您可以使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) 操作。要使多区域接入点中的所有桶保持同步，请启用[跨区域复制](MultiRegionAccessPointBucketReplication.md)。

**注意**  
要使用此操作，您必须对多区域接入点拥有 `s3:PutObject` 权限。有关多区域接入点权限要求的更多信息，请参阅[权限](MultiRegionAccessPointPermissions.md)。

------
#### [ AWS CLI ]

以下示例数据面板请求将 *`example.txt`* 上传到指定的多区域接入点。要使用此示例，请将 *`user input placeholders`* 替换为您自己的信息。

```
aws s3api put-object --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap --key example.txt --body example.txt
```

------
#### [ SDK for Java ]

```
S3Client s3Client = S3Client.builder()
        .build();
        
PutObjectRequest objectRequest = PutObjectRequest.builder()
        .bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
        .key("example.txt")
        .build();

s3Client.putObject(objectRequest, RequestBody.fromString("Hello S3!"));
```

------
#### [ SDK for JavaScript ]

```
const client = new S3Client({});

async function putObjectExample() {
    const command = new PutObjectCommand({
        Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
        Key: "example.txt",
        Body: "Hello S3!",
    });
    
    try {
        const response = await client.send(command);
        console.log(response);
    } catch (err) {
        console.error(err);
    }
}
```

------
#### [ SDK for Python ]

```
import boto3

client = boto3.client('s3')
client.put_object(
    Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap',
    Key='example.txt',
    Body='Hello S3!'
)
```

------

## 从多区域接入点检索对象
<a name="get-object-mrap"></a>

要从多区域接入点检索对象，可以使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) 操作。

**注意**  
要使用此 API 操作，您必须对多区域接入点拥有 `s3:GetObject` 权限。有关多区域接入点权限要求的更多信息，请参阅[权限](MultiRegionAccessPointPermissions.md)。

------
#### [ AWS CLI ]

以下示例数据面板请求从指定的多区域接入点检索 *`example.txt`* 并将其下载为 *`downloaded_example.txt`*。要使用此示例，请将 *`user input placeholders`* 替换为您自己的信息。

```
aws s3api get-object --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap --key example.txt downloaded_example.txt
```

------
#### [ SDK for Java ]

```
S3Client s3 = S3Client
   .builder()
   .build();

GetObjectRequest getObjectRequest = GetObjectRequest.builder()
    .bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
    .key("example.txt")
    .build();

s3Client.getObject(getObjectRequest);
```

------
#### [ SDK for JavaScript ]

```
const client = new S3Client({})

async function getObjectExample() {
    const command = new GetObjectCommand({
        Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
        Key: "example.txt"
    });
    
    try {
        const response = await client.send(command);
        console.log(response);
    } catch (err) {
        console.error(err);
    }
}
```

------
#### [ SDK for Python ]

```
import boto3

client = boto3.client('s3')
client.get_object(
    Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap',
    Key='example.txt'
)
```

------

## 列出存储在多区域接入点底层桶中的对象
<a name="list-objects-mrap"></a>

要返回存储在多区域接入点底层桶中的对象的列表，请使用 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) 操作。在以下示例命令中，使用多区域接入点的 ARN 列出了指定多区域接入点的所有对象。在这种情况下，多区域接入点 ARN 为：

`arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap`

**注意**  
要使用此 API 操作，您必须对于多区域接入点和底层桶拥有 `s3:ListBucket` 权限。有关多区域接入点权限要求的更多信息，请参阅[权限](MultiRegionAccessPointPermissions.md)。

------
#### [ AWS CLI ]

以下示例数据面板请求列出了桶中的对象，该桶位于 ARN 指定的多区域接入点的底层。要使用此示例，请将 *`user input placeholders`* 替换为您自己的信息。

```
aws s3api list-objects-v2 --bucket arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap
```

------
#### [ SDK for Java ]

```
S3Client s3Client = S3Client.builder()
        .build();
        
String bucketName = "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap";

ListObjectsV2Request listObjectsRequest = ListObjectsV2Request
    .builder()
    .bucket(bucketName)
    .build();

 s3Client.listObjectsV2(listObjectsRequest);
```

------
#### [ SDK for JavaScript ]

```
const client = new S3Client({});

async function listObjectsExample() {
    const command = new ListObjectsV2Command({
        Bucket: "arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap",
    });
    
    try {
        const response = await client.send(command);
        console.log(response);
    } catch (err) {
        console.error(err);
    }
}
```

------
#### [ SDK for Python ]

```
import boto3

client = boto3.client('s3')
client.list_objects_v2(
    Bucket='arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap'
)
```

------

## 将预签名 URL 与多区域接入点结合使用
<a name="use-presigned-url-mrap"></a>

您可以使用预签名 URL 生成一个 URL，该 URL 允许其他人通过 Amazon S3 多区域接入点访问 Amazon S3 存储桶。创建预签名 URL 时，请将它与特定的对象操作相关联，例如 S3 上传（`PutObject`）或 S3 下载（`GetObject`）。您可以共享预签名 URL，任何有权访问该 URL 的人都可以像原始签名用户一样执行嵌入在 URL 中的操作。

预签名 URL 具有到期日期。到达到期时间后，URL 将不再起作用。

在将 S3 多区域接入点与预签名 URL 结合使用之前，请检查 [AWS SDK 与 SigV4A 算法的兼容性](https://docs.aws.amazon.com/sdkref/latest/guide/feature-s3-mrap.html#s3-mrap-sdk-compat)。验证您的 SDK 版本是否支持将 SigV4A 作为用于签署全局 AWS 区域请求的签名实现。有关在 Amazon S3 中使用预签名 URL 的更多信息，请参阅[使用预签名 URL 共享对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)。

以下示例说明如何将多区域接入点与预签名 URL 结合使用。要使用这些示例，请将 *`user input placeholders`* 替换为您自己的信息。

------
#### [ AWS CLI ]

```
aws s3 presign arn:aws:s3::123456789012:accesspoint/MultiRegionAccessPoint_alias/example-file.txt
```

------
#### [ SDK for Python ]

```
import logging
import boto3
from botocore.exceptions import ClientError

s3_client = boto3.client('s3',aws_access_key_id='xxx',aws_secret_access_key='xxx')
s3_client.generate_presigned_url(HttpMethod='PUT',ClientMethod="put_object", Params={'Bucket':'arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap','Key':'example-file'})
```

------
#### [ SDK for Java ]

```
S3Presigner s3Presigner = S3Presigner.builder()
    .credentialsProvider(StsAssumeRoleCredentialsProvider.builder()
        .refreshRequest(assumeRole)
        .stsClient(stsClient)
        .build())
    .build();

GetObjectRequest getObjectRequest = GetObjectRequest.builder()
    .bucket("arn:aws:s3::123456789012:accesspoint/abcdef0123456.mrap")
    .key("example-file")
    .build();

GetObjectPresignRequest preSignedReq = GetObjectPresignRequest.builder()
    .getObjectRequest(getObjectRequest)
    .signatureDuration(Duration.ofMinutes(10))
    .build();

PresignedGetObjectRequest presignedGetObjectRequest = s3Presigner.presignGetObject(preSignedReq);
```

------

**注意**  
要将 SigV4A 与临时安全凭证结合使用 [例如，在使用 IAM 角色时]，请确保从 AWS Security Token Service（AWS STS）中的区域端点而非全局端点请求临时凭证。如果您对 AWS STS（`sts.amazonaws.com`）使用全局端点，则 AWS STS 将从全局端点生成临时证书，而 Sig4A 不支持全局端点。因此，您将得到错误。要解决此问题，请使用列出的任何[适用于 AWS STS 的区域性端点](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_region-endpoints)。

## 将配置了申请方付款的桶与多区域接入点结合使用
<a name="use-requester-pays-mrap"></a>

如果与您的多区域接入点关联的 S3 存储桶[配置为使用申请方付款](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysExamples.html)，则申请方将支付桶请求费用、下载费用以及任何与多区域接入点相关的费用。有关更多信息，请参阅 [Amazon S3 定价](https://aws.amazon.com/s3/pricing/)。

以下是向连接到申请方付款桶的多区域接入点发出数据面板请求的示例。

------
#### [ AWS CLI ]

要从连接到申请方付款桶的多区域接入点下载对象，您必须指定 `--request-payer requester` 作为 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/get-object.html) 请求的一部分。您还必须指定桶中文件的名称以及应存储所下载文件的位置。

```
aws s3api get-object --bucket MultiRegionAccessPoint_ARN --request-payer requester --key example-file-in-bucket.txt example-location-of-downloaded-file.txt 
```

------
#### [ SDK for Java ]

要从连接到申请方付款桶的多区域接入点下载对象，您必须指定 `RequestPayer.REQUESTER` 作为 `GetObject` 请求的一部分。您还必须指定桶中文件的名称及其存储位置。

```
GetObjectResponse getObjectResponse = s3Client.getObject(GetObjectRequest.builder()
    .key("example-file.txt")
    .bucket("arn:aws:s3::
123456789012:accesspoint/abcdef0123456.mrap")
    .requestPayer(RequestPayer.REQUESTER)
    .build()
).response();
```

------

# 监视和记录通过多区域接入点发出的对底层资源的请求
<a name="MultiRegionAccessPointMonitoring"></a>

Amazon S3 记录通过多区域接入点发出的请求以及对管理这些接入点的 API 操作（如 `CreateMultiRegionAccessPoint` 和 `GetMultiRegionAccessPointPolicy`）发出的请求。通过接入点向 Amazon S3 发出的请求将显示在 S3 服务器访问日志和具有多区域接入点主机名的 AWS CloudTrail 日志中。接入点的主机名采用此形式：`MRAP_alias.accesspoint.s3-global.amazonaws.com`。例如，假设您具有以下桶和接入点配置：
+ 区域 `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` 的桶。
+  名为 `my-mrap` 别名 `mfzwi23gnjvgw.mrap` 的多区域接入点配置为满足来自所有三个桶的请求。
+  您的 AWS 账户 ID 是 `123456789012`。

为了直接通过日志中显示的主机名为 `bucket_name.s3.Region.amazonaws.com` 的桶检索 `my-image.jpg` 而发出的请求。

如果您改为通过多区域接入点发出请求，Amazon S3 首先确定不同区域中的哪个桶距离最近。Amazon S3 确定用于满足请求的桶后，它会将请求发送到该桶并使用多区域接入点主机名记录操作。在此示例中，如果 Amazon S3 将请求中继到 `my-bucket-aps1`，则您的日志将反映对 `my-bucket-aps1` 中 `my-image.jpg` 的成功 `GET` 请求，使用的主机名为 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`。

**重要**  
多区域接入点不了解底层桶的数据内容。因此，收到请求的桶可能不包含所请求的数据。例如，如果 Amazon S3 确定 `my-bucket-euc1` 桶距离最近，则您的日志将反映对于 `my-bucket-euc1` 中 `my-image.jpg` 的失败 `GET` 请求，使用的主机名为 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`。如果请求已改而路由到 `my-bucket-usw2`，您的日志将表明成功的 `GET` 请求。

 有关 Amazon S3 服务器访问日志的更多信息，请参阅 [使用服务器访问日志记录来记录请求](ServerLogs.md)。有关 AWS CloudTrail 的更多信息，请参阅《AWS CloudTrail 用户指南》**中的[什么是 AWS CloudTrail？](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。

## 监控和记录对多区域接入点管理 API 操作发出的请求
<a name="MonitoringMultiRegionAccessPointAPIs"></a>

Amazon S3 提供了多个 API 操作来管理多区域接入点，例如 `CreateMultiRegionAccessPoint` 和 `GetMultiRegionAccessPointPolicy`。当您使用 AWS Command Line Interface（AWS CLI）、AWS SDK 或 Amazon S3 REST API 请求这些 API 操作时，Amazon S3 将异步处理这些请求。只要您对请求具有相应的权限，Amazon S3 将返回这些请求的令牌。您可以将此令牌与 `DescribeAsyncOperation` 用来帮助您查看正在进行的异步操作的状态。Amazon S3 同步处理 `DescribeAsyncOperation` 请求。要查看异步请求的状态，可以使用 Amazon S3 控制台、AWS CLI、SDK 或 REST API。

**注意**  
控制台仅显示前 14 天内发出的异步请求的状态。要查看旧请求的状态，请使用 AWS CLI、开发工具包或 REST API。

 异步管理操作可以处于以下几种状态之一：

NEW  
 Amazon S3 已收到请求，并准备执行该操作。

IN\$1PROGRESS  
 Amazon S3 当前正在执行该操作。

SUCCESS  
 操作已成功。响应包括相关信息，例如 `CreateMultiRegionAccessPoint` 请求。

FAILED  
 该操作失败。响应包含一条错误消息，指示请求失败的原因。

## 将 AWS CloudTrail 与多区域接入点结合使用
<a name="MultiRegionAccessPointCloudTrail"></a>

您可以使用 AWS CloudTrail 来查看、搜索、下载、归档、分析和响应您的 AWS 基础设施中的账户活动。通过多区域接入点和 CloudTrail 日志记录，您可以确定以下各项：
+ 谁或什么执行了哪个操作
+ 对哪些资源执行了操作
+ 事件发生的时间
+ 有关事件的其他详细信息

您可以使用此日志记录信息来帮助您分析和响应通过多区域接入点发生的活动。

### 如何设置 AWS CloudTrail 多区域接入点
<a name="MultiRegionAccessPointCTSetup"></a>

要针对与创建或维护多区域接入点相关的任何操作启用 CloudTrail 日志记录，您必须配置 CloudTrail 日志记录来记录美国西部（俄勒冈州）区域中的事件。您必须以这种方式设置日志记录配置，而无论您在发出请求时所在的区域，也无论多区域接入点支持哪些区域。创建或维护多区域接入点的所有请求都通过美国西部（俄勒冈州）区域路由。我们建议您将此区域添加到现有跟踪中，或者创建包含此区域以及与多区域接入点关联的所有区域的新跟踪。

Amazon S3 记录通过多区域接入点发出的所有请求以及对管理接入点的 API 操作（如 `CreateMultiRegionAccessPoint` 和 `GetMultiRegionAccessPointPolicy`）发出的请求。当您通过多区域接入点记录这些请求时，它们将显示在 AWS CloudTrail 日志中包含多区域接入点的主机名。例如，如果您通过带有别名 `mfzwi23gnjvgw.mrap` 的多区域接入点向桶发出请求，则 CloudTrail 日志中的条目的主机名将为 `mfzwi23gnjvgw.mrap.accesspoint.s3-global.amazonaws.com`。

多区域接入点将请求路由到最近的桶。由于这种行为，当您查看多区域接入点的 CloudTrail 日志时，您将看到对底层桶发出的请求。其中一些请求可能是对桶的直接请求，这些请求不是通过多区域接入点路由的。在查看流量时，请记住这一事实。当桶位于多区域接入点中时，仍可直接向该桶发出请求，而无需通过多区域接入点。

创建和管理多区域接入点涉及异步事件。异步请求在 CloudTrail 日志中没有完成事件。有关异步请求的更多信息，请参阅 [监控和记录对多区域接入点管理 API 操作发出的请求](#MonitoringMultiRegionAccessPointAPIs)。

 有关 AWS CloudTrail 的更多信息，请参阅《AWS CloudTrail 用户指南》**中的[什么是 AWS CloudTrail？](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)。