EBS (Elastic Block Store)
- EC2 인스턴스에 연결하는 네트워크 드라이브
- 데이터가 영구적으로 저장됨
- 인스턴스와 독립적으로 존재
- 단일 AZ에 국한됨
EBS의 주요 특징
1. 네트워크 기반
EC2 Instance ←──── 네트워크 ────→ EBS Volume
(AZ-A) (AZ-A)- 약간의 지연시간 발생
- 물리적으로 분리되어 있음
2. 독립성
- 인스턴스 종료 시에도 EBS는 유지 가능
Delete on Termination옵션으로 제어
- 루트 볼륨: 기본적으로 삭제됨
- 추가 볼륨: 기본적으로 유지됨
3. AZ 제한
❌ 불가능:
EC2 (ap-northeast-2a) ← EBS (ap-northeast-2c)
✅ 가능:
EBS 스냅샷 생성 → 다른 AZ에서 복원EBS 볼륨 타입
1. gp3 (범용 SSD) ⭐ 가장 많이 사용
- 기본 성능: 3,000 IOPS, 125 MB/s
- 최대 성능: 16,000 IOPS, 1,000 MB/s
- 독립적으로 IOPS와 처리량 조정 가능
가격: ~$0.08/GB/월
사용
- 대부분의 워크로드
- 부팅 볼륨
- 개발/테스트 환경
- 중간 규모 데이터베이스
# gp3 볼륨 생성
aws ec2 create-volume \
--availability-zone ap-northeast-2a \
--size 100 \
--volume-type gp3 \
--iops 3000 \
--throughput 1252. gp2 (이전 세대 범용 SSD)
- 크기에 비례하여 IOPS 증가 (GiB당 3 IOPS)
- 100 GiB = 300 IOPS
- 5,334 GiB 이상 = 16,000 IOPS (최대)
- 버스트 가능 (최대 3,000 IOPS)
*신규 생성 시 gp3 사용 권장
3. io2 Block Express (프로비저닝 IOPS SSD)
- 최대 256,000 IOPS (AWS에서 가장 높음)
- 최대 4,000 MB/s 처리량
- 크기와 무관하게 IOPS 지정
- 99.999% 내구성
가격: ~$0.125/GB/월 + $0.065/IOPS/월
사용
- 미션 크리티컬 데이터베이스
- Oracle, SQL Server, MongoDB
- 높은 IOPS가 지속적으로 필요한 워크로드
# io2 볼륨 생성
aws ec2 create-volume \
--availability-zone ap-northeast-2a \
--size 100 \
--volume-type io2 \
--iops 100004. st1 (처리량 최적화 HDD)
- 최대 500 MB/s 처리량
- 최대 500 IOPS
- 부팅 볼륨으로 사용 불가
가격: ~$0.045/GB/월 (SSD 대비 저렴)
사용
- 빅데이터 처리
- 데이터 웨어하우스
- 로그 처리
- 순차 읽기/쓰기가 많은 워크로드
5. sc1 (Cold HDD)
특징
- 최대 250 MB/s 처리량
- 최대 250 IOPS
- 가장 저렴한 옵션
가격: ~$0.015/GB/월
사용
- 자주 접근하지 않는 데이터
- 아카이빙
- 백업 저장소
EBS 볼륨 타입 선택 가이드
높은 IOPS 필요?
├─ Yes → SSD
│ ├─ 16,000 IOPS 이하 → gp3
│ └─ 16,000 IOPS 초과 → io2
└─ No → HDD
├─ 자주 접근 → st1
└─ 가끔 접근 → sc1EBS 다중 연결 (Multi-Attach)
io2 볼륨만 지원
┌─────────────┐
│ EC2 Instance│ ─┐
│ #1 │ │
└─────────────┘ │
├──→ [EBS io2 Volume]
┌─────────────┐ │
│ EC2 Instance│ ─┘
│ #2 │
└─────────────┘사용 조
- 최대 16개 인스턴스 동시 연결
- 동일 AZ 내에서만 가능
- 클러스터링 지원 파일 시스템 필요 (GFS2, OCFS2)
사용 사례
- Teradata
- 고가용성 클러스터 애플리케이션
EBS 스냅샷 (Snapshot)
개념
- EBS 볼륨의 특정 시점 백업
- S3에 저장 (사용자에게는 보이지 않음)
- 증분 백업 (변경된 블록만 저장)
스냅샷 생성 및 복원
# 스냅샷 생성
aws ec2 create-snapshot \
--volume-id vol-1234567890abcdef0 \
--description "Daily backup"
# 스냅샷 목록 조회
aws ec2 describe-snapshots --owner-ids self
# 스냅샷으로부터 볼륨 생성
aws ec2 create-volume \
--availability-zone ap-northeast-2c \
--snapshot-id snap-1234567890abcdef0
# 스냅샷 복사 (다른 리전으로)
aws ec2 copy-snapshot \
--source-region ap-northeast-2 \
--source-snapshot-id snap-1234567890abcdef0 \
--destination-region us-east-1스냅샷 아카이브
일반 스냅샷
- 가격: ~$0.05/GB/월
- 복원: 즉시
아카이브된 스냅샷
- 가격: ~$0.0125/GB/월 (75% 절감)
- 복원: 24~72시간 소요
# 스냅샷 아카이브
aws ec2 modify-snapshot-tier \
--snapshot-id snap-1234567890abcdef0 \
--storage-tier archive
# 아카이브에서 복원
aws ec2 restore-snapshot-tier \
--snapshot-id snap-1234567890abcdef0휴지통 (Recycle Bin)
실수로 삭제한 스냅샷을 복구할 수 있는 기능
보관 기간: 1일 ~ 1년
# 휴지통 규칙 생성
aws rbin create-rule \
--resource-type EBS_SNAPSHOT \
--retention-period RetentionPeriodValue=7,RetentionPeriodUnit=DAYS \
--description "Keep deleted snapshots for 7 days"Fast Snapshot Restore (FSR)
- 스냅샷에서 복원한 볼륨을 즉시 초기화
- 첫 액세스 시 지연 없음
- AZ당 시간당 과금
- 비용이 높으므로 중요한 용도만 사용
# FSR 활성화
aws ec2 enable-fast-snapshot-restores \
--availability-zones ap-northeast-2a ap-northeast-2c \
--source-snapshot-ids snap-1234567890abcdef0AMI (Amazon Machine Image)
- EC2 인스턴스의 전체 이미지
- OS, 애플리케이션, 설정 포함
- 동일한 구성의 인스턴스를 빠르게 생성
AMI 생성 과정
EC2 Instance
↓ Create Image
EBS Snapshots ────→ AMI
↓ Launch Instance
New EC2 Instance(s)AMI 생성 및 사용
# AMI 생성
aws ec2 create-image \
--instance-id i-1234567890abcdef0 \
--name "MyWebServer-v1.0" \
--description "Web server with Nginx configured" \
--no-reboot
# AMI로 인스턴스 시작
aws ec2 run-instances \
--image-id ami-1234567890abcdef0 \
--instance-type t3.micro \
--count 5
# AMI 복사 (다른 리전)
aws ec2 copy-image \
--source-region ap-northeast-2 \
--source-image-id ami-1234567890abcdef0 \
--region us-east-1 \
--name "MyWebServer-v1.0-US"AMI 공유
1. 퍼블릭 AMI
- 모든 AWS 계정에서 사용 가능
- AWS Marketplace에서 판매 가능
2. 프라이빗 AMI
- 특정 AWS 계정에만 공유
- 조직 내 팀 간 공유
# AMI를 특정 계정과 공유
aws ec2 modify-image-attribute \
--image-id ami-1234567890abcdef0 \
--launch-permission "Add=[{UserId=123456789012}]"EC2 Instance Store
- 인스턴스에 물리적으로 연결된 임시 스토리지
- 호스트 서버의 디스크 직접 사용
- 매우 높은 I/O 성능
EBS vs Instance Store
특성EBSInstance Store지속성영구임시 (인스턴스 종료 시 삭제)성능높음매우 높음크기 조정가능불가능 (고정)백업스냅샷수동으로 복사 필요비용별도 과금인스턴스 가격 포함
Instance Store 사용 사례
적합한 경우:
- 캐시
- 임시 버퍼
- 스크래치 데이터
- 높은 IOPS가 필요한 데이터베이스 (로컬 복제본)
부적합한 경우:
- 영구 저장이 필요한 데이터
- 장기 보관 데이터
- 백업
Instance Store 성능
인스턴스 타입별 성능 예시:
- i3.large: 206,250 IOPS
- i3.2xlarge: 412,500 IOPS
- i3.16xlarge: 3,300,000 IOPSEFS (Elastic File System)
개념
- 관리형 NFS (Network File System)
- 여러 EC2 인스턴스가 동시에 마운트 가능
- 리눅스 전용 (Windows 지원 안 됨)
EBS vs EFS
EBS:
EC2 Instance ──→ EBS Volume
(1:1 관계, 단일 AZ)
EFS:
┌─────────────┐
│ EC2 (AZ-A) │ ─┐
└─────────────┘ │
├──→ [EFS File System]
┌─────────────┐ │ (다중 AZ)
│ EC2 (AZ-C) │ ─┘
└─────────────┘EFS 스토리지 클래스
1. Standard (자주 액세스)
- 가격: ~$0.30/GB/월
- 밀리초 단위 지연시간
2. Infrequent Access (IA)
- 가격: ~$0.025/GB/월 (90% 절감)
- 검색 비용: $0.01/GB
- 30일 이상 미접근 파일 자동 이동 가능
EFS 성능 모드
1. General Purpose (기본)
- 지연시간에 민감한 워크로드
- 웹 서버, CMS, 개발 환경
2. Max I/O
- 높은 처리량
- 빅데이터, 미디어 처리
EFS 처리량 모드
1. Bursting (기본)
- 저장 크기에 비례하여 처리량 증가
- 1 TB = 50 MB/s
- 버스트 크레딧으로 최대 100 MB/s
2. Provisioned
- 저장 크기와 무관하게 처리량 지정
- 작은 파일 시스템에서 높은 처리량 필요 시
EFS 마운트
# EFS 생성
aws efs create-file-system \
--performance-mode generalPurpose \
--throughput-mode bursting \
--encrypted
# EFS 마운트 타겟 생성
aws efs create-mount-target \
--file-system-id fs-1234567890abcdef0 \
--subnet-id subnet-12345678 \
--security-groups sg-12345678
# EC2 인스턴스에서 마운트
sudo yum install -y amazon-efs-utils
sudo mount -t efs fs-1234567890abcdef0:/ /mnt/efs
# /etc/fstab에 추가 (재부팅 후에도 유지)
echo "fs-1234567890abcdef0:/ /mnt/efs efs defaults,_netdev 0 0" | sudo tee -a /etc/fstabEFS 사용 사례
적합한 경우:
- 콘텐츠 관리 시스템
- 웹 서버 (공유 콘텐츠)
- 데이터 분석
- 미디어 처리 워크플로우
부적합한 경우:
- Windows 환경
- 높은 IOPS가 필요한 데이터베이스
- 단일 인스턴스만 사용
스토리지 비교
성능 비교
IOPS 기준:
Instance Store > io2 > gp3 > st1 > sc1 > EFS
가격 기준:
sc1 < st1 < EFS IA < gp3 < EFS < io2 < Instance Store (무료)EC2 인스턴스 스토리지는 워크로드 특성에 맞춰 선택!!!
- EBS: 영구 블록 스토리지, 단일 인스턴스 연결
- Instance Store: 임시 고성능 스토리지
- EFS: 공유 파일 시스템, 다중 인스턴스 지원
- 스냅샷으로 백업 및 재해 복구 대비
- 비용과 성능을 고려한 최적의 선택
Share article