Cloud Infra Architecture (AWS)/AWS SAA-C03

EFS란? (Elastic File System)

seongduck 2023. 1. 5. 01:03

EFS란?


  • 리눅스 OS에서만 연결이 가능하다. (네트워크 파일 스토리지)
  • Network File System(NFS) 프로토콜을 지원
  • 여러 가용영역에 있는 수십~수백대의 EC2 연결 가능
  • EFS는 보안 그룹을 통해 인스턴스에 연결 (인,아웃바운딩 필터링 가능)
  • EC2 이외에 Linux 방식의 온-프레미스 서버에서도 연결가능

 

EFS - 성능 및 스토리지 클래스


스토리지 클래스 (내려갈수록 가격 저렴)

  • 표준 스토리지 (Standard)
    • 3개의 가용영역에 데이터 저장, 자주 액세스 하는 파일을 저장하는데 사용 (고가용성)
  • 표준 IA (Standard Infrequent Access) 
    • 3개의 가용영역에 데이터 저장, 자주 액세스하지 않는 파일을 저장하는데 사용
  • One Zone 
    • 1개의 가용영역에 데이터 저장, 자주 액세스하는 파일을 저장하는데 사용
    • 한개의 AZ가 장애시 다 잃을 수도..
  • One Zone IA (One Zone Infrequent Access)
    • 1개의 가용영역에 데이터 저장, 자주 액세스하지 않는 파일을 저장하는데 사용
  • EFS 수명주기 관리 정책 또는 EFS 지능형 계층화(Intelligent-Tiering)을 사용해 자주 사용하지 않는 데이터를 다른 스토리지 클래스로 자동 전환 가능
    • 예를들어 표준 스토리지에 보관하다가 아래 개념으로 자동으로 전환되는 것을 구현할 수 있음(오래되면)

 

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

  • 기본 범용 성능 모드 (General Purpose performance Mode)
    • 일반적인 I/O 성능
  • 최대 I/O 성능 모드 (Max I/O performance Mode)
    • 높은 성능의 처리가 필요한 빅데이터 분석 앱 등에 사용

 

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

  • 기본 버스팅 처리량 모드
    • 파일 용량이 커짐에 따라 자동으로 처리량을 확장 (크면 크게, 작으면 작게)
  • 프로비저닝된 모드
    • 저장된 데이터의 양과 상관없이 고정으로 처리량을 지정 (고정적으로 지정)

 

 

EFS 실습 - 보안그룹 생성


EFS 앞에 보안그룹이 있으므로 보안그룹을 먼저 손봐야 한다.

보안그룹을 먼저 만들어주자

 

 

인바운드 규칙은 NFS 프로토콜을 사용하므로 NFS 유형, 소스는 미리 만들어놓은 SSH-WEB-Access를 한다.

다 만들어졌으면 검색창에 [EFS]를 검색한다.

 

 

다음 누르고

 

탑재 대상에 모든 가용영역에 보안그룹은 EFS_SG로 바꿔준다.

그리도 또 다음...

생성한다!

이제 만들것을 적용해보자

 

 

EC2 만들어서 EFS 적용하기 (마운트 적용하기)


인스턴스를 만들어주고 개수는 2개로 설정한다.

보안그룹은 미리 만들어 놓은 ssh_web_access를 만든다.

그리고 생성!

 

하나는 EFS_EC22로 바꿔서 두개의 EC2를 Instance Connect로 연결한다.

 

1. 마운트하기 전에 각각의 인스턴스에 EFS 유틸을 설치하자

> sudo yum install -y amazon-efs-utils

 

2. 폴더파일을 만들어주자

> sudo mkdir /mnt/efs
> cd /mnt

 

3. EFS 탑재 헬퍼 사용

선택한 후 본인이 만든 EFS에 들어간다.

그리고 [연결]을 클릭

이 부분을 복사한다.

 그 후 첫 번째 인스턴스에 복사해서 넣는다.

 

마운트가 잘 완료됐다.

 

두번째 인스턴스에서는 NFS 클라이언트 사용부분을 복사해서 넣는다.

 

잘 완료됐다.

 

두 인스턴스 모두 efs 경로로 이동한다.

> cd efs

 

마운트 테스트를 하기 위해 첫 번째 인스턴스에서 파일을 생성하고 두 번째 인스턴스에서 확인해본다.

첫 번째 인스턴스에서 txt파일을 생성한다.

efs > sudo touch efs.txt

 

두 번째 인스턴스에서 확인해보면

잘 들어가 있는 것을 확인할 수 있다. (두 번째 인스턴스에서 만들어도 첫 번째 인스턴스에서 보인다.)

efs 폴더에 (경로에) AWS EFS를 마운트 했기 때문에 보이는 것이다.

즉 두 인스턴스 모두 동일한 스토리지에 마운트 되었다.