카테고리 없음

EFS의 간단한 개념과 실습

sangwoon 2022. 3. 8. 19:19

EFS란

 

1. 리눅스 환경의 EC2 인스턴스에서 연결하기 위한 네트워크 파일 스토리지

2. Network File System(NFS) 프로토콜을 지원함

3. 여러 가용영역에 있는 수십 수백 대의 ec2 연결 가능

4. 보안 그룹을 통해 인스턴스에 연결한다

 

스토리지 클래스

-표준 스토리지(standard)- 3개의 가용영역에 데이터 저장, 자주 액세스하는 파일을 저장하는데 사용

-표준 IA(standard infrequent Access)-3개의 가용영역에서 데이터 저장, 자주 액세스하지 않는 파일을 저장하는데 사용

-One Zone-1개의 가용영역에 데이터 저장, 자주 액세스하는 파일을 저장하는 데 사용

-One Zone-IA-1개의 가용영역에 데이터를 저장하고, 자주 액세스하지 않는 파일을 저장하는데 사용

 

EFS는 수명주기 관리 정책 도는 EFS 지능형 계층화를 사용해 자주 사용하지 않는 데이터를 다른 스토리지 클래스로 자동 전환 가능

 

 

성능 모드:  I/O, 일기 쓰기 속도

- 기본 범용 성능 모드 :  일반적인 I/O 성능

- 최대 I/O 성능 모드 : 놓은 성능의 처리 필요한 빅데이터 분석 애플리케이션 등에 사용

 

처리량 모드 : 파일 시스템의 처리량(MIB/s)

- 기본 버스팅 처리량 모드- 파일 용량이 커짐에 따라 자동으로 처리량을 확장

-  프로비저닝된 모드 - 지정된 데이터의 양과 상관없이 고정으로 처리량을 지정

 

 

 

실습 ec2에 연결)

 

그러면 파일 시스템을 생성을 해보자

성능 모드와 처리량 모드 등등 위에서 보던 조건들이 보인다. 심지어 수명 주기 관리도 있다.

 

EFS를 사용할 가용영역을 정하고 

 

보안 그룹은

인바운드 규칙은 

일단 프로토콜을 NFS 을 선택해 주고

대상은 자신이 EFS를 사용할 EC2의 SG를 연결해 주면 된다.

암튼 이 SG가 위에 EFS를 생성할 때 부착해준 보안 그룹이다

 

그리고 하나의 EC2를 생성해준다 

조건(위에 EFS 의 보안 그룹에서 chaining 해주었던 SG그룹을 선택해야 한다.)

 

생성 하기 전에 

이 Userdata를 사용해 줘야한다.

#!/bin/bash
sudo yum install -y amazon-efs-utils
mkdir /lim
sudo mount -t efs -o tls fs-0907d61989fac2ed9:/ /lim

sed 's/PasswordAuthentication no/PasswordAuthentication yes/' -i /etc/ssh/sshd_config
echo "1234" | passwd --stdin ec2-user
systemctl restart sshd

 

이런식으로 mount를 해 줄 수 있다 그리고 

sudo mount -t efs -o tls fs-0907d61989fac2ed9:/ /lim 이부분을 찾는 방법은 

 

자신 이 생성한 EFS > 연결로 들어가면 

이런식으로 나와있다.

 

 

EFS 생성 사이클은 

 

EFS SG의 inbound를 NFS 프로토콜을 ec2의 SG로 부터 받는 보안 그룹을 생성한다 -> EFS를 생성하고 자신이 사용할 가용영역과 전 단계에서 만든 SG를 선택한다 -> ec2는 EFS SG의 inbound 대상인 ec2 SG를 연결해야하고 꼭 userdata로 EFS와 연결하는 스크립트를 작성해야한다