S3 バケット間で s3 sync コマンドを用いて大量のオブジェクトをコピーする際に失敗する事象への対応方法

S3 バケット間で s3 sync コマンドを用いて大量のオブジェクトをコピーすると、タイムアウトの発生などが原因で失敗することがあります。代替方法として、S3 バッチレプリケーションをご利用ください。
2024.05.07

困っていること

下記のコマンドで S3 バケット間でオブジェクトをコピーしています。

aws s3 sync s3://bucketA s3://bucketB

bucketA には数千万個、数テラバイトのオブジェクトがあります。

数時間後に完了しているかどうかを確認しましたが、何らかの原因で失敗していました。

何か他にいい方法、回避策はありますか?

どう対応すればいいの?

S3 バケット間で s3 sync コマンドを用いて大量のオブジェクトをコピーすると、タイムアウトの発生などが原因で失敗することがあります。

代替方法として、S3 バッチレプリケーションをご利用ください。

参考資料

オブジェクトのレプリケーション - Amazon Simple Storage Service

オンデマンドで既存のオブジェクトを別のバケットにレプリケートするには、S3 バッチレプリケーションを使用します。

S3 バッチレプリケーションを使用した既存のオブジェクトのレプリケーション - Amazon Simple Storage Service

S3 バッチレプリケーションを使用すると、レプリケーション設定が実行される前に存在していたオブジェクト、以前にレプリケートされたオブジェクト、およびレプリケーションに失敗したオブジェクトをレプリケートできます。これは、バッチオペレーションジョブを使用して行います。これは、新しい Simple Storage Service (Amazon S3) バケット間で新しいオブジェクトを継続的に自動的にレプリケートするライブレプリケーションとは異なります。バッチレプリケーションを開始するには、次の操作を行います。

Amazon S3 バッチレプリケーションを利用して、既存のオブジェクトをレプリケートする

S3 バッチレプリケーションで既存オブジェクトの同期を試してみた | DevelopersIO