バケット間にレプリケーションを設定しましたが、新しいオブジェクトがレプリケートされません。この問題を解決するには、どうすれば良いですか?

最終更新日: 2020 年 6 月 18 日

Amazon Simple Storage Service (Amazon S3) バケット間にクロスリージョンレプリケーション (CRR) または同一リージョンレプリケーション (SRR) をセットアップしたのですが、オブジェクトがレプリケート先バケットにレプリケートされません。どうすれば解決できますか?

解決方法

レプリケート先バケットにレプリケートされていないオブジェクトをトラブルシューティングするには、以下を確認します。

ヒント: トラブルシューティングの手順を実行するときは、レプリケート元バケットにオブジェクトをアップロードすることにより、設定を変更するたびに必ずレプリケーションをテストしてください。レプリケーションのセットアップで問題を特定することが困難になるため、同時に複数の設定変更を行わないでください。

オブジェクトがレプリケート元バケットに追加されたとき

レプリケート元バケットでレプリケーションを設定すると、新しいオブジェクトのみがレプリケート先バケットにレプリケートされます。レプリケーションを設定する前にレプリケート元バケットにあったオブジェクトは、自動的にレプリケートされません。

レプリケート先バケットへの既存オブジェクトのレプリケーションをトリガーするには、cp コマンドを実行して、既存のオブジェクトをレプリケート元バケットにコピーし直すことができます。たとえば、次のコマンドは、source-AWSDOC-EXAMPLE-BUCKET のオブジェクトを source-AWSDOC-EXAMPLE-BUCKET にコピーします。

aws s3 cp s3://source-AWSDOC-EXAMPLE-BUCKET s3://source-AWSDOC-EXAMPLE-BUCKET --recursive --storage-class STANDARD 

オブジェクトのレプリケーションステータス

レプリケートされていないオブジェクトのレプリケーションステータスを確認します。オブジェクトにレプリケーションステータスメタデータがない場合は、プレフィックスまたはタグフィルタを修正しなければならない可能性があります。レプリケートするオブジェクトのサブセットにプレフィックスフィルターを設定した場合、レプリケート元バケットのプレフィックスが正しいことを確認します。タグフィルターを設定する場合は、オブジェクトの作成時にタグを適用する必要があります。オブジェクトがバケット内に既に存在し、タグを追加した場合、タグの追加によってレプリケーションはトリガーされません。

レプリケーションのステータスが PENDING の場合、Amazon S3 はまだレプリケーションを処理しています。ほとんどのオブジェクトは 15 分以内にレプリケートされますが、レプリケーションには数時間以上かかることがあります。オブジェクトが大きくなると、レプリケートに時間がかかることがあります。

レプリケーションステータスが REPLICA の場合、オブジェクトは別のレプリケート元バケットのオブジェクトのレプリカです。REPLICA 状態のオブジェクトはそれ以上レプリケートされません。

レプリケーションステータスが FAILED の場合、次のチェックに進みます。

レプリケーションに必要なアクセス許可

レプリケート元バケットとレプリケート先バケットが同じ AWS アカウントに属している場合は、レプリケーションロールの信頼ポリシーとアクセスポリシーで最低限必要なアクセス許可が付与されていることを確認します。

レプリケート元バケットとレプリケート先バケットが異なるアカウントに属している場合は、次のことを確認します。

クロスアカウントレプリケーションの場合、所有者オーバーライドオプションを設定した場合は、次のことを確認します。

AWS Key Management Service (AWS KMS) カスタマーマスターキー (CMK) で暗号化されたオブジェクトのレプリケーションを有効にした場合、次のことを確認します。

レプリケート元バケット内のオブジェクトの所有権

別の AWS アカウントがレプリケート元バケットのオブジェクトを所有している場合、必要なレプリケーションアクセス許可が正しく適用されず、それらのオブジェクトのレプリケーションは失敗します。オブジェクトを所有するアカウントは、フルコントロール権限をレプリケート元アカウントに明示的に付与する必要があります。オブジェクトのフルコントロール権限を付与する手順については、「別の AWS アカウントによって Amazon S3 バケットにアップロードされたオブジェクトにアクセスできないのはなぜですか?」を参照してください。

レプリケート元オブジェクトのアクセスコントロールリスト (ACL) とレプリケート先バケットのパブリックアクセスのブロック設定

レプリケート元オブジェクトの ACL がパブリック読み取りアクセスを許可し、レプリケート先バケットが ACL によって許可されたパブリックアクセスをブロックする場合、レプリケーションは失敗します。ユースケースに応じて、ソースオブジェクトの ACL またはレプリケート先バケットの設定を変更して、互換性があるようにします。


この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合