Public Cloud/AWS
AWS S3 Mount
후니옹
2020. 1. 1. 14:42
AWS S3
- Simple Storage Service
- 확장성과 데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지
- 저장할 수 있는 파일 수의 제한이 없다
- 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있다
- object 스토리지라고도 불리며 AWS는 S3에 저장된 데이터 하나 하나를 객체라고 명명하는데, 하나 하나의 파일이라고 생각하면 된다
AWS S3 Mount
- 일반적인 파일시스템이 아니며, object 기반이기도 하고 REST HTTP 기반이다 보니 사용성에서 불편함
- AWS Storage Gateway 를 사용할 수 있지만 Gateway Appliance VM을 올려야 하기 때문에 번거롭다
- S3를 파일시스템 처럼 Mount 하여 사용하는 방법이 있으며 Backend Package 중 하나가 FUSE 기반 s3fs이다.
- OpenSource 이며, AWS 에서 정식 지원하는 패키지는 아님 (github: https://github.com/s3fs-fuse/s3fs-fuse)
- 단점은...."생각보다 엄청 성능이 느리다"
[AWS S3 Mount 구성]
- S3 Bucket 을 생성
- S3 Directory 생성
- Access 할 특정 사용자 생성
- 그룹에 사용자 추가
- EC2 Role 추가
- EC2 에 Role 추가 확인
- EC2 S3 Mount
# yum -y install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
# git clone https://github.com/s3fs-fuse/s3fs-fuse.git
# ./autogen.sh
# ./configure
# make
# make install
# vim /root/.bash_profile - Profile 수정
- Mount 안 될 경우
- # /usr/local/bin/s3fs mh-test-s3 /mh-s3/
s3fs: could not determine how to establish security credentials.
- Key 파일 사용하지 않고 EC2에 S3 권한 주고 mount 진행
# /usr/local/bin/s3fs -o iam_role="mh-s3-role" mh-test-s3 /mh-s3/ - Mount 확인
- 필요시 fstab 에 등록하여 사용