Site icon GRIP.News

AWS(Amazon) EC2 Instance에 S3 mount 하기

이 포스트는 2014년 6월 27일 블로그 손상 이전 작성된 포스트로, 경험의 흔적을 남기기 위해 이전 되었습니다.

 

S3는 Amazon 에서 제공하는 스토리지 서비스로, 상대적으로 저렴한 가격으로 네트워크 공유 드라이브를 만들 수 있다. 일반적으로 S3 는 CloudFront 와 묶어 하나의 패키지로 사용하는데, Fuse 기반 파일 시스템으로 개발된 S3FS 를 설치하면 네트워크 드라이브로 마운트 할 수 있다.

1) 환경 만들기

S3FS 는 기본적으로 Ubuntu/Debian, Centos/Fedora 를 지원하고 있다. 이 글에선 현재 내가 사용중인 Ubuntu 기반으로 설명하겠다.

참고 : https://code.google.com/p/s3fs/wiki/InstallationNotes

> [UPDATE 2016.03.15] https://github.com/s3fs-fuse/s3fs-fuse 로 옮겨감

우선 기본적으로 필요한 패키지를 설치해야 한다. 상기 사이트에는 fuse-utils 를 설치하라고 되어 있지만 Ubuntu 12 이상에서는 이 패키지를 설치할 필요가 없다.

apt-get install build-essential libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support

> [UPDATE 2016.03.15] apt-get install automake 이 추가 필요하다

 

2) tarball 로 설치하기

그리고 가장 최근에 발매된 패키지를 받아 설치하자.

sudo su
cd
wget http://s3fs.googlecode.com/files/s3fs-1.74.tar.gz
tar xvfz ./s3fs-1.74.tar.gz
cd s3fs-1.74
./configure --prefix=/usr
make | make install

 

2-1) 설치하기 [UPDATE 2016.03.14]

Repo 가 Github 로 옮겨감에 따라 설치가 한결 편해졌다. 최신 소스는 언제나 “https://github.com/s3fs-fuse/s3fs-fuse.git” 에서 업데이트 받을 수 있다.

make $HOME/s3fuse
cd $HOME/s3fuse
git init
git pull https://github.com/s3fs-fuse/s3fs-fuse.git
./autogen.sh #configure 를 생성한다. 이 shell 을 위해 automake package 가 필요하다.
./configure --prefix=/usr
make | make install

 

3) S3 Bucket mount

이 글에서는 S3 bucket 이 생성 되었다는걸 기준으로 하고 있다. S3 는 http://aws.amazon.com/ko/s3/ 에서 관리가 가능하다.

S3 를 생성할 때 2개의 Key 를 받게 되는데 (AccessKey / SecretKey) 이 키가 필요하다

키를 s3fs 에 등록해야 한다.

$sudo su
$touch /etc/passwd-s3fs && chmod 640 /etc/passwd-s3fs && echo 'AccessKey:SecretKey' > /etc/passwd-s3fs

적절하게 마운트할 폴더를 만든다.

mkdir -p /mnt/XYZ

이제 마운트만 하면 된다.

s3fs "bucket" -o use_cache=/tmp -o allow_other /mnt/XYZ

 

4) S3 Bucket umount

S3 를 마운트 할 때 mount 명령어를 사용하지 않은것과 같이 언마운트로 umount 를 사용하지 않고 fusermount 를 사용한다.

sudo fusermount -u /mnt/XYZ

 

Exit mobile version