EBS는 EC2에 붙이는 영구 블록 스토리지(네트워크 디스크)입니다. AZ 범위 자원이며, 스냅샷으로 백업/복원하고 암호화/KMS를 지원
1) 핵심 포인트
- 블록 스토리지: OS 디스크/DB 데이터 파일 등 파일시스템을 올려 쓰는 용도
- AZ-Scoped: 생성된 AZ에서만 인스턴스에 부착 가능(다른 AZ/Region 이동은 스냅샷→복원)
- 유지/독립: 인스턴스 중지/종료와 분리되어 데이터 유지(종료 시 삭제 옵션 해제 권장)
- 성능 선택: 범용 SSD(gp3/gp2), 프로비저닝 IOPS SSD(io1/io2), 처리량 HDD(st1), 콜드 HDD(sc1)
- 암호화: KMS 기반 암호화 at-rest & in-transit(동일 계정/리전 내 I/O 구간 포함), 기본 암호화 설정 가능
- 스냅샷: 증분 백업, 애플리케이션 정합성은 프리즈(예: LVM/fsfreeze) 후 스냅샷 권장
2) 볼륨 타입 요약(사용처)
- gp3 (권장 기본): 비용 효율 좋은 일반 목적 SSD. 용량과 성능( IOPS/Throughput ) 독립 조정 → 대부분 워크로드 기본값
- gp2: 용량에 비례해 IOPS가 결정(버스트). 레거시/기존 시스템 호환
- io1/io2: 지연 민감·고IOPS DB/미션크리티컬. 프로비저닝 IOPS 보장, (io1/io2) Multi-Attach 지원(동일 AZ, 특정 인스턴스/OS 제약)
- st1: 대용량 Seq. 처리량(로그 처리, 빅데이터)
- sc1: 저빈도, 콜드 데이터(비용 최저)
팁: 정확한 최대치(IOPS/MB/s, Multi-Attach 인원수 등)는 인스턴스/리전/타입에 따라 달라질 수 있어요. 설계 시 최신 문서를 확인해 주세요.
실무 기본값은 gp3 → 필요 시 IOPS/MB/s만 올려 쓰는 패턴.
3) 성능 설계 체크리스트
- gp3: 기본 포함 IOPS/처리량을 확인하고 필요치만 늘림(비용 절감)
- io1/io2: 지연·일관성이 최우선인 DB(OLTP 등). EBS 대역폭은 인스턴스(ENI/Nitro) 스펙 영향도 큼
- 스루풋 병목: 큰 파일 순차 I/O는 st1 또는 gp3 처리량 확장 고려
- RAID0(스트라이핑): 같은 타입 볼륨 여러 개를 mdadm/RAID0로 묶어 처리량 향상(내결함성은 없음)
- 파일시스템 튜닝: XFS 권장, 큐깊이/스케줄러,
fio로 벤치마크
- Burst(버스트 크레딧): gp2/st1/sc1은 버스트 모델 → 지속 부하엔 맞지 않을 수 있음
4) 스냅샷/백업
- 증분/포인트인타임: 이전 스냅샷 대비 변경 블록만 저장 → 저장비용 절감
- 복구: 스냅샷으로 같은/다른 AZ/Region에 새 볼륨 복원
- 정합성: 애플리케이션 일관성이 필요하면 DB 퀘스/파일시스템 프리즈 후 스냅샷
- 수명주기 자동화: Amazon DLM(EBS Snapshot Lifecycle Policy) 로 스케줄 백업/보존
- 암호화 승계: 암호화된 볼륨→스냅샷→복원 시 암호화 상태/키 정책 고려
5) 보안/암호화
- EBS 암호화: KMS CMK로 자동 암호화. 기본 암호화(Account/Region 단위) 활성화 권장
- 스냅샷 공유/복사: 다른 계정/리전으로 스냅샷 공유/복사 시 KMS 권한과 키 교체 주의
6) 과금
- 볼륨: GB-월(타입별 단가) + (필요 시) 프로비저닝 IOPS/처리량 요금
- 스냅샷: 저장 용량(증분), 리전 간 복사 시 전송/요금
- 추가 옵션: Fast Snapshot Restore(FSR)(AZ/스냅샷 시간당 과금) 등
7) EBS vs Instance Store vs EFS
- EBS: 네트워크 연결 블록. 지속성 有, AZ 범위, 일반 OS/DB 디스크
- Instance Store: 로컬 NVMe(에페멀). 재부팅 OK/종료 시 데이터 유실, 초저지연
- EFS: NFS 공유 파일시스템(다수 EC2 동시 탑재). 파일 잠금/디렉토리 공유 등 POSIX 공유가 필요할 때
8) CLI 예시(기본 작업)
aws ec2 create-volume \
--availability-zone ap-northeast-2a \
--size 200 \
--volume-type gp3 \
--iops 6000 \
--throughput 300
aws ec2 attach-volume \
--volume-id vol-0abc1234def567890 \
--instance-id i-0123456789abcdef0 \
--device /dev/sdf
aws ec2 modify-volume \
--volume-id vol-0abc1234def567890 \
--size 500 \
--iops 8000 \
--throughput 500
aws ec2 create-snapshot \
--volume-id vol-0abc1234def567890 \
--description "nightly-backup"
aws ec2 create-volume \
--availability-zone ap-northeast-2b \
--snapshot-id snap-0123abcd4567efgh \
--volume-type gp3
주의: 온라인 확장 후 OS에서 파티션/파일시스템 확장(예: growpart, xfs_growfs)이 추가로 필요
9) SAA 시험 포인트 체크
10) 트러블슈팅 빠른 팁
- 지연/성능 낮음: 인스턴스 EBS 대역폭 한도 확인 → 타입 상향 또는 RAID0/성능 조정
- 스냅샷 복구 느림: FSR 고려(복원 직후 콜드 블록 페널티 감소)
- DB 정합성: 애플리케이션 프리즈/플러시 후 스냅샷
- 암호화 오류: KMS 정책/키 권한 점검
결론
대부분의 일반 워크로드는 gp3로 시작해 필요 IOPS/MB/s만 보강하는 게 비용효율·운영 단순성 측면에서 최적. 고IOPS/지연 민감 DB는 io1/io2, 대용량 순차 처리는 st1을 고려