EFS

공유된 스토리지가 필요한 경우가 생긴다?
세션, 소스 코드를 같이 저장한다던지, 여러 데이터들을 분산 처리하기 위해 공유된 스토리지를 필요로 할 수 있는데
이때 활용하는 것이 바로 EFS이다.

하나의 가용영역은 하나의 서브넷.
public 서비스가 아니기에 외부에서 별도의 경로 없이는 들어올 수 없다.
각 가용영역에 Mount Target을 두고 각각의 가용영역에서 해당 Mount Target으로 접근

EFS는 두 가지 모드가 있다.

실습

보안그룹 생성

EFS 생성

각각의 가용영역에 마운트포인트들이 생성되어졌다.

관리로 들어가 보안그룹을 우리가 만든 Demo-EFS-SG로 모두 변경해준다.

인스턴스 생성

#cloud-config
package_upgrade: true
packages:
- nfs-utils
- httpd
runcmd:
- echo "$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).fs-065c9b0c37a4c1391.efs.ap-northeast-2.amazonaws.com:/    /var/www/html/efs-mount-point   nfs4    defaults" >> /etc/fstab
- mkdir /var/www/html/efs-mount-point
- mount -a
- touch /var/www/html/efs-mount-point/test.html
- service httpd start
- chkconfig httpd on
- mkdir /var/www/html/efs-mount-point/sampledir
- chown ec2-user /var/www/html/efs-mount-point/sampledir
- chmod -R o+r /var/www/html/efs-mount-point/sampledir

위 내용에 EFS생성시 만들어진 아이디를 넣어준다.
fs-065c9b0c37a4c1391

고급 세부 정보에 붙여넣기

생성 완료

위 내용 뜻 -
EFS는 NFS 기반이기 때문에 NFS, httpd 설치하였음.
EC2가 위치해있는 가용영역에 EFS 마운트포인트를 검색하였음. 검색한 주소를 디폴트로 마운트 할 수 있도록 설정하였고 mount 함.
그리고 웹 서버 시작하고 디렉토리를 만들고 ec2-user에게 권한을 줌.

디렉토리 경로 가보니 있는 것 확인.

nano index.html 파일 하나 만들어주고
퍼블릭 IP + efs-mount-point/sampledir + 파일이름 도메인에 입력해준다.

http://43.200.171.106/efs-mount-point/sampledir/index.html

뜨는 것 확인.

만들어진 인스턴스 세개 중 다른 EC2인스턴스도 이 파일을 쉐어하고 있을 것.
다른 인스턴스 IP로 입력해서 들어가봐도 같은 내용을 보여주고 있음을 확인.

profile
코드를 두드리면 문이 열린다

0개의 댓글