favicon Jay Lee DevLog

728x90
300x250

요즘 제한된 환경에서 S3를 이용한 작업들을 하고 있는데,

당연하게도 환경의 문제로 인해 업로드와 다운로드에 대한 속도가 많이 떨어진다.

 

아직 해결 방법을 찾지는 못했다만,

그냥 이런 방법들도 있구나 라는걸 기록해두려 한다.


1. s5cmd

기존 aws S3를 go 랭귀지를 활용하여 만든 s5cmd이다.

설명에는 aws s3 커맨드보다 10배이상의 처리속도를 자랑한다고 한다.

그래서 설치하고 사용해봤는데..

확실히 속도는 빠르다.

다만...한 파일에 대해 5GB의 제한이 걸려있고(이건 멀티업로드를 사용해서 해결할 순 있다)

속도가 빠른만큼, 메모리를 엄청 잡아먹는다.

 

s5cmd를 쓰면서 생각해본 내용은,

전체를 수정하기 보다는

오래걸리는 특정 부분만 s5cmd를 사용하도록 하면 되지 않을까 라는 생각을 해봤다.

커맨드 자체는 기존의 aws s3와 차이가 나지 않기 때문에 사용하는덴 문제가 없을 것 같다.

 

그래도 소개하는 자리니 간단하게

설치방법과 사용방법 정도만 정리해보겠다.

 

나는 Centos7.9 기준으로 설치했다.

먼저 go 랭귀지를 사용하니깐

go를 설치해야한다.

sudo yum install go

 

설치하고 나면 이제 s5cmd의 git에서 클론을 만들어준다.

git clone https://github.com/peak/s5cmd.git

 

그럼 현재 경로에

s5cmd 폴더가 만들어진다.

이후 s5cmd 폴더로 들어가서

main.go로 명령을 실행해주면 된다.

go run main.go ls

여기서 주의할 점이 본인이 aws configure 설정을 해둬야만 동작한다는 거다.

당연한 얘기긴 하다.

키 정보와 리전 정보가 없는데 s3에 접근하는건 불가능하니깐..

 

혹시나 config설정에 대해 모른다면,

인터넷에 aws configure 쳐보면 다 나온다.

쉽기도 하니 찾아서 해보길 바란다.

 

애초에 이 글을 볼 정도의 사람이면 다 알거 같기도 하다.

테스트 해보려면 그냥 aws s3 커맨드랑 거의다 똑같으니,

해당 문서 찾아서 해보면 된다. https://docs.aws.amazon.com/cli/latest/reference/s3/


2. Amazon S3 Transfer Acceleration

aws 제공하는 서비스이다.

S3 버킷 속성에서 설정할 수 있다.

S3->버킷->속성에 있다.

 

전송 가속화라는 옵션이고,

실제로 속도가 얼마나 빨라지는지

확인하는 사이트도 존재 한다.

그래서 직접 확인해봤다.

 

나는 서울과 오하이오를 사용하는데,

뭐 쓰나마나인거 같다..

그래서 그냥 걸렀다.


일단 만약 성능 개선을 한다면,

s5cmd를 사용할 것 같다.

아직 나도 많은걸 해보진 않았기 때문에

좀 더 해보고 s5cmd에 대해

좀 더 깊게 정리해보겠다.

 

 

 

 

 

728x90
반응형

+ Recent posts

/ /

Contact

📧 dlwjdwls60@naver.com


블로그에 내용이 있으면 해당 글을 보여주며, 없으면 내용이 복사된 채로 ChatGPT로 연결됩니다.