Profile

Amazon EBS Under the hood: A tech deep dive

CATEGORY
AWS
TOPIC
STATUS
CREATED TIME
2023/01/06 08:05
ORIGINAL SOURCE
ORDER
0
SERIES

EBS 최적화 인스턴스

EBS 최적화 인스턴스 → EBS I/O를 위한 전용 용량을 추가로 제공하는 것.
EBS I/O와 인스턴스의 다른 트래픽 간의 경합을 최소화하여 EBS 볼륨에 최상의 성능을 제공
Amazon EBS 전용 대역폭 제공
EBS 최적화 인스턴스에 연결된 경우 범용 SSD 볼륨은 IOPS 성능 99%의 90% 이상을 제공되도록 설계됨.

AWS Storage Portfolio

OBJECT
Amazon S3
BLOCK
Amazon EBS
FILE
Amazon EFS
Amazon FSx for Windows File Server
Amazon FSx for Lustre
BACKUP
Amazon EBS snapshots
AWS Backup
Block Storage
블록스토리지는 파일 시스템과 다르게 저장 및 검색을 위해 메타데이터를 사용하지 않음

What is Amazon EBS

Amazon Elastic Block Storage (EBS) is an easy to use, secure, high-performance, block-storage service designed for use with EC2, for both throughput and transaction intensive workloads at any scale.
Block storage volumes as a service attached to Amazon EC2 instances
Flexible storage and performance for dynamic workloads such as stateful containers
Create, attach, and manage volumes through API, SDK, or AWS console
Point-in-time snapshots and tool to automate backup and retention via policies

Amazon EBS Volume

SSD-backed volumes

gp2
gp3 (General Purpose SSD)
io1
io2 (Block Express)

HDD-backed volumes

st1 (Throughput Optimized HDD)
sc1 (Cold HDD)

IO Adapter

EBS-optimized → Amazon EC2 Nitro → EBS Block Express

SAN in the Cloud (Storage Area Network)

EBS is designed for
99.999% service availability
Up to 99.999% durability

Under the hood - Control Plane

Blast radius reduction: Configuration manager

해당 Region 내에 EBS volume 을 관리할 서버 - Control Plane Storage Manager
그 하위에 Blast radius 를 줄이기 위해 Configuration manager 서버를 둠.
Configuration Manager 가 관리하는 정보
Host와 Volume 간 연결 정보를 저장함. (따라서 호스트에서 사용하는 볼륨이 EBS Infrastructure 내에 어디에 존재하는지 알 수 있음)
각기 다른 볼륨 타입, 레플리케이션 전략 그리고 durability, reliability 요구사항들을 저장

Blast radius reduction: AZ independence

Service Oriented Architecture를 고려하게 됨. (MSA 가 뜨기 시작한 시점)
Storage Manager를 위한 Function 들을 작은 서비스 단위로 쪼갬
필요한 컴포넌트들에 대해서만 스케일링을 고려

Blast radius reduction: Physalia

가장 작은 blast radius 영역이 어떤 것일까? → 각 사용자에 대한 작은 특정 정보들을 가지고 있음 (Cells)

Physalia: Millions of tiny databases

Small number of clients per database
Simple to manage
Cell can reside near clients
Reduced blast radius
Each cell is a 7-node Paxos cluster

Under the hood - Data Plane

Protecting io2 Block Express Volumes (EBS Snapshots)