본문 바로가기
IT/Cloud

[AWS] S3 버킷 마운트 없이 gz 압축 풀기

by Jany 2021. 8. 29.
반응형

IDC 백업 NAS에 있는 3TB정도의 덤프파일을 AWS로 이전해야할 일이 생겼다.

aws s3 cp 로 머 옮기는거 자체는 금방했는데,

문제는 gz 이라 실제 사용을 위해서 압축을 풀어야했다.

 

처음엔 ec2에 s3를 마운트할 생각을 했는데, 너무 느리다는 평이 많다보니 대용량이라서 고민이 많았다.

 

그러다 Docs 에서 찾은 cp 스트림.

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html

 

AWS CLI에서 상위 수준(s3) 명령 사용 - AWS Command Line Interface

PowerShell을 사용하는 경우 셸은 CRLF의 인코딩을 변경하거나, 파이프 입력이나 출력 또는 리디렉션된 출력에 CRLF를 추가할 수 있습니다.

docs.aws.amazon.com

 

s3 파일스트림 업로드

s3 cp 명령은 다음 구문을 사용하여 stdin에서 지정된 버킷으로 파일 스트림을 업로드합니다.
$ aws s3 cp - <target> [—options]​

 

s3 파일스트림 다운로드

s3 cp 명령은 다음 구문을 사용하여 stdout에 대한 Amazon S3 파일 스트림을 다운로드합니다.
$ aws s3 cp <target> [—options] -​

 

그럼 실제로 파일스트림을 다운로드 하여 파이프 처리로 압축 풀고 다시 스트림을 업로드 하면 될꺼 같았다.

실제 구문

aws s3 cp s3://버킷/2020/gz/파일명.dmp.gz - | gunzip | aws s3 cp - s3://버킷/2020/파일명.dmp

 

결과적으로는 성공이었다.

 


추가.

s3 파일스트림 사용시 파일이 너무 클 경우, 멀티파트 업로드 관련해서 에러가 발생한다.

관련해서는 s3 설정을 변경해주면 되니, 아래 포스팅 참고

[IT/Cloud] - [AWS] s3 cli 멀티파트 설정

 

[AWS] s3 cli 멀티파트 설정

앞서 AWS s3 cli로 대용량 파일의 unzip을 실행하다보니 문제가 생겼다. 어느정도는 괜찮은데, 파일이 클 경우 오류가 발생하는 것이다. 실제 확인을 해보니 aws s3 파일스트림의 청크사이즈와, 멀티

newstars.cloud

 

반응형

댓글