저는 백업이 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 4
MD5 체크섬이 계산되지 않습니다.
AWS CLI는 업로드를 수행하는 상위 수준 aws s3 명령(aws s3 cp, aws s3 sync)과 aws s3api put-object 및 aws s3api upload를 포함한 하위 수준 s3api 명령 모두에 대해 Content-MD5 헤더를 추가합니다. -부분.
참조