[리포트] Amazon EBS 의 비용 및 성능 최적화 #reinvent2022

reinvent 2022 중 Optimize price and performance with amazon ebs 세션에 대해 작성한 글 입니다
2022.12.01

안녕하세요 클래스메소드의 수재입니다.
올해는 오프라인으로 re:invent 2022에 참여했습니다.
참가한 세션 중 몇 개의 세션은 리포트를 작성하려합니다.

이번 글에서는 기본적이면서 언제나 사용하고 있는 EBS의 최적화에 대해 설명한 세션의 리포트를 작성해보겠습니다. (온라인 세션이 올라오면 이미지는 다시 업로드 할 예정입니다)

EBS란 무엇인가?

우선 EBS가 무엇인지부터 알아보겠습니다.
EBS는 Amazon EC2 인스턴스에 연결할 수 있는 블록 스토리지 볼륨 입니다.
스테이트풀 컨테이너1와 같은 동적 워크로드를 위해서 유연하게 스토리지 및 성능을 변경할 수 있습니다.
또한 생성, 연결, 볼륨 설정 등을 API, SDK, AWS 콘솔에서 컨트롤 할 수 있습니다.
SSD / HDD 볼륨을 생성 할 수 있으며 SSD는 gp3, io2 타입을 선택할 수 있고 HDD는 st1, sc1 타입을 선택할 수 있습니다.

EBS의 발전 흐름

EBS는 2008년에 Srndard 티어와 스냅샷 기능을 공개하였습니다. 이후 프로비져닝된 IOPS 볼륨이나 EBS 최적화 인스턴스, GP3 타입 등의 기능을 출시합니다.

EBS의 최적화

EBS 최적화는

  • 현재 워크로드를 이해
  • 올바른 볼륨 타입과 인스턴스 타입을 선택
  • 탄력적 볼륨을 사용하여 동적으로 성능을 설정 하는 식으로 진행됩니다.

워크로드에 맞는 볼륨 정하기

위에서 설명했듯이 EBS는 SSD 볼륨과 HDD 볼륨을 제공하고 있습니다.

  • SSD
    • gp3(General Purplose SSD)
    • io2(Block Express)
  • HDD
    • st1(Throughput Optimized HDD)
    • sc1(Cold HDD)

각 타입의 스펙은 다음과 같으며 이를 참고로 워크로드에 알맞은 볼륨을 선택할 수 있습니다.
참고

gp3(General Purplose SSD)

  • IOPS : 3,000 ~ 16,000 IOPS
  • 처리량(Throughput) : 128 ~ 1,000 MiB/s
  • 지연 시간(Latency) : 9 ms 이하
  • 볼륨(Volume) : 1 GiB to 16 TiB
  • 내구성(Durability) : 99.8% ~ 99.9%
  • 추천 케이스 : 부트 볼륨, 낮은 지연 시간의 어플리케이션, 버스터가 필요한 데이터베이스
  • 참고 : 공식 문서

io2(Block Express)

  • IOPS : 최대 256,000 IOPS
  • 처리량(Throughput) : 128 ~ 4,000 MiB/s
  • 지연 시간(Latency) : 1 ms 미만
  • 볼륨(Volume) : 4 ~ 64 TB
  • 내구성(Durability) : 99.999%
  • 추천 케이스 : 지속적인 IOPS를 제공하는 핵심 애플리케이션 및 데이터베이스
  • 참고 : 공식 문서

st1(Throughput Optimized HDD)

  • 기본 처리량 : TiB 당 40 MiB/s ~ 500 MiB/s
  • 버스트 처리량 : TiB 당 250 MiB/s ~ 500 MiB/s
  • 볼륨(Volume) : 125 GiB ~ 16 TB
  • 내구성(Durability) : 99.8% - 99.9%
  • 추천 케이스 : 빅데이터, 데이터 웨어하우스, 높은 처리량의 순차적 워크로드
  • 참고 : 공식 문서

sc1(Cold HDD)

  • 기본 처리량 : TiB 당 12 MiB/s ~ 80 MiB/s
  • 버스트 처리량 : TiB 당 12 MiB/s ~ 250 MiB/s
  • 볼륨(Volume) : 125 GiB ~ 16 TB
  • 내구성(Durability) : 99.8% - 99.9%
  • 추천 케이스 : 순차적 처리 워크로드, 로그 검색 및 백업
  • 참고 : 공식 문서

케이스에 따라 어떤 유형이 좋을지 예시를 확인해보겠습니다.

Database

일반적으로 고성능이 요구
예측 불가능한 I/O
기록이 순차적
워크로드에서 중요
SSD 볼륨을 추천

Virtual desktop

지연시간이 중요
예측 불가능한 I/O
워크로드에서 중요
gp3 타입을 추천

Media

Transcoding, encoding, render farms
일반적으로 고성능이 요구
순차적이고 지속적인 I/O
st1 타입을 추천

Data and Analytics

일반적으로 고성능이 요구
순차적 I/O
일주기
HDD 볼륨을 추천

File

일반적으로 낮은 처리량이 요구
순간적인 확장이 필요한 워크로드
비용이 중요 sc1 타입을 추천

Kubernates

워크로드를 기반으로 볼륨 유형을 지정 가능
낮은 지연시간의 데이터 액세스
쉽고 빠르게 용량 확장이 필요
워크로드에서 중요
Amazon EBS CSI Driver를 추천

마무리

정리하자면 EBS를 이용함으로써 다음과 같은 중요한 이점을 얻을 수 있습니다.

  1. 낮은 코스트를 지속할 수 있습니다
  2. 성능과 신뢰성을 혁신할 수 있습니다
  3. 유연하게 확장할 수 있는 도구와 관리
  4. 사용과 보안 관리가 쉽다

항상 사용해오던 EBS 지만 이번에 다시 한번 확인해보며 그 컨셉을 제대로 이해할 수 있었습니다.
이어서 다른 세션 리포트도 소개드리도록 하겠습니다.

긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 언제나 환영합니다. must01940 지메일로 연락 주시면 감사합니다!


본 블로그 게시글을 보시고 문의 사항이 있으신 분들은
클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !