

# AWS PrivateLink で使用するマルチリージョンアクセスポイントの設定
<a name="MultiRegionAccessConfiguration"></a>

マルチリージョンアクセスポイントを使用して、AWS リージョン 間で Amazon S3 リクエストトラフィックのルーティングを行うことができます。各マルチリージョンアクセスポイントのグローバルエンドポイントは、複数の送信元からの Amazon S3 データリクエストトラフィックをルーティングします。個別のエンドポイントで複雑なネットワーク設定を構築する必要はありません。これらのデータリクエストトラフィックソースには以下が含まれます。
+ 仮想プライベートクラウド (VPC) から発信されるトラフィック
+ AWS PrivateLink を経由する、オンプレミスのデータセンターからのトラフィック 
+ パブリックインターネットからのトラフィック

S3 マルチリージョンアクセスポイントへの AWS PrivateLink 接続を確立すると、シンプルなネットワークアーキテクチャと設定を使用して、AWS に、またはプライベート接続を経由して複数の AWS リージョン に、S3 リクエストをルーティングできます。AWS PrivateLink を使用する場合、VPC ピアリング接続を設定する必要はありません。

**Topics**
+ [マルチリージョンアクセスポイントのオプトインリージョンの設定](ConfiguringMrapOptInRegions.md)
+ [AWS PrivateLink で使用するマルチリージョンアクセスポイントの設定](MultiRegionAccessPointsPrivateLink.md)
+ [VPC エンドポイントからマルチリージョンアクセスポイントへのアクセスを削除する](RemovingMultiRegionAccessPointAccess.md)

# マルチリージョンアクセスポイントのオプトインリージョンの設定
<a name="ConfiguringMrapOptInRegions"></a>

AWS オプトインリージョンは、AWS アカウントでデフォルトで有効になっていないリージョンです。対照的に、デフォルトで有効になっているリージョンは、AWS リージョンまたは商用リージョンと呼ばれます。

AWS オプトインリージョンでマルチリージョンアクセスポイントの使用を開始するには、マルチリージョンアクセスポイントを作成する前に、AWS アカウントのオプトインリージョンを手動で有効にする必要があります。オプトインリージョンを有効にしたら、選択したオプトインリージョンにバケットを持つマルチリージョンアクセスポイントを作成できます。AWS アカウントまたは AWS Organization のオプトインリージョンを有効または無効にする方法については、「[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)」または「[Enable or disable a Region in your organization](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-organization)」を参照してください。

**注記**  
マルチリージョンアクセスポイントのオプトインリージョンは、現在 AWS SDK および AWS CLI でのみサポートされています。

 S3 マルチリージョンアクセスポイントは、次の AWS オプトインリージョンをサポートしています。
+ `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)`

**注記**  
オプトインリージョンを有効にしても追加コストはかかりません。ただし、マルチリージョンアクセスポイントでリソースを作成または使用すると、料金が発生します。

## AWS オプトインリージョンでのマルチリージョンアクセスポイントの使用
<a name="UsingMrapOptInRegions"></a>

マルチリージョンアクセスポイントで[データプレーンオペレーション](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MrapOperations.html)を実行するには、関連するすべての AWS アカウントが、マルチリージョンアクセスポイントの一部であるオプトインリージョンを有効にする必要があります。この要件は、リクエスタアカウント、マルチリージョンアクセスポイント所有者、S3 バケット所有者、VPC エンドポイント所有者に適用されます。これらのアカウントのいずれかが AWS オプトインリージョンを有効にしない場合、マルチリージョンアクセスポイントリクエストは失敗します。`InvalidToken` または `AllAccessDisabled` エラーの詳細については、「[List of error codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)」を参照してください。

**注記**  
マルチリージョンアクセスポイントポリシーの更新やフェイルオーバー設定の更新などの[コントロールプレーンオペレーション](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MrapOperations.html)は、マルチリージョンアクセスポイントの一部であるリージョンのオプトインリージョンステータスの影響を受けません。マルチリージョンアクセスポイントを削除する前に、アクティブなオプトインリージョンを無効にする必要もありません。

## アクティブな AWS オプトインリージョンの無効化
<a name="DisablingMrapOptInRegions"></a>

マルチリージョンアクセスポイントの一部であるオプトインリージョンを無効にすると、このリージョンにルーティングされたリクエストは `403 AllAccessDisabled` エラーになります。オプトインリージョンを安全に無効にするには、まずマルチリージョンアクセスポイント設定でトラフィックをルーティングする代替リージョンを特定することをお勧めします。その後、マルチリージョンアクセスポイントのフェイルオーバーコントロールを使用して、代替リージョンをアクティブとしてマークし、無効にするリージョンをパッシブとしてマークできます。フェイルオーバーコントロールを変更したら、オプトアウトするリージョンを無効にすることができます。

## 以前に無効にした AWS オプトインリージョンの有効化
<a name="EnablingDisabledMrapOptInRegions"></a>

