AWS S3를 EC2 인스턴스에 Mount 예제
작업 개요
- S3를 서버에서 일반 스트로리지 또는 NAS를 mount 한 형태처럼 사용하기 위해 s3fs 오픈 소스를 사용해 서버에 mount를 하는 작업이다.
작업 환경
서비스 : EC2
AMI : Amazon Linux AMI 2018.03.0
작업 내용
- s3fs를 설치하고 s3 버킷을 서버에 mount 한다.
작업 절차
1. yum update
sudo yum -y update all
2. 필요한 페키지 설치
sudo yum -y install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
3. /usr/src 이동
cd /usr/src
4. s3fs-fuse 프로젝트 다운로드
sudo git clone https://github.com/s3fs-fuse/s3fs-fuse.git
5. 프로젝트 소유자 변경
sudo chown -R ec2-user:ec2-user s3fs-fuse
6. s3fs-fuse 로이동
cd s3fs-fuse
7. autogen.sh 실행
./autogen.sh
8. configure 실행
./configure --prefix=/usr --with-openssl
9. make 실행
make
10. make install 실행
sudo make install
11. s3fs 위치 확인
which s3fs
12. s3 접근 가능한 IAM 설정 파일 만들기
sudo vi /etc/passwd-s3fs
- 파일 내용
Access Key ID:Secret Access Key
ex ) AXXXXXXXXXXXXXXXXXX:ZhiZXXXXXXXXXXXXXXXXXXXXX
13. 파일 작업 권한 및 소유권 설정
sudo chmod 600 /etc/passwd-s3fs
sudo chown ec2-user:root /etc/passwd-s3fs
14. mount 할 디렉토리 생성
sudo mkdir /mys3bucket1
15. 버킷 mount
sudo s3fs [버킷 명] [마운트 경로]
-o use_cache=/tmp
-o allow_other
-o uid=[사용자 ID]
-o gid=[사용자 그룹 ID]
-o multireq_max=20
-o use_path_request_style
-o url=https://s3-[리전 id].amazonaws.com
ex) sudo s3fs s3bucketname /mys3bucket1 -o use_cache=/tmp -o allow_other -o uid=500 -o gid=500 -o multireq_max=5 -o use_path_request_style -o url=https://s3-ap-northeast-2.amazonaws.com
** 참고
-EC2 user ID 확인 : id -u [user name]
-EC2 user 그룹 ID 확인 : id -g [user name]
- umount 방법
- pkill -9 -t s3fs
그럼 오늘도 행복한 하루 되세요.
'AWS > S3' 카테고리의 다른 글
AWS CloudFront에서 default root object 모든 Path 적용 이슈 우회 방법 (0) | 2019.02.28 |
---|