[AWS] EC2 인스턴스 스토리지

silver's avatar
Nov 15, 2025
[AWS] EC2 인스턴스 스토리지

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 125

2. 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 10000

4. 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 └─ 가끔 접근 → sc1

EBS 다중 연결 (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-1234567890abcdef0

AMI (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 IOPS

EFS (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/fstab

EFS 사용 사례

적합한 경우:
  • 콘텐츠 관리 시스템
  • 웹 서버 (공유 콘텐츠)
  • 데이터 분석
  • 미디어 처리 워크플로우
부적합한 경우:
  • 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

silver