<0> 목표와 특징
<1> EFS 용 보안 그룹 생성
<2> EFS 파일 시스템 생성하기
<3> EC2 접속하기
<4> 새 디렉터리 만들고 EFS 파일 시스템 마운트 하기
<5> 성능 점검 하기
<6> lambda에서 EFS 사용시 필요한 권한
<0> 목표와 특징
Aws에서 제공하는 NAS스토리지를 사용해 보자.
EFS
파일 스토리지 서비스로 여러 EC2가 동시에 접근 가능한 공유디스크이다.
NFS프로토콜 기반으로 파일단위 저장한다.
VPN, VPC Peering, DX 로도 EFS사용가능하다.
Windows는 EFS사용 불가
EFS는 S3에 비해 비용이 비싸다.
S3와 차이 - 오브제트 스토리지인 S3는 오브젝트 단위로 저장한다.
EBS와 차이 - 볼륨을 마운트하고 있는 EC2만 접근가능하다. EC2는 EBS볼륨공유는 불가능하다.
<1> EFS 용 보안 그룹 생성
1
EFS 클라이언트인 EC2의 보안 그룹 생성
EC2 > 보안 그룹 > SG-xxxxxxxxxxxx > 인바운드 > 0.0.0.0/0 22 허용
2
EFS 클라이언트 EC2에서 EFS로 접속되게 EFS 보안 그룹 생성하기
EC2 > 보안그룹 > efs-sg
인바운드
타입 : NFS
TCP 2049 포트
소스는 EFS 클라이언트 (EC2)
3
NFS클라이언트 설치
Amazon 리눅스는 설치되어 있음
다른 리눅스는 클라이언트 유틸 설치 필요
https://docs.aws.amazon.com/ko_kr/efs/latest/ug/wt1-test.html
<2> EFS 파일 시스템 생성하기
EFS생성시 , 만들어 놓은 EFS 보안 그룹 적용하기
1
서비스 > EFS > 파일 시스템 만들기 > 사용자 지정으로 하면 세부옵션을 조정할수 있다.
성능 모드 > 범용 or 최대 I/O중 선택
EFS 마운트 타깃
EFS Mount Target
태그
Name
nfs2
정책옵션 선택 가능 > 기본적인 읽기 전용
> 파일 시스템 생성하기
2
연결을 클릭하면 EC2에서 연결하는 방법 설명이 나온다.
https://docs.aws.amazon.com/ko_kr/efs/latest/ug/mounting-fs.html
<3> EC2 접속하기
EC2 리눅스 서버
<4> 새 디렉터리 만들고 EFS 파일 시스템 마운트 하기
1
서비스 > EFS > 파일 시스템 접근
2
SSH로 EC2에 접속 > efs 유틸 설치하기
yum install -y amazon-efs-utils
3
마운트 하기
mkdir efs
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-e2ab73e7.efs.us-west-2.amazonaws.com:/ efs
참고
오른쪽 위 [연결] 클릭하면 아래처럼 마운트 하는 명령어가 나온다.
// 연결이 안되는 경우 발생, 트라블 슈팅이 필요.
4
마운트 확인
sudo df -hT
참고 자료
<5> 성능 점검 하기
1
sudo fio --name=fio-efs --filesize=10G --filename=./efs/fio-efs-test.img --bs=1M --nrfiles=1 --direct=1 --sync=0 --rw=write --iodepth=200 --ioengine=libaio
2
CloudWatch로 성능 모니터링 하기
서비스 > CloudWatch > 지표 > 모든 지표 > EFS > 파일 시스템 지표 >
PermittedThroughtput
통계 합
3
CloudWatch >
그래프로 표시된 지표
주기 1분
<6> lambda에서 EFS 사용시 필요한 권한
https://aws.amazon.com/ko/blogs/korea/new-a-shared-file-system-for-your-lambda-functions/
감사합니다.