본문 바로가기
Programming 개발은 구글로/AWS

[AWS 기초] Amazon EFS(Elastic File System)

by 40대직장인 2023. 2. 6.

Amazon EFS(Elastic File System)

 

 

Amazon EFS는 AWS 클라우드 서비스와 온프레미스 리소스에서 사용할 수 있는 간단하고 확장 가능하며 탄력적인 완전관리형 NFS 파일 시스템을 제공합니다.
이 제품은 애플리케이션을 중단하지 않고 온디맨드 방식으로 페타바이트 규모까지 확장하도록 구축되어 파일을 추가하고 제거할 때 자동으로 확장하고 축소하며 확장 규모에 맞게 용량을 프로비저닝 및 관리할 필요가 없습니다.

 

◼ NFS 기반 공유 스토리지 서비스

  • 따로 용량을 지정할 필요 없이 사용한 만큼 용량이 증가 <-> EBS는 미리 크기를 지정해야 함

※ NFS(Network File System): 네트워크 파일 시스템

원격 컴퓨터에 있는 해당 파일 및 디렉토리을 마치 로컬에 있는 듯이 처리하는 분산 파일 시스템(mount)을 뜻한다.

 

 페타바이트 단위까지 확장 가능

 

 몇 천개의 동시 접속 유지 가능

 

 데이터는 여러 AZ에 나누어 분산 저장

 

 쓰기 후 읽기(Read After Write) 일관성

 

 Private Service: AWS 외부에서 접속 불가능

  • AWS외부에서 접속하기 위해서는 VPN 혹은 Direct Connect 등으로 별로의 VPC와 연결 필요

 

 각 가용영역에 Mount Target을 두고 각각의 가용영역에서 해당 Mount Target으로 접근

 

 Linux Only

 

🟩 Amazon EFS 퍼포먼스 모드

  • General Purpose: 가장 보편적인 모드, 거의 대부분의 경우 사용 권장
  • Max IO: 매우 높은 IOPS가 필요한 경우 (빅데이터, 미디어 처리 등)

 

🟦 Amazon EFS 스토리지 클래스

  • EFS Standard: 3개 이상의 가용영역에 보관
  • EFS Standard-IA: 3개 이상의 가용영역에 보관, 조금 저렴한 비용 대신 데이터를 가져올 때 비용 발생
  • EFS One Zone: 하나의 가용영역에 보관 -> 저장된 가용영역의 상황에 영향를 받을 수 있음
  • EFS One Zone-IA: 저장된 가용역역의 상황에 영향을 받을 수 있음, 데이터를 가져올 때 비용 발생(가장 저렴)

 

🟧 FSx for Windows File Server

  • EFS의 윈도우즈 버전
  • SMB 프로토콜을 활요
  • Microsoft Active Directory와 통합 등의 관리 기능 사용 가능
  • Linux, MacOS 등의 다른 OS에서도 활용 가능

 

🟥 FSx for Lustre

  • 리눅스를 위한 고성능 병렬 스토리지 시스템
  • 주로 머신러닝, 빅데이터 등의 고성능 컴퓨팅(High Performance Computing)에 사용

 

🟪 EFS를 활용한 스토리지 공유 웹서버 생성

 ◼ Amazon EFS를 위한 보안 그룹 생성

 

◼ Amazon EFS 생성

 

 

 - 생성된 EFS 선택

 

 - 네트워크 mount랑 보안 그룹이 설정이 될 때까지 기다립니다.

 

 - 위의 그림에서 관리를 눌러서 이전에 설정한 보안 그룹으로 변경 후 저장

 

 ◼ EC2 인스턴스 3개 프로비전

 - Demo-EC2-EFS 이름으로 3개의 인스턴스 생성

 

 - 방화벽(보안 그룹) 설정

 

- 고급 세부 정보 - 사용자 데이터 설정

#cloud-config
package_upgrade: true
packages:
- nfs-utils
- httpd
runcmd:
- echo "$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone).[efs-id].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-id] 항목에 파일시스템 id를 기입합니다.

 

 - 인스턴스 3개 프로비전 완료

 

 ◼ 유저 데이터(생성한 EFS를 마운트, 웹 서버 생성/실행)

 - 인스턴스 1개 선택 후 연결

 

 

 ◼ 리소스 정리

 


출처: AWS 강의실

 

 

댓글