반응형
아래 내용은 인터넷의 관련 글들을 기반으로 분석한 내용으로 틀릴 수도 있습니다.
AWS Nitro System 아키텍처 환경에서 gp3와 io2(현 io2 Block Express)는 물리적인 데이터 전송 가속 기법은 공유하지만, 하드웨어 인터페이스 설계, 스토리지 백엔드 인프라, 그리고 SLA(서비스 수준 계약) 설계 측면에서 명확한 아키텍처적 차이를 가집니다.
두 볼륨의 핵심 기술적 차이와 물리적 아키텍처 배경을 분석합니다.
1. 물리 아키텍처 및 백엔드 인프라의 차이
Nitro Card를 통해 호스트 가상화 오버헤드가 제로(Zero)에 가깝게 오프로드되는 방식은 동일하지만, 네트워크를 거쳐 연결되는 백엔드 스토리지 아키텍처에서 두 볼륨은 완전히 다른 등급의 인프라를 사용합니다.
- gp3 (일반 목적 SSD): multi-tenant 환경에 최적화된 표준 EBS 스토리지 클러스터에 배치됩니다. IOPS와 대역폭을 개별 프로비저닝할 수 있는 유연성을 제공하지만, 다른 VM들과 물리적 스토리지 하드웨어 및 네트워크 경로를 일정 부분 공유(Over-subscription)하므로 미세한 지연 시간의 흔들림(Jitter)이 발생할 수 있습니다.
- io2 Block Express (프로비저닝된 IOPS SSD): AWS가 설계한 엔터프라이즈급 고성능 하드웨어 아키텍처인 Block Express 인프라에서 구동됩니다.
- 초고속 커스텀 NVMe 드라이버 레이어와 가속된 네트워크 전송 프로토콜인 SRD(Scalable Reliable Datagram)를 극단적으로 활용합니다.
- 논리적으로 분산된 다중 경로를 완벽히 장악하여 패킷 손실이나 혼잡 노드를 실시간으로 우회합니다. 이로 인해 스토리지 네트워크 레벨의 고질적인 문제인 꼬리 지연 시간(Tail Latency)이 구조적으로 배제됩니다.
2. 성능 사양 및 Latency 일관성 (가장 큰 차이점)
두 볼륨 모두 최근 업데이트를 통해 볼륨 최대 크기가 64 TiB로 동일해졌지만, 성능의 상한선과 반응 속도의 격차는 뚜렷합니다.
| 비교 항목 | gp3 | io2 Block Express |
| 최대 IOPS | 최대 80,000 IOPS | 최대 256,000 IOPS |
| 최대 Throughput | 최대 2,000 MiB/s | 최대 4,000 MiB/s |
| 평균 지연 시간 (Latency) | 1 ~ 2ms 수준 (Single-digit ms 보장) | 0.5ms 이하 (Sub-millisecond) |
| 최대 IOPS/GiB 비율 | 500 IOPS / GiB | 1,000 IOPS / GiB |
| Multi-Attach 지원 | 지원 안 함 | 지원 (여러 EC2가 동시에 읽기/쓰기 가능) |
💡 지연 시간(Latency)의 일관성 격차
단순히 평균 지연 시간(평균 1.5ms vs 0.3ms)보다 더 중요한 아키텍처적 차이는 지연 시간의 예측 가능성(Consistency)입니다.
- gp3는 전체 I/O 중 99%에 대해서만 10ms 미만의 지연 시간을 유지하겠다고 보장합니다. 아주 드물게 튀는 I/O(Outlier)가 밀리초 단위 이상으로 늘어날 수 있습니다.
- io2 Block Express는 전체 I/O의 99.9%가 0.8ms 이내에 완료되는 것을 구조적으로 보장합니다. OLTP 데이터베이스처럼 1밀리초 미만의 일관적인 지연 시간이 트랜잭션 처리량에 직결되는 고성능 워크로드에 최적화되어 있습니다.
3. 하드웨어 신뢰성 (내구성)
데이터 유실 방지를 위한 인프라 이중화 설계 수준도 다릅니다.
- gp3: 연간 고장률(AFR) 0.1% ~ 0.2% 수준으로 설계되어, 일반적인 스토리지 수준인 99.8% ~ 99.9%의 내구성(Durability)을 가집니다.
- io2 Block Express: 하드웨어 자체의 다중 미러링 기술 및 스토리지 네트워크 레벨의 고도화된 이중화 덕분에 연간 고장률(AFR)이 0.001% 미만이며, 99.999%(Five-Nines)의 압도적인 내구성을 보장합니다. 중요 데이터의 물리 복제본을 최소화해야 하는 고신뢰성 환경에 적합합니다.
4. 아키텍처적 관점에서의 선택 기준
EBS 볼륨의 단가는 io2가 gp3에 비해 스토리지 용량 단가는 약 1.5배, IOPS 단가는 무려 13배가량 더 비쌉니다.
- gp3를 선택해야 하는 아키텍처 (90% 이상의 워크로드):
- 웹 애플리케이션 서버, 일반 개발 환경, 비정형 데이터 저장소 등.
- 80,000 IOPS 및 2,000 MiB/s 미만의 성능으로 충분히 커버가 가능하고, 간헐적인 미세 지연(1~2ms 수준)이 서비스 품질에 지장을 주지 않는 일반적인 RDBMS 환경.
- io2 Block Express를 선택해야 하는 아키텍처 (극단적 고성능):
- Oracle ASM, SAP HANA, Microsoft SQL Server 등 초고속 트랜잭션을 처리하며 단 1ms의 딜레이도 쿼리 락(Lock) 및 병목을 유발할 수 있는 엔터프라이즈 핵심 DB 서버.
- 단일 볼륨에서 80,000 IOPS 이상 혹은 2,000 MiB/s를 초과하는 극단적인 I/O 대역폭이 필요한 환경.
- 클러스터링 아키텍처 구현을 위해 다수의 EC2 인스턴스가 단일 EBS 볼륨을 공유해야 하는 Multi-Attach 기능이 필수적인 경우.
# 참조
https://www.ernestchiang.com/en/notes/general/aws-srd-scalable-reliable-datagram/
728x90
반응형