본문 바로가기
AWS

AWS Section 6-2. EC2 인스턴스 스토리지

by _비니_ 2024. 9. 27.

📌 Amazon EFS - Elastic File System

  • EFS는 관리형 NFS (네트워크 파일 시스템)
    • 네트워크 파일 시스템이므로 여러 EC2에 동시에 마운트될 수 있음
  • EC2 인스턴스는 서로 다른 가용성 영역에 있을 수도 있음
  • 가용성이 높고, 확장성이 뛰어나며 GP2 EBS 볼륨의 약 3배 비쌈(?)
    • 사용량에 따라 비용을 지불하므로 미리 용량을 프로비저닝 할 필요가 없음

  • EFS 파일 시스템은 보안 그룹으로 보호되며, 여러 EC2 인스턴스가 이를 둘러싸고 있음
  • EC2 인스턴스는 서로 다른 가용 영역(예: us-east-1a, us-east-1b, us-east-1c)에 위치할 수 있음
  • 이러한 가용 영역에 있는 모든 EC2 인스턴스는 EFS를 통해 동일한 네트워크 파일 시스템에 동시에 연결될 수 있음

>> EFS는 여러 가용 영역에 걸쳐 확장 가능하고 높은 가용성을 제공하지만EFS는 GP2 EBS 볼륨보다 비용이 더 비쌈

 

Use cases

: 콘텐츠 관리, 웹 서비스, 데이터 공유, Wordpress 같은 애플리케이션에 적합

  • 내부적으로 NFSv4.1 프로토콜을 사용하며, EFS에 대한 액세스는 보안 그룹으로 제어할 수 있움
  • Linux 기반 AMI와만 호환되며, Windows에서는 사용할 수 없음
  • KMS를 통해 EFS 데이터에 대해 미사용 암호화를 활성화할 수 있음
  • EFS의 장점:
    • 파일 시스템이 자동으로 확장되며, 사용한 데이터 양에 따라 비용이 청구됨
    • 용량을 미리 계획할 필요 없이 유연하게 사용할 수 있다는 것

 

📌 EFS - Performance & Storage Classes

EFS Scale

  • 1000개의 동시 NFS 클라이언트, 10GB 이상/s 처리량 확보 가능
  • PB 규모의 네트워크 파일 시스템으로 자동 확장 가능

Performance Mode _ 성능 모드(EFS 생성 시간으로 설정)

  • 네트워크 파일 시스템 생성 시 성능 모드를 설정할 수 있으며 여러가지 옵션이 있음
    • 범용(기본값) - 지연 시간에 민감한 사용 사례에 사용됨(웹 서버, CMS 등)
    • 최대 I/O - 더 높은 지연 시간, 처리량, 고도로 병렬 처리(빅 데이터, 미디어 처리)

Throughput Mode _ 처리량 모드

  • Bursting - 1TB = 50MiB/s + 최대 100MiB/s 폭발
  • Provisioned - 스토리지 크기에 관계없이 처리량을 설정(예: 1TB 스토리지의 경우 1Gb/s)
    • 예전에는 스토리지가 늘어날수록 처리량이 증가했지만 프로비저닝을 사용하면 ITBㅢ 스토리지에서 초당 1GIB를 처리할 수 있음 (스토리지와 처리량을 분리했기 때문)
  • Elastic - 워크로드에 따라 처리량을 자동으로 상향 또는 하향 조정합니다
    • 예를 들어 읽기의 경우 최대 3Gb/s, 쓰기의 경우 최대 1Gb/s까지 가능
    • 예측할 수 없는 워크로드에 사용됨

 

📌 EFS - Storage Classes

  • 스토리지 계층을 설정할 수 있고 며칠 후 다른 계층으로 옮길 수 있는 기능
    • Standard: 자주 액세스하는 파일용
    • Infrequent access (EFS-IA): 파일을 검색하는 경우 비용이 들지만, 저장 비용이 저렴
    • 아카이브: 거의 액세스하지 않는 데이터용(ex - 1년에 몇 번만), 50% 저렴
    • 스토리지 계층 간에 파일을 자동으로 이동하기 위해 라이프사이클 정책 구현해 며칠 후 파일을 어느 계층으로 이동해야 하는지 정의할 수 있음
  • (라이프사이클 관리 기능 - N일 후 파일 이동)

