부록

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

S3을 s3fs로 파일시스템처럼 사용하기

Linux에서 s3fs를 사용하면 S3을 파일시스템처럼 사용할 수 있습니다(Windows는 지원하지 않습니다). S3 버킷을 마운트한 디렉터리에 S3 버킷의 파일이 표시되고, 새로운 파일을 쓰면 자동으로 S3 버킷에 업로드합니다. AWS API로 S3에서 파일을 읽고 쓰는 것을 구현하지 않아도 되기 때문에 매우 편리합니다. 단 AWS API로 직접 접근하는 것보다 속도가 느립니다.
https://github.com/s3fs-fuse/s3fs-fuse

먼저 컴파일러와 필요한 라이브러리를 설치합니다.

Amazon Linux, CentOS

[ec2-user@ip-172-31-31-217 ~]$ sudo yum install -y gcc gcc-c++
[ec2-user@ip-172-31-31-217 ~]$ sudo yum install -y automake
[ec2-user@ip-172-31-31-217 ~]$ sudo yum install -y fuse-devel curl-devel libxml2-devel openssl-devel

Ubuntu Linux

ubuntu@ip-172-31-21-103:~$ sudo apt-get install -y unzip
ubuntu@ip-172-31-21-103:~$ sudo apt-get install -y build-essential
ubuntu@ip-172-31-21-103:~$ sudo apt-get install -y libfuse-dev libcurl4-openssl-dev libxml2-dev libssl-dev

GitHub에서 소스 파일을 받은 뒤 압축을 해제하고 컴파일합니다.

$ wget https://github.com/s3fs-fuse/s3fs-fuse/archive/master.zip
$ unzip master.zip
$ cd s3fs-fuse-master
$ make
$ sudo make install

root 권한으로 변경합니다.

$ sudo su

액세스 키와 시크릿 키를 설정해야 합니다. /etc/passwd-s3fs라는 파일을 생성하고 <액세스 키>:<시크릿 키> 형식으로 저장합니다. 액세스 키와 시크릿 키를 생성하는 방법은 ‘9장 API와 툴 사용을 위한 액세스 키 생성하기’를 참조하기 바랍니다.

/etc/passwd-s3fs

AKIAJMVSZ7VUHUCJJFNA:Sg1k7MeAZKKJbrtMKEdmF6wfoROqUA4kT+Im9OED

/etc/passwd-s3fs 파일의 권한을 변경합니다.

# chmod 640 /etc/passwd-s3fs

이제 S3 버킷을 /mnt 디렉터리에 마운트합니다.

# /usr/local/bin/s3fs examplebucket10 /mnt

이제 /mnt 디렉터리에 S3 버킷의 내용이 표시되고, 파일을 수정하거나 새로 생성하면 S3 버킷에 업로드됩니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.