[EC2] S3 압축 파일 처리기

S3에 업로드된 zip파일 같은 경우 S3에서 압축을 풀지 못한다. 다운받고 압축을 풀고 다시 하나하나 업로드 해야 한다. 이것보다 더 쉬운 방법은 S3를 EC2에 마운트 시키면 S3를 파일 시스템 다루듯이 다룰 수 있다는 것이다. 본 글에서는 s3fs-fuse 을 이용하여 S3을 마운트 시키는 법을 다룰 예정이다.

의존 패키지 설치

sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel

패키지 설치에 필요한 라이브러리를 설치 한다.

s3fs-fuse 다운 및 설치

#코드 다운로드
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
#설치
cd s3fs-fuse
./autogen.sh
./configure --prefix=/usr --with-openssl
make
sudo make install

AWS 키 설정

touch /etc/passwd-s3fs
vim /etc/passwd-s3fs
#Your_accesskey:Your_secretkey

#키 파일 권한 변경
sudo chmod 640 /etc/passwd-s3fs

S3 마운팅

mkdir /mys3bucket
s3fs your_bucketname -o use_cache=/tmp -o allow_other -o uid=1001 -o mp_umask=002 -o multireq_max=5 /mys3bucket

마운틴 된 폴더에 S3 파일들이 동기화 되는 것을 확인 할 수 있다.

ref:

https://cloudkul.com/blog/mounting-s3-bucket-linux-ec2-instance/

https://github.com/s3fs-fuse/s3fs-fuse