マルチリージョンアクセスポイントで以前に無効にされたオプトイン AWS リージョンを有効にするには、AWS アカウント設定を更新してください。オプトインリージョンを再度有効にしたら、 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutMultiRegionAccessPointPolicy.html) API オペレーションを実行して、マルチリージョンアクセスポイントポリシーをオプトインリージョンに適用します。

マルチリージョンアクセスポイントが VPC エンドポイントを介してアクセスされる場合は、VPCE ポリシーを更新し、[ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html) API オペレーションを使用して、更新された VPC エンドポイントポリシーを再有効化したオプトインリージョンに適用することをお勧めします。

## マルチリージョンアクセスポイントポリシーと複数の AWS アカウント
<a name="UsingMrapPolicyOptInRegions"></a>

マルチリージョンアクセスポイントポリシーが複数の AWS アカウントへのアクセスを許可する場合、すべてのリクエスタアカウントもアカウント設定で同じオプトインリージョンを有効にする必要があります。リクエスタアカウントがマルチリージョンアクセスポイントの一部であるオプトインリージョンを有効にせずにマルチリージョンアクセスポイントリクエストを送信すると、`400 InvalidToken` エラーが発生します。

## AWS オプトインリージョンに関する考慮事項
<a name="MrapOptInRegionsConsiderations"></a>

オプトインリージョンからマルチリージョンアクセスポイントにアクセスするときは、次の点に注意してください。
+ オプトインリージョンを有効にすると、オプトインリージョンのバケットを使用してマルチリージョンアクセスポイントを作成できます。オプトインリージョンを無効にすると、マルチリージョンアクセスポイントはオプトインリージョンでサポートされなくなります。マルチリージョンアクセスポイントでオプトインリージョンを有効にする必要がなくなった場合は、まず[アカウントのリージョンを無効](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone)にしてください。次に、オプトインリージョンの任意のリストを含む新しいマルチリージョンアクセスポイントを作成します。
+ オプトインリージョンが無効になっているマルチリージョンアクセスポイントを作成しようとすると、`403 InvalidRegion` エラーが発生します。オプトインリージョンを有効にしたら、マルチリージョンアクセスポイントを再度作成してみてください。
+ マルチリージョンアクセスポイントでサポートされているリージョンの最大数は 17 リージョンです。これには、オプトインリージョンと商用リージョンの両方が含まれます。詳細については、「[マルチリージョンアクセスポイントの制約および制限事項](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPointRestrictions.html)」を参照してください。
+ マルチリージョンアクセスポイントのコントロールプレーンリクエストは、どのリージョンにもオプトインしていない場合でも機能します。
+ マルチリージョンアクセスポイントを初めて作成する場合は、マルチリージョンアクセスポイントの一部であるすべてのリージョンをオプトインする必要があります。
+ マルチリージョンアクセスポイントポリシーを通じて S3 マルチリージョンアクセスポイントへのアクセスが許可されている AWS アカウントは、マルチリージョンアクセスポイントの一部である同じオプトインリージョンも有効にする必要があります。

# AWS PrivateLink で使用するマルチリージョンアクセスポイントの設定
<a name="MultiRegionAccessPointsPrivateLink"></a>

 AWS PrivateLink は、Virtual Private Cloud (VPC) 内のプライベート IP アドレスを使用して Amazon S3 にプライベート接続できます。VPC 内で 1 つ以上のインターフェイスエンドポイントをプロビジョニングして、Amazon S3 マルチリージョンアクセスポイントに接続できます。

 AWS マネジメントコンソール、AWS CLI、または AWS SDK によって、マルチリージョンアクセスポイントの **com.amazonaws.s3-global.accesspoint** エンドポイントを作成することができます。マルチリージョンアクセスポイントのインターフェイスエンドポイントを設定する方法の詳細については、*VPC ユーザーガイド*の「[インターフェイス VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)」を参照してください。

 インターフェイスエンドポイント経由でマルチリージョンアクセスポイントにリクエストを送信するには、次の手順に従って VPC とマルチリージョンアクセスポイントを設定します。

**AWS PrivateLink で使用するマルチリージョンアクセスポイントを設定するには**

1. マルチリージョンアクセスポイントに接続できる適切な VPC エンドポイントを作成するか、所有します。VPC エンドポイントの作成の詳細については、*VPC ユーザーガイド*の「[インターフェイス VPC エンドポイント ](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)」を参照してください。
**重要**  
 必ず **com.amazonaws.s3-global.acesspoint** エンドポイントを作成してください。他のエンドポイントタイプでは、マルチリージョンアクセスポイントにアクセスできません。

   この VPC エンドポイントが作成されると、エンドポイントに対してプライベート DNS が有効になっている場合、VPC 内のすべてのマルチリージョンアクセスポイントリクエストはこのエンドポイントを経由します。これはデフォルトで有効になっています。

