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

짧은 대답은 '예'입니다. MD5 체크섬을 계산 aws s3 sync하고 aws s3 cp업로드가 완료되었을 때 일치하지 않으면 최대 5번까지 다시 시도합니다.

더 긴 대답은 다음과 같습니다.

AWS CLI는 표준 및 멀티파트 업로드 모두에 대해 Content-MD5 헤더를 계산하고 자동으로 채웁니다. S3가 계산하는 체크섬이 제공된 Content-MD5와 일치하지 않는 경우 S3는 객체를 저장하지 않고 대신 AWS CLI에 오류 메시지를 반환합니다. AWS CLI는 포기하기 전에 이 오류를 최대 5회 재시도합니다.

요청이 로 서명되면 Signature Version 4MD5 체크섬이 계산되지 않습니다.

AWS CLI는 업로드를 수행하는 상위 수준 aws s3 명령(aws s3 cp, aws s3 sync)과 aws s3api put-object 및 aws s3api upload를 포함한 하위 수준 s3api 명령 모두에 대해 Content-MD5 헤더를 추가합니다. -부분.

참조

AWS CLI S3 FAQ

관련 정보