AWS CLI は S3 との同期時にデータ整合性チェックを実行しますか?

AWS CLI は S3 との同期時にデータ整合性チェックを実行しますか?

私は、バックアップが Linux ファイル サーバーから AWS S3 に正しく転送されたことを確認するために、データ整合性チェックに AWS CLI を使用することを検討しています。同様に、バックアップから Linux ファイル サーバーにファイルを復元するときにも、正しく転送されたことを確認したいと思います。

S3 上のオブジェクトに保存されている etag を調べたところ、md5sum のようでした。ただし、大きなファイルの場合、ファイルがマルチパートとして転送されると、etag は有効ではなくなります。

しかし、毎回 S3 に同期されたばかりのファイルに対して MD5sum を実行しようとする前に、これを行うことは本当に必要ですか? インターネット経由で Linux ファイル システム間で rsync を使用する場合、転送されたファイルに対して md5sum を実行して検証することは一般的ではありません。rsync が既にこれを処理していると想定されているためでしょうか?

それで、AWS CLI Sync はすでにデータ整合性チェックを処理しているのだろうかと疑問に思っています。

答え1

簡単に答えると、はい、aws s3 syncMD5aws s3 cpチェックサムを計算し、アップロードの完了時に一致しない場合は最大 5 回再試行します。

より長い答え:

AWS CLI は、標準アップロードとマルチパートアップロードの両方について、Content-MD5 ヘッダーを計算して自動入力します。S3 が計算したチェックサムが指定された Content-MD5 と一致しない場合、S3 はオブジェクトを保存せず、代わりに AWS CLI にエラーメッセージを返します。AWS CLI は、このエラーを最大 5 回再試行してから中止します。

リクエストが で署名されている場合Signature Version 4、MD5 チェックサムは計算されません。

AWS CLI は、アップロードを実行する高レベルの aws s3 コマンド (aws s3 cp、aws s3 sync) と、aws s3api put-object や aws s3api upload-part などの低レベルの s3api コマンドの両方に Content-MD5 ヘッダーを追加することに注意してください。

参照

AWS CLI S3 に関するよくある質問

関連情報