1. マルチリージョンアクセスポイントポリシーが VPC エンドポイントからの接続をサポートしていない場合は、更新する必要があります。

1. 個々のバケットポリシーで、マルチリージョンアクセスポイントのユーザーへのアクセスが許可されていることを確認します。

マルチリージョンアクセスポイントは、リクエスト自体を満たすのではなく、バケットにリクエストをルーティングすることによって機能することに注意してください。リクエストの発信者は、マルチリージョンアクセスポイントに対する許可を持ち、マルチリージョンアクセスポイント内の個々のバケットへのアクセスが許可されている必要があることを覚えておくことが重要です。そうしないと、リクエストは、発信者がリクエストを実行するための許可を持たないバケットにルーティングされる可能性があります。マルチリージョンアクセスポイントと関連付けられているバケットは、同じまたは別の AWS アカウントに所有されることができます。ただし、許可が正しく設定されていれば、異なるアカウントの VPC でマルチリージョンアクセスポイントを使用できます。

このため、VPC エンドポイントポリシーでは、マルチリージョンアクセスポイントと、リクエストを処理できるようにする基盤となる各バケットの両方へのアクセスを許可する必要があります。例えば、エイリアス `mfzwi23gnjvgw.mrap` を持つマルチリージョンアクセスポイントがあるとします。バケット `amzn-s3-demo-bucket1` および `amzn-s3-demo-bucket2` によって支えられており、すべて AWS アカウント `123456789012` が所有しています。この場合、以下の VPC エンドポイントでは、`mfzwi23gnjvgw.mrap` に対して行われた VPC からの `GetObject` リクエストを、いずれかのバッキングバケットで実行できます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Sid": "Read-buckets-and-MRAP-VPCE-policy",
        "Principal": "*",
        "Action": [
            "s3:GetObject"
        ],
        "Effect": "Allow",
        "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket1/*",
            "arn:aws:s3:::amzn-s3-demo-bucket2/*",
            "arn:aws:s3::111122223333:accesspoint/mfzwi23gnjvgw.mrap/object/*"
        ]
    }]
}
```

------

前述したように、マルチリージョンアクセスポイントポリシーが VPC エンドポイント経由のアクセスをサポートするように設定されていることも確認する必要があります。アクセスをリクエストしている VPC エンドポイントを指定する必要はありません。次のサンプルポリシーは、`GetObject` リクエストにマルチリージョンアクセスポイントを使用しようとしているリクエスターにアクセスを許可します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Sid": "Open-read-MRAP-policy",
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
            "s3:GetObject"
          ],
        "Resource": "arn:aws:s3::111122223333:accesspoint/mfzwi23gnjvgw.mrap/object/*"
    }]
}
```

------

もちろん、個々のバケットには、VPC エンドポイントを介して送信されたリクエストからのアクセスをサポートするポリシーが必要です。以下のポリシーの例では、VPC エンドポイントを介して行われたリクエストを含む匿名ユーザーに読み取りアクセス許可が付与されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
       "Sid": "Public-read",
       "Effect": "Allow",
       "Principal": "*",
       "Action": "s3:GetObject",
       "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket1",
           "arn:aws:s3:::amzn-s3-demo-bucket2/*"]
    }]
}
```

------

 VPC エンドポイントポリシーの編集については、「*VPC ユーザーガイド*」の「[VPC エンドポイントによるサービスへのアクセスのコントロール](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」を参照してください。

# VPC エンドポイントからマルチリージョンアクセスポイントへのアクセスを削除する
<a name="RemovingMultiRegionAccessPointAccess"></a>

マルチリージョンアクセスポイントを所有しており、インターフェイスエンドポイントからそのアクセス権を削除する場合は、マルチリージョンアクセスポイントに新しいアクセスポリシーを提供して、VPC エンドポイントを経由するリクエストへのアクセスを防止する必要があります。ただし、マルチリージョンアクセスポイントのバケットが VPC エンドポイント経由のリクエストをサポートしている場合、これらのリクエストは引き続きサポートされます。このサポートを禁止する場合は、バケットのポリシーも更新しなければなりません。マルチリージョンアクセスポイントに新しいアクセスポリシーを指定すると、マルチリージョンアクセスポイントへのアクセスだけが禁止され、基になるバケットへのアクセスは禁止されません。

**注記**  
マルチリージョンアクセスポイントのアクセスポリシーを削除することはできません。マルチリージョンアクセスポイントへのアクセスを削除するには、変更したアクセスで新しいアクセスポリシーを提供する必要があります。

マルチリージョンアクセスポイントのアクセスポリシーを更新する代わりに、バケットポリシーを更新して、VPC エンドポイントを使用したリクエストを防ぐことができます。この場合、ユーザーは VPC エンドポイント経由でマルチリージョンアクセスポイントにアクセスできます。ただし、マルチリージョンアクセスポイントリクエストが、バケットポリシーがアクセスを禁止するバケットにルーティングされると、リクエストによりエラーメッセージが生成されます。