1) S3 버킷 생성하기
2) EC2 인스턴스에 goofys 설치하기
[root@test ~]# yum -y install golang fuse git
*golang 패키지가 없을 경우 직접 설치
[root@test ~]#cd /usr/lib/golang/
[root@test ~]#wget https://golang.org/dl/go1.15.8.linux-amd64.tar.gz
[root@test ~]#tar -zxvf go1.15.8.linux-amd64.tar.gz
[root@test ~]#cd go
[root@test ~]#mv * ..
[root@test ~]#cd ..
[root@test ~]#rm -rf go
[root@test ~]#mkdir -p /usr/local/golang (go get으로 받아올 GOPATH 경로 디렉터리 생성)
[root@test ~]#vim /etc/profile
export GOROOT=/usr/lib/golang (golang 설치된 디렉터리 지정)
export GOBIN=$GOROOT/bin
export GOPATH=/usr/local/golang (미리 만든 경로 디렉터리)
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
:wq!
[root@test ~]source /etc/profile (환경변수 업로드)
[root@test ~]go version (go 버전확인)
[root@test ~]go env (go 환경변수 GOROOT, GOBIN, GOPATH 제대로 지정 되었는지 확인)
[root@test ~]go get github.com/kahing/goofys (이거 용량이 커서 오래걸리니 기다려주셔야 합니다..)
[root@test ~]go install github.com/kahing/goofys
여기까지 완료되면 goofys 설치 끝
3) S3 액세스 키 설정
[root@test ~]mkdir -p ~/.aws
[root@test ~]vim ~/.aws/credentials (aws에서는 이 경로를 이용해 자격정보를 가져옴)
[default]
aws_access_key_id= 액세스 키
aws_secret_access_key= 비밀 액세스 키
4) S3 마운트
[root@test ~]mkdir -p /goofys (마운트 폴더 만들어주기)
[root@test ~]goofys goofys-test /goofys (S3 버킷 마운트)
[root@test ~]df -hT
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 482M 0 482M 0% /dev
tmpfs tmpfs 492M 0 492M 0% /dev/shm
tmpfs tmpfs 492M 436K 492M 1% /run
tmpfs tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/xvda1 xfs 8.0G 3.5G 4.6G 43% /
tmpfs tmpfs 99M 0 99M 0% /run/user/1000
goofys-test fuse 1.0P 0 1.0P 0% /goofys
하지만 이렇게 마운트하면 재접속시 마운트가 해제됨
따라서 fstab에 등록하는 영구마운트 과정 필요
-영구마운트
[root@test ~]vim /etc/fstab
/usr/lib/golang/bin/goofys#goofys-test /goofys fuse _netdev,allow_other 0 0
:wq!
[root@test ~]mount -a (마운트, 인스턴스 재부팅 후 확인하면 끝)
↑fstab안에 goofys위치#S3버킷이름 마운트포인트 파일시스템 마운트옵션 덤프 검사 양식으로 작성
마운트 옵션
defaults
설정되지 않은 값에 대해서는 기본 설정을 따릅니다.
_netdev
네트워크 드라이브임을 의미하며, 마운트 시도 전 네트워크가 올바르게 설정되어 있는지 검사합니다.
delay_connect
부팅 과정에서 아직 네트워크 설정이 끝나지 않아 마운트를 하지 못하는 경우에 대비하여 시간을 지연하여 연결합니다.
allow_other
마운트된 디렉토리에 일반 유저의 접근을 허용합니다.
uid, gid
마운트된 디렉토리의 소유(Ownership)을 지정합니다. 특정 유저의 uid및 gid는 'id {username}'명령으로 확인할 수 있습니다.
IdentifyFile
인증에 사용할 Key를 지정합니다. 마운트는 root권한으로 실행되므로 Key가 root의 홈디렉토리에 존재하지 않는 경우 이렇게 수동으로 지정해 줘야 합니다.
5) S3와 연동 확인
[root@test ~]mkdir -p /goofys/goofys-test/Test
[root@test ~]cd /goofys/goofys-test/Test
[root@test ~]touch ABC
[root@test ~]touch readme.txt
'Cloud > AWS' 카테고리의 다른 글
AWS#4 EBS 볼륨 스냅샷을 활용해 백업하기 (0) | 2021.02.25 |
---|---|
AWS#3 EBS 볼륨 생성 및 인스턴스 연결하기 (0) | 2021.02.24 |
AWS#1 EC2 인스턴스 생성 및 접속 (0) | 2021.02.17 |
SAA#2 EC2란? (Elastic Compute Cloud, EC2 기본 개념) (0) | 2021.02.01 |
SAA#1 리전과 가용 영역 (Region, Availability Zone) (0) | 2021.01.29 |
댓글