EFS

Jihun Kim·2022년 3월 14일
0

aws solutions architect

목록 보기
26/57
post-thumbnail

EFS

  • EFS는 많은 EC2 인스턴스에 탑재될 수 있는 Network File System(NFS)이다.
  • EFS는 EBS와는 달리 multi-AZ에 마운트가 가능하다.
    - 따라서, 모든 EC2 인스턴스가 EFS 드라이브의 같은 파일에 접근할 수 있다.
  • 고 가용성이지만 비싸다(gp2의 3배).
  • 사용한 만큼만 지불한다.
    - 따라서, 데이터를 얼마나 잘 관리하느냐에 따라 EBS보다 저렴할 수도 있다.

EFS의 특징

  • 컨텐츠 관리, 웹 서빙, 데이터 공유, Wordpress
  • NFSv4.1 protocol을 사용한다.
  • EFS에 접근하기 위해서는 security group을 사용해야 한다.
  • 리눅스 기반의 AMI에서만 사용할 수 있다(윈도우는 안된다).
    - 리눅스는 표준 파일 API를 가진 POSIX 파일 시스템이다.
  • KMS로 암호화가 가능하다.
  • 자동 확장이 가능하며 용량을 미리 프로비저닝 할 필요가 없다.

성능 & Storage classes

EFS Scale

  • 수천 명의 concurrent NFS clients를 수용할 수 있으며 사용량은 10GB 이상이 될 수 있다.
  • peta-byte 스케일의 NFS로 자동 확장이 가능하다.

3가지 종류의 모드

EFS 생성시 아래 세 가지 모드에 대해 둘 중 하나의 값을 설정하게 된다.

Performance mode

  1. General purpose(default)
    • 지연 시간에 민감한 경우
      - 웹 서버, CMS 등등
  2. Max I/O
    • 지연 시간이 길어지지만 사용량과 병렬 처리 기능이 더 좋아진다.
      - 빅 데이터, 미디어 프로세싱에 사용하기 좋다.

Throughput mode

  1. Bursting
    • 1TB를 저장한다면 초당 50MB를 얻을 수 있다.
    • 초당 최대 100MB까지 버스트 할 수 있다.
  2. Provisioned
    • 처리량이 저장량과 관계 없도록 설정한다.
      - 1TB의 저장 공간 밖에 없더라도 1GB/s의 처리량을 요구할 수 있다.
    • 저장 공간이 작지만 높은 처리량이 필요한 경우 사용할 수 있다.

Storage Tiers

파일의 수명 주기 관리 기능으로, 30일 후에 파일을 새 계층(Tier)으로 이동하는 것이다.

  1. Standard

    • 자주 액세스 하는 파일을 위한 것
  2. EFS-IA(Infrequent Access)

    • 저비용 티어로, 자주 접근하지 않는 파일을 위한 것이다.
      - 파일 저장시 약간의 비용만 내면 된다.
    • 파일을 검색할 때마다 관련 비용이 발생한다.


EFS 실습

EFS를 생성하고 나면 Attatch 버튼을 눌러서 EFS를 인스턴스에 마운트 할 수 있다.

마운트를 위해서는 아래의 amazon-efs-utils를 다운 받아야 한다.

아래 명령어를 이용한다.

그 다음 ecs 머신에 접속해서 efs 디렉토리를 생성한 후
Attatch 버튼 클릭시 나타나는 mount helper를 이용해 EFS를 마운트 한다.

  1. helper에서 알려준 첫 번째 명령어를 입력한다.
    • 그런데 이 때, efs는 security group에 ec2를 허용하는 인바운드 룰을 가지고 있어야 한다.
      - Type에 NFS가 있으며, source는 ec2의 sg를 선택하면 된다.
  2. NFS 탑재 후 확인해 본다.
    • ec2 두 곳(서로 다른 가용영역)에 탑재를 할 경우 한 인스턴스에서 파일을 생성하면 다른 인스턴스에서도 NFS를 공유하고 있기 때문에 해당 파일에 접속이 가능하다.
profile
쿄쿄

0개의 댓글