AWS/AWS 일반

[AWS] EC2에 S3 Mount 하기 - ubuntu 20.04 (with. s3fs)

yubi5050 2022. 8. 8. 16:12

S3FS란? 사용 이유

S3FS(s3fs-fuse)는 AWS S3를 로컬에 Mount 시켜 FileSystem 처럼 활용 할 수 있게 하는 라이브러리 이다.

일반적으로 Object Storage에 파일을 업로드, 복사할 때 대부분의 클라우드 서비스에서 제공되는 CLI 나 API를 이용하지만Linux Command를 이용해서도 파일 동기화를 해야 될 경우 사용. 일반적으로 S3FS의 성능은 REST API로 S3와 직접 통신하는 방법보다 좀 더 느리다고 함. (Public Network를 타기 때문에 정도는 달라질 수 있으나 일반적으로 성능이 안좋다고 함)

 

 

S3FS Setting 방법

EC2 Ubuntu 20.04 에서 S3를 Mount Setting 방법을 적어보았다. 

 

 

 

📌 1. s3fs 패키지 설치

sudo apt-get install -y s3fs

 

📌 2. aws - s3fs 간의 passwd 연결

aws의 IAM 에서 권한-S3FullAccess를 주고 다운로드 받은 Key 입력

생성된 passwd-s3fs 파일은 보안상 취약하기 때문에 전체유저에 대해서 읽기 권한을 제거

sudo nano /etc/passwd-s3fs => aws iam accesskey:secretkey 작성 
sudo chmod 640 /etc/passwd-s3fs # 생성된 passwd-s3fs 파일이 보안상 취약하기 때문에 전체유저에 대해서 읽기 권한을 제거

 

📌 3. fuse.config 수정 

sudo nano /etc/fuse.conf => user_allow_other 주석 해제

 

📌 4. Bucketname과 Mount 할 폴더를 연결

sudo mkdir /mnt/<mountfolder_name>
sudo s3fs <s3 bucket name> /mnt/<mountfolder_name> -o allow_other -o use_cache=/tmp