リージョン間でS3バケットを複製する方法
もし異なる地域にあるS3バケットにオブジェクトの複数のコピーを保存したい場合、S3はソースバケットから世界中のレプリカバケットにオブジェクトを自動的にレプリケートするように設定することができ、アプリケーションのパフォーマンスとアクセス待ち時間を向上させます。
インターネット上で公開されているオブジェクト、例えばアップロードされたコンテンツのメディアバケットを複製している場合は、単にAWSのCloudFront CDNを使用して、世界中のエッジロケーションにコンテンツをキャッシュすることができることに注意が必要です。
複製はどのように機能しますか?
レプリケーションは基本的に、バケットにオブジェクトをアップロードまたは更新するたびに実行されます。ソースと宛先のバケットを定義するレプリケーションルールを作成します。ソースバケットにアップロードされたオブジェクトは、宛先バケットにアップロードされます。レプリケーションを機能させるためには、バージョニングを有効にする必要があります。これにより、データの上書きの仕方によって、ストレージコストがわずかに増加します。
いくつかの制限があります。AWSは削除されたオブジェクトを複製しないので、各コピーを手動で削除する必要があります。また、通常、複製は非常に迅速に行われますが、大きなオブジェクトを複製する場合、15分以上かかることもあります。
オブジェクトが複製されると、ソースオブジェクトにメタデータタグが設定されます。すべての複製にはそのタグが含まれます。
REPLICAタグ付けされ、ソースオブジェクトはタグ付けされます
COMPLETEDこれは双方向のレプリケーションが可能であることを意味します --- お互いを指すレプリケーションルールを持つ2つのバケットです。S3はレプリカタグが付いたアップロードされたオブジェクトをレプリケートしないため、無限のレプリケーションループに陥ることはありません。
これはマルチマスターレプリケーションと呼ばれますが、後からアップロードされたオブジェクトが後で複製されることを保証するシステムはありません。この設定では、2つのオブジェクトを同時に更新している場合、データが同期しなくなる可能性があり、一方のマスターから別のマスターに同期している間に古いデータで作業する可能性があります。
レプリケーションの設定
S3管理コンソールから、ソースバケットに移動します。"プロパティ"の下でバージョン管理をオンにする必要があります。
それがオンになると、管理 > レプリケーション > ルールの追加の下に新しいレプリケーションルールを追加できます。
デフォルトでは、すべてのオブジェクトを複製しますが、必要に応じてフィルターを設定することができます。
宛先の下で、宛先バケットを選択します。また、レプリカオブジェクトのストレージクラスを設定することもでき、アカウント間で転送する場合は所有者を設定することもできます。「S3レプリケーション時間制御」のオプションもあり、サービスレベル契約に基づいてオブジェクトが15分以内にレプリケートされることを保証します。
次の画面では、レプリケーションのために IAM ロールを選択または作成する必要があります。権限は自動的に処理されるので、名前を入力してください。
「次へ」をクリックし、「保存」をクリックしてください。ルールはすぐに有効になります; オブジェクトをアップロードしてテストすることができ、そのオブジェクトが宛先バケットに複製されているのが確認できるはずです。そして、複製ステータスタグが変更されるのが見えるでしょう。
COMPLETED




