Amazon Simple Storage Service (S3) レプリケーションは、バケット間でオブジェクトをレプリケートするための、伸縮自在なフルマネージド型の機能であり、低コストで利用できます。S3 レプリケーションは、クラウドストレージにきわめて高い柔軟性と機能性をもたらし、データ主権やその他のビジネスニーズを満たすために必要なコントロールを提供します。
Amazon S3 レプリケーションを使用すると、S3 クロスリージョンレプリケーション (CRR) を使用して異なる AWS リージョン間で、または S3 セイムリージョンレプリケーション (SRR) を使用して同じ AWS リージョン内のバケット間で、S3 オブジェクトを自動的にレプリケートするように Amazon S3 を設定できます。S3 レプリケーションは、同じまたは異なる AWS リージョン内の複数の送信先バケットにレプリケートする柔軟性を提供します。S3 レプリケーションは、同じまたは異なる AWS リージョン内の 2 つ以上のバケット間の双方向レプリケーションをサポートします。CRR や SRR などのライブレプリケーションでは、新しくアップロードされたオブジェクトがバケットに書き込まれるときに自動的にレプリケートされますが、S3 バッチレプリケーションでは既存のオブジェクトをレプリケートできます。S3 バッチレプリケーションを使用して、新しく作成したバケットに既存のオブジェクトをバックフィルし、以前にレプリケートできなかったオブジェクトを再試行し、アカウント間で、データを移行し、データレイクに新しいバケットを追加することができます。予測可能なレプリケーション時間がサービスレベルアグリーメント (SLA) で保証されており、レプリケーション時間制御 (RTC) を使用すれば 15 分未満でオブジェクトをレプリケートできます。
Amazon S3 レプリケーションは詳細なメトリクスと通知も提供し、バケット間のオブジェクトレプリケーションのステータスをモニタリングします。S3 コンソールまたは Amazon CloudWatch を使用して、保留中のデータ量 (バイト)、保留中のオペレーション、レプリケーションのレイテンシーを追跡することで、レプリケーションの進行状況をモニタリングできます。また、レプリケーションの失敗通知を受信するように S3 イベント通知を設定すると、設定上の問題をすばやく診断して修正することもできます。S3 レプリケーションメトリクスおよび通知により、レプリケーションの進行状況を綿密にモニタリングすることができます。詳細については、レプリケーションメトリクスと Amazon S3 イベント通知による、進捗状況のモニタリングをご覧ください。
S3 レプリケーションの使用方法
データの冗長性 – 同じまたは異なる AWS リージョン、異なる暗号化タイプ、または異なる AWS リージョンでデータの複数のコピーを維持する必要がある場合。S3 レプリケーションは、グローバルコンテンツ配信のニーズ、準拠したストレージのニーズ、およびアカウント間でのデータ共有を強化します。
メタデータを保持したままオブジェクトをレプリケート — レプリカのコピーをソースデータと確実に同じにする必要がある場合に、S3 レプリケーションを使用してオブジェクトの元の作成時間、オブジェクトアクセスコントロールリスト (ACL)、バージョン ID といったすべてのメタデータを保持したオブジェクトのコピーを作成できます。
オブジェクトをよりコスト効率に優れたストレージクラスにレプリケート — S3 レプリケーションを使用して、オブジェクトを S3 Glacier、S3 Glacier Deep Archive、またはレプリケーション先バケットの別のストレージクラスに格納できます。また、データを同じストレージクラスにレプリケートしてから、S3 のライフサイクルポリシーを使用してオブジェクトをよりコスト効率に優れたストレージに移動させることもできます。
異なるアカウントでオブジェクトのコピーを維持 — ソースオブジェクトの所有者が誰であるかにかかわらず、レプリカの所有権をレプリケーション先バケットを所有する AWS アカウントに変更するよう Amazon S3 に指示し、オブジェクトのレプリカへのアクセスを制限できます。
オブジェクトを 15 分以内でレプリケート — Amazon S3 レプリケーション時間制御 (S3 RTC) を使用して、予測可能なタイムフレームでデータをレプリケートできます。S3 RTC では、Amazon S3 に保存される新しいオブジェクトの 99.99% をアップロードから 15 分以内にレプリケートすることが、サービスレベルアグリーメント (SLA) で規定されています。
S3 レプリケーションの仕組み
Amazon S3 データ保護の概要 - バージョニング、オブジェクトロック、レプリケーション
Amazon S3 クロスリージョンレプリケーション (CRR)
S3 クロスリージョンレプリケーション (CRR) を使用すると、オブジェクト (およびそのメタデータとオブジェクトタグ) を他の AWS リージョンにレプリケートして、レイテンシーの短縮、コンプライアンス、セキュリティ、災害対策、その他のユースケースに対応できます。 オブジェクトを別の AWS リージョンの 1 つ以上の送信先バケットにレプリケートするように、S3 CRR を単一のソース S3 バケットから設定できます。
Amazon S3 CRR では、さまざまな AWS リージョンのバケット間でデータが自動的にレプリケートされます。CRR を使用すると、バケットレベル、共有プレフィックスレベル、オブジェクトレベルで S3 のオブジェクトタグによってレプリケーションを設定できます。CRR を使用すると、さまざまな地理的地域で低レイテンシーのデータアクセスを実現できます。また、CRR は何百キロも離れた場所にデータのコピーを保存するというコンプライアンス要件がある場合に役立ちます。CRR を使用すると、レプリケートされたオブジェクトのアカウント所有権を変更して、データが誤って削除されるのを防ぐことができます。CRR の詳細については、S3 レプリケーションのドキュメントを参照してください。
ユースケース
コンプライアンス – Amazon S3 では、データはデフォルトで地理的に離れた複数のアベイラビリティーゾーンに保存されますが、コンプライアンス要件によってデータをさらに離れた場所に保存するよう求められる場合があります。CRR では、離れた AWS リージョン間でデータをレプリケートすることで、この要件を満たすことができます。
レイテンシーのパフォーマンス — 顧客またはエンドユーザーが 1 つ以上の地理的な場所に分散している場合、地理的に顧客に近い AWS リージョンで複数のオブジェクトコピーを維持することにより、データアクセスのレイテンシーを最小限に抑えることができます。
リージョンの効率性 — 同じオブジェクトのセットを分析するコンピューティングクラスターが 2 つ以上の AWS リージョンにある場合、オブジェクトのコピーをそれらのすべての AWS リージョンに維持することを選択できます。
Amazon S3 セイムリージョンレプリケーション (SRR)
Amazon S3 SRR は、同じ AWS リージョン内のバケット間でデータを自動的にレプリケートする S3 の機能です。SRR を使用すると、バケットレベル、共有プレフィックスレベル、オブジェクトレベルで S3 のオブジェクトタグによってレプリケーションを設定できます。SRR を使用すると、同じ AWS リージョン内にデータのセカンドコピーを作成できます。SRR により、オリジナルと同じリージョン内の別の AWS アカウントにデータのコピーが保持されることで、データ所有権限の処理やコンプライアンス要件への対応にも役立ちます。SRR を使用すると、レプリケートされたオブジェクトのアカウント所有権を変更して、データが誤って削除されるのを防ぐことができます。また、SRR を使用すると、リージョン内処理のために異なる S3 バケットからログを簡単に集約したり、テスト環境と開発環境の間でのライブレプリケーションを簡単に設定したりすることもできます。
ユースケース
単一のバケットにログを集約 — 複数のバケットにログを保存していたり、複数のアカウントをまたいでログを保存していたりする場合に、ログをリージョン内の単一のバケットに簡単にレプリケートできます。これにより、ログの処理を 1 つの場所で簡単に行えるようになります。
デベロッパーアカウントとテストアカウント間のレプリケーション – お客様またはお客様の顧客が同じデータを使用するデベロッパーアカウントとテストアカウントを持っている場合、SRR ルールを実装することで、それらの複数のアカウント間でオブジェクトメタデータを維持したままオブジェクトをレプリケートできます。
データ主権法の遵守 — 多くの場合、お客様は別々の AWS アカウントにデータを保存するように求められており、データを特定のリージョンの外に移動させることは禁じられています。セイムリージョンレプリケーションは、国外へのデータ移転がコンプライアンス規制によって許可されていない場合に重要なデータをバックアップするのに役立ちます。
Amazon S3 バッチレプリケーション
CRR や SRR などのライブレプリケーションでは、新しくアップロードされたオブジェクトがバケットに書き込まれるときに自動的にレプリケートされますが、S3 バッチレプリケーションでは既存のオブジェクトをレプリケートできます。S3 バッチレプリケーションを使用して、新しく作成したバケットに既存のオブジェクトをバックフィルし、以前にレプリケートできなかったオブジェクトを再試行し、アカウント間で、データを移行し、データレイクに新しいバケットを追加することができます。S3 バッチレプリケーションはあらゆるデータ量に対応し、データの主権とコンプライアンス、災害対策、パフォーマンス最適化のニーズを満たすためのフルマネージドの方法を提供します。S3 コンソールで数回クリックするか、1 回の API リクエストで S3 バッチレプリケーションを開始することができます。
S3 バッチレプリケーションは、セイムリージョンレプリケーション (SRR) とクロスリージョンレプリケーション (CRR) を補完するものです。S3 バッチレプリケーションは既存のオブジェクトをレプリケートしますが、SRR と CRR は新しいオブジェクトのアップロードをモニタリングし、バケット間でそれらをレプリケートします。
ユースケース
新しく作成されたバケットのバックフィル - 新しいバケットを設定して別のバケットの既存のオブジェクトでバックフィルする必要がある新しいマルチリージョンストレージイニシアチブがある場合は、バッチレプリケーションを使用してこれらのオブジェクトをレプリケートできます。
レプリケーションの再試行 - オブジェクトが最初にレプリケートに失敗した場合、オブジェクトが以前はある宛先に正常にレプリケートされていたが、別の宛先にレプリケートする必要性が生じた場合、または別のソースからレプリカオブジェクトをレプリケートしようとする場合など、さまざまな理由でレプリケーションを再試行する必要がある場合、バッチレプリケーションを使用してレプリケーションを再試行できます。
移行 - 既存のオブジェクトをバケット間で移行する必要がある場合は、それらが別のリージョンにあるか別のアカウントにあるかにかかわらず、移行にバッチレプリケーションを使用して、メタデータとバージョン ID を保持できます。
Amazon S3 レプリケーション時間制御
Amazon S3 レプリケーション時間制御では、データレプリケーションに関するコンプライアンス要件 (またはビジネス要件) への対応をサポートします。また、Amazon S3 レプリケーションアクティビティを可視化します。レプリケーション時間制御では、Amazon S3 に「アップロードする」ほとんどのオブジェクトを数秒で、また 99.99% のオブジェクトを 15 分以内でレプリケートできます。 S3 レプリケーション時間制御にはデフォルトで、S3 レプリケーションメトリクスと S3 イベント通知が含まれており、これらを使用することで、レプリケーションを保留している S3 API オペレーションの総数、レプリケーションを保留しているオブジェクトの合計サイズ、最大レプリケーション時間をモニタリングできます。
S3 レプリケーション時間制御では、どの請求月でも 99.9% のオブジェクトが 15 分以内でレプリケートされることが、サービスレベルアグリーメント (SLA) で保証されています。
S3 レプリケーション時間制御の詳細については、S3 レプリケーションのドキュメントページまたは S3 レプリケーションに関するよくある質問を参照してください。
S3 レプリケーション時間制御の仕組み
S3 レプリケーションの開始方法
Amazon S3 レプリケーション (CRR、SRR) と S3 レプリケーション時間制御は、S3 のオブジェクトタグを使用して、S3 バケットレベル、共有プレフィックスレベル、オブジェクトレベルで設定できます。さらに、S3 レプリケーション時間制御を 1 つ以上のリージョンペアに対して有効にすることができます。
S3 レプリケーションを開始するには、S3 レプリケーションチュートリアルにアクセスするか、S3 バッチレプリケーションチュートリアルにアクセスし、S3 レプリケーションに関する FAQ と S3 レプリケーションのドキュメントをご覧ください。S3 レプリケーションの料金については、S3 料金のページをご覧ください。