マルチリージョンアクセスポイントリクエストのルーティング - Amazon Simple Storage Service

マルチリージョンアクセスポイントリクエストのルーティング

マルチリージョンアクセスポイントを介してリクエストを行うと、Amazon S3 は、マルチリージョンアクセスポイントに関連付けられたバケットのうち、どのバケットが最も近くにあるかを決定します。Amazon S3 は、リクエストをそのバケットに送信します。これは、配置されている AWS リージョンに関わりません。

マルチリージョンアクセスポイントが最も近くにあるバケットにリクエストをルーティングすると、Amazon S3 はリクエストをそのバケットに直接送信したかのように処理します。マルチリージョンアクセスポイントは、Amazon S3 バケットのデータコンテンツを認識しません。そのため、リクエストを受け取ったバケットには、リクエストされたデータが含まれていない可能性があります。マルチリージョンアクセスポイントに関連付けられた Amazon S3 バケットに一貫性のあるデータセットを作成するには、S3 クロスリージョンレプリケーション (CRR) を設定できます。その後、どのバケットも リクエストを正常に処理します。

Amazon S3 は、次のルールに従って、マルチリージョンアクセスポイントリクエストを送信します。

  • Amazon S3 は、近接の度合いに応じてリクエストが実行されるように最適化します。マルチリージョンアクセスポイントでサポートされているバケットを調べて、最も近いバケットにリクエストをリレーします。

  • リクエストが既存のリソース (例えば、GetObject) を指定しても、Amazon S3 は、リクエストを実行するときにオブジェクトの名前を考慮しません。つまり、マルチリージョンアクセスポイントの 1 つのバケットにオブジェクトが存在する場合でも、リクエストはそのオブジェクトを含まないバケットにルーティングできるということです。この状況では、クライアント に 404 エラーメッセージが返されます。

    404 エラーを避けるには、バケットに S3 クロスリージョンレプリケーション (CRR) を設定することをお勧めします。レプリケーションにより、目的のオブジェクトがマルチリージョンアクセスポイントのバケットには存在するが、リクエストがルーティングされた特定のバケットに存在しない場合に発生する可能性のある問題を解決できます。レプリケーション設定については、「マルチリージョンアクセスポイントで使用するためのレプリケーションの設定」を参照してください。

    必要な特定のオブジェクトを使用してリクエストが確実に受理されるようにするには、バケットのバージョニングを有効にし、リクエストにバージョン ID を含めることもお勧めします。このアプローチにより、探しているオブジェクトの正しいバージョンを確実に取得できます。バージョニングを有効にしたバケットでは、誤って上書きしても、オブジェクトを復旧できます。詳細については、「S3 バケットでのバージョニングの使用」を参照してください。

  • リクエストがリソースを作成するものである場合 (例えば、PutObject または CreateMultipartUpload)、Amazon S3 は最も近いバケットを使用してリクエストを実行します。例えば、世界中のどこからでも動画のアップロードをサポートしたい動画会社があるとします。ユーザーが PUT リクエストをマルチリージョンアクセスポイントに送信すると、オブジェクトは最も近くにあるバケットに配置されます。アップロードした動画を世界中の他のユーザーが最短のレイテンシーでダウンロードできるようにするには、CRR と双方向レプリケーションを使用できます。CRR を双方向レプリケーションと使用すると、マルチリージョンアクセスポイントに関連付けられたすべてのバケットのコンテンツを同期された状態に維持します。マルチリージョンアクセスポイントでのレプリケーションの使用の詳細については、「マルチリージョンアクセスポイントで使用するためのレプリケーションの設定」を参照してください。