구성환경
EC2 인스턴스 3대입니다.
OS는 Redhat CentOS 7.8 version을 사용했습니다.
Amazon S3에 파일 시스템을 위한 플러그인들
S3FS-FUSE
이것은 무료 오픈 소스 FUSE 플러그인이며 주요 Linux 배포판 및 MacOS를 지원하는 사용하기 쉬운 유틸리티입니다. S3FS는 또한 성능을 향상시키기 위해 파일을 로컬로 캐싱합니다. 이 플러그인은 단순히 Amazon S3 버킷을 시스템의 드라이브로 표시합니다.
ObjectiveFS
ObjectiveFS는 Amazon S3 및 Google Cloud Storage 백엔드를 지원하는 상용 FUSE 플러그인입니다. 전체 POSIX 호환 파일 시스템 인터페이스를 제공한다고 주장하므로 추가 기능이 전체 파일을 다시 쓸 필요가 없습니다. 또한 로컬 드라이브에 필적하는 성능을 약속합니다.
RioFS
RioFS는 C 언어를 사용하여 작성된 경량 유틸리티입니다. S3FS와 비슷하지만 몇 가지 제한 사항이 있습니다. RioFS는 파일에 추가를 지원하지 않고 완전히 POSIX 호환 파일 시스템 인터페이스를 지원하지 않으며 폴더 이름을 바꿀 수 없습니다.
저희는 S3FS를 사용하겠습니다.
S3FS-FUSE 설치
업데이트 확인하기
$ yum -y update all
필요한 패키지들 설치하기
$ sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
깃 clone 하기
$ git clone https://github.com/s3fs-fuse/s3fs-fuse.git
파일들 설치와 컴파일하기
$ cd s3fs-fuse
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
s3fs가 어디에 설치되어있는지 확인
$ which s3fs
S3을 위한 IAM role 생성
저기서 생성할 수 있습니다.
적용
Accesskey 와 secret 키 및 파일 생성
내 보안 자격 증명 접속
새 액세스 키 만들기 클릭하면 파일 다운로드 가능
거기에 있는 파일의 키들을
/etc/passwd-s3fs 파일에 입력!
파일 내용은
Accesskey:secretekey
그 후 권한 부여
$ chmod 600 /etc/passwd-s3fs
마운트 할 폴더 생성
$ mkdir S3Storage
S3 버킷을 마운트해주기
$ s3fs <bucket name> <folder 위치> -o use_cache=/tmp -o allow_other
$ s3fs cicd-ku-storage . -o use_cache=/tmp -o allow_other
확인
현재 파일 시스템의 마운트 보기
$ df . -h
전체 파일시스템 마운트 보기
$ df -h
참고
https://cloud.netapp.com/blog/amazon-s3-as-a-file-system[마운트 참고 사이트]
https://github.com/s3fs-fuse/s3fs-fuse [공식사이트]
https://medium.com/tensult/aws-how-to-mount-s3-bucket-using-iam-role-on-ec2-linux-instance-ad2afd4513ef[S3FS 설치 참고 사이트]
https://millionairedeveloper.tistory.com/3[마운트 참고 사이트]
'Kubernetes & Docker' 카테고리의 다른 글
[Kubernetes]쿠버네티스 CI/CD에 대해서 (0) | 2020.08.24 |
---|---|
[Kubernetes]쿠버네티스 설치부터 배포까지(kubespray 이용) (0) | 2020.08.21 |
[Kubernetes]쿠버네티스 컨트리뷰터 되기 : 쿠버네티스 문서에 기여하기 (0) | 2020.08.19 |
[Kubernetes 공식문서 파헤치기] 고가용성 테스트(pod 부하분산, auto scaler 적용하기) (2) | 2020.08.13 |
[Kubernetes 공식문서 파헤치기] Redis를 사용한 PHP 방명록 애플리케이션 배포하기 + PV, PVC, Affinity 사용해보기 (0) | 2020.08.10 |