standard에 파일이 있는 예제

  • standard 계층
  • 이 파일 중 하나는 60일 동안 액세스하지 않음
  • >> 이를 EFS IA와 같은 새로운 스토리지 계층으로 옮길 수 있음
  • 가용성 및 내구성 측면에서
    • Standard: 다중 AZ 설정이 있는 경우에 적합
      • 즉 여러 가용성 영역에 걸친 EFS는 프로덕션 워클드에 적합
    • One Zone: 개발자에게 적합한 One AZ (하나의 AZ에만 있음), 기본적으로 백업이 활성화되어 IA(EFS One Zone-IA)와 호환됨 (개발만 하고 싶고 조금 더 저렴한 옵션을 원한다면..)
      • 액세스 빈도가 낮은 스토리지 계층과 호환됨

전반적으로 올바른 EFS 스토리지 클래스를 사용하면 최대 90% 이상의 비용 절감이 가능함

 

 

👩🏻‍💻 실습

 

<리전>

  • 여러 가용 영역에 걸쳐 한 지역 내에 파일 시스템을 제공.
  • 데이터 가용성, 내구성을 매우 높게 유지할 수 있음

<One Zone>

  • 비용을 절감하고 싶다면 특정 가용 영역을 하나만 선택해야하는 One Zone 선택
  • 개발 환경에서는 좋지만, 프로덕션 환경에서는 데이터에 액세스 할 수 없게 되므로 좋지 않음

 

  • 30일동안 액세스하지 않은 경우 IA 계층으로 전환
  • 90일동안 액세스하지 않은 경우 Archive로 전환

 

💡처리량 모드 기억하기💡

  • 버스팅은 실제 사용 중인 스토리지 용량에 따라 처리량을 확장해 더 늘릴 수 있는 방법
  • 탄력적 요금제 (권장🌟) 는 EFS 파일 시스템 크기에 상관없이 필요한 모든 IO를 제공하고 자동으로 확장할 수 있는 경우 / 사용한만큼 지불
  • 프로비저닝은 필요한 처리량을 미리 알고 있을 때 사용 (처리량을 미리 프로비저닝, 비용도 미리 지불)

 

 

 

📌 EBS VS EFS - Elastic Block Storage

 

🧐 EBS (Elastic Block Storage)

  • EBS 볼륨은 가용 영역(AZ)에 고정되며, 기본적으로 동일 AZ 내에서만 EC2 인스턴스에 연결 가능 (Multi-Attach 기능을 지원하는 io1/io2 볼륨 제외).
  • AZ 간에 EBS 볼륨을 옮기려면 스냅샷을 생성한 후, 다른 AZ에서 복원해야 함.
  • gp2 볼륨은 디스크 크기가 증가해야 IO가 증가하지만, gp3io1은 디스크 크기와 상관없이 IO를 독립적으로 증가시킬 수 있음.
  • 백업 시 IO 사용량이 증가할 수 있으므로, 트래픽이 많은 시간대에 백업을 피해야 함.
  • 루트 EBS 볼륨은 기본적으로 EC2 인스턴스 종료 시 함께 종료되지만, 이 동작을 비활성화할 수 있음.

 

🧐 EFS (Elastic File System)

  • EFS는 여러 AZ에 걸쳐 최대 100개의 EC2 인스턴스에서 동시에 마운트 가능.
  • 여러 인스턴스가 하나의 EFS 파일 시스템을 공유할 수 있어, WordPress 웹사이트 파일 공유 등에 유용.
  • POSIX 표준을 사용하여 Linux 인스턴스에만 사용 가능.
  • EFS는 EBS보다 비용이 높지만, 스토리지 계층을 활용해 비용을 절감할 수 있음.

 

🆚 비교 🆚

  • EBS는 AZ 내에서 고정된 블록 스토리지로, 주로 단일 인스턴스에서 사용되며 가용 영역 간에 데이터를 이동하려면 스냅샷을 사용해야 함.
  • EFS는 여러 AZ에서 파일 스토리지를 공유하는 데 적합하며, 다중 인스턴스와 가용 영역에 걸쳐 사용 가능.

 

EFS VS EBS VS Instance Store

 

인스턴스 스토어는 물리적으로 EC2 인스턴스에 연결됨

>>> 즉 EC2 인스턴스가 없어지면 스토리지 또한 잃게 됨

반응형

'AWS' 카테고리의 다른 글

AWS Section 7-2. ELB + AS  (0) 2024.09.27
AWS Section 7-1. ELB + ASG  (0) 2024.09.27
AWS Section 6-1. EC2 인스턴스 스토리지  (4) 2024.09.27
AWS Section 5. EC2 기초  (0) 2024.09.27
AWS Section 4-2. IAM 및 AWS CLI  (0) 2024.09.27