Amazon Simple Storage Service (Amazon S3) のバッチレプリケーションジョブが失敗する理由を知りたいです。
簡単な説明
S3 バッチレプリケーションジョブが失敗する場合、ジョブに使用する AWS Identity and Access Management (IAM) ロールが正しく設定されていない可能性があります。S3 バッチレプリケーションジョブのトラブルシューティングを行うには、次のタスクを実行します。
- (前提条件) コピーするかレプリケートするかの選択
- IAM ロールの設定
- ジョブの失敗のその他の原因のトラブルシューティング
解決策
前提条件
バッチオペレーションを使用する場合、バケット内のオブジェクトをコピーするかレプリケートするかを選択できます。バッチオペレーションを使用する前に、次の情報を確認してください。
- バッチオペレーションでコピーを行う場合、5 GB の制限があります。また、5 GB 以上の単一のオブジェクトをコピーすることもできません。レプリケーションにはこの制限はありません。
- レプリケーションでは、作成日やバージョン ID など、レプリケートされるオブジェクトのメタデータが保持されます。レプリケートされるオブジェクトには、オブジェクトレベルのアクセスコントロールリスト (ACL) も保持されます。レプリケーションでは、レプリケートされるオブジェクトのストレージクラスを変更できます。コピーでは、これらの情報を保持したり、ストレージクラスを変更することはできません。
- コピーを使用するには、コピー元とコピー先のバケットが同じ AWS リージョンにある必要があります。
詳細については、「S3 バッチレプリケーションに関する考慮事項」を参照してください。
IAM ロールの設定
ソースバケットの Amazon S3 レプリケーションルールは、S3 バッチレプリケーションジョブの基本です。S3 バッチレプリケーションジョブを作成するには、レプリケートするオブジェクトを定義します。また、オプションでレポートを設定できます。S3 バッチレプリケーションジョブでは、ソースの S3 バケットに設定されているレプリケーションルールから他のすべての設定を取得します。ソースバケットにレプリケーションルールを設定していない場合、レプリケーションのバッチジョブは失敗します。
また、IAM ロールの設定が正しくないと、S3 バッチレプリケーションジョブは失敗します。S3 バッチレプリケーションジョブでは、次の IAM ロールを使用します。
IAM ロールを設定したら、レプリケーションのシナリオに適したバケットのレプリケーションルールを設定します。次に、S3 バッチレプリケーションジョブを設定します。
ジョブの失敗のその他の原因のトラブルシューティング
バッチロールに関する問題
- バッチロールには、マニフェストまたは設定に対する PUT アクセス許可が必要です。また、マニフェストを格納するバケットからのマニフェストに対する GET アクセス許可も必要です。[バッチオペレーションマニュフェストを保存] オプションを使用する場合は、マニフェストファイルに対する GET および PUT アクセス許可が必要です。バッチロールに必要なアクションを拒否しないように、マニフェストのバケットポリシーを設定します。詳細については、「バッチレプリケーション用の IAM ポリシーの設定」を参照してください。
- クロスアカウントバケットを使用する場合、バケットポリシーにはバッチロールに対するアクセス許可が必要です。これらのアクセス許可は IAM ロールポリシーに追加されます。
- バケットに AWS Key Management Service (AWS KMS) またはオブジェクトレベルの暗号化を使用する場合、AWS KMS キーにバッチロールが含まれている必要があります。AWS KMS キーは、バッチロールがバケットからデータをダウンロードおよびアップロードできるようにする必要があります。
- ユーザー提供のマニフェストを使用する場合は、マニフェストに IAM ロールへの適切なアクセス許可が必要です。クロスアカウントバケットの場合、バケットポリシーにこのアクセス許可を含める必要があります。バケットが AWS KMS で暗号化されている場合、AWS KMS キーポリシーにより、バッチロールにマニフェストをダウンロードするアクセス許可が付与される必要があります。
レプリケーションロールに関する問題
バッチジョブがエラー率 50% 超で失敗した場合は、レプリケーションロールの設定に問題がある可能性があります。バッチジョブとレプリケーションジョブに同じロールを使用する場合は、Amazon S3 および Amazon S3 バッチオペレーションのサービスがロールを引き受けていることを許可してください。設定で両方のアクセス許可のセットを確認してください。
注: Amazon S3 のマニフェストの準備には時間がかかります。バッチジョブが「準備中」の段階にあるか、数時間にわたって完了率が同じままである場合は、AWS サポートに連絡してください。
関連情報
Amazon S3 のバッチオペレーションに関する問題のトラブルシューティング方法を教えてください。