Amazonは最近、S3向けバッチレプリケーションを導入した。既存のオブジェクトを複製してバケットを同期するオプションである。この新機能は、ディザスタリカバリのセットアップ、遅延の削減、既存データの所有権の譲渡などのユースケースを想定して設計されている。
S3レプリケーションは2015年から利用できるようになっているが、これまで、顧客はレプリケーションルールが設定される前に作成されたオブジェクトをコピーするための独自のソリューションを開発する必要があった。また、バケット間でオブジェクトを手動でコピーしても、バージョンIDやオブジェクトの作成時間などのメタデータは維持されなかった。
出典: https://aws.amazon.com/blogs/aws/new-replicate-existing-objects-with-amazon-s3-batch-replication/
AWSのシニアデベロッパーアドボケイトのMarcia Villalba氏は、最新機能の主なユースケースを強調している。
顧客に対して、ディザスタリカバリのセットアップのためにデータを新しいAWSリージョンにコピーすることをお勧めします。 (...)既存のデータをコピーするもう1つの理由は、世界中に拡大している組織にあります。 (...)私たちが目にするもう1つの一般的な使用例は、顧客が合併や買収を行っており、既存のデータの所有権をあるAWSアカウントから別のアカウントに譲渡する必要がある場合です。
S3バッチレプリケーションを使うと、既存のオブジェクトをレプリケートしたり、レプリケーションルールが構成される前にバケットに追加されたオブジェクトをレプリケートしたり、権限が不十分なために以前に失敗していたオブジェクトをレプリケートしたり、別のターゲットバケットに既にレプリケートされたオブジェクトをレプリケートしたり、レプリケーションルールから作成されたオブジェクトのレプリカをレプリケートしたりできる。
AWSのシニアマネージャのPaul Meighan氏は、ツイートで次のようにまとめている。
Amazon S3バッチレプリケーションを使うと、新しく作成したバケットを既存のオブジェクトで埋めたり、以前はレプリケートできなかったオブジェクトを再試行したり、アカウント間でデータを移行したり、データレイクに新しいバケットを追加したりできます。
「S3バケット間で既存のオブジェクトを複製する」という記事が更新され、最新の機能が反映された。AWSのシニアソリューションアーキテクトのAkhil Aendapally氏と、AWSのエンタープライズサポートリードであるSteven Dolan氏が次のことを推奨している。
既存のオブジェクトのレプリケーションステータスを監視するには、レプリケーションを有効にする少なくとも48時間前にソースバケットでAmazon S3 Inventoryを設定してください。
The Duckbill GroupのクラウドエコノミストであるConey Quinn氏は、ニュースレターで次のように警告している。
これは、「AWS全体で最も高価なAPI呼び出し」になる可能性がある非常に強い候補です。このことに注意してください!
宛先バケット内のレプリケートされたデータのストレージコストに加えて、レプリケーション料金、データ転送料金、バッチ操作、オプションのマニフェスト生成料金、キー管理サービス(KMS)の料金が顧客に請求される。S3バッチレプリケーションは、すべてのAWSリージョンで利用できる。