06/10 — 스토리지 선택과 수명 주기
이 구간은 접근 인터페이스 → 공유·장애 범위 → 성능 축 → 데이터 수명 순서로 선택을 연결한다.
1. 단순 정의
- 객체 스토리지: 객체 키와 API로 다룬다. S3는 자산, 미디어, 로그와 데이터 레이크에 맞는다.
- 블록 스토리지: 운영체제에 디스크 장치로 제공되어 파일 시스템이나 DB가 블록을 관리한다. EBS는 같은 AZ의 EC2에 연결한다.
- 파일 스토리지: 여러 클라이언트가 디렉터리와 파일 이름을 공유한다. EFS는 NFS, FSx는 특화 파일 시스템을 제공한다.
- Instance Store: EC2 호스트에 직접 연결된 임시 블록 저장소다. 빠른 cache·buffer·scratch처럼 원본에서 재생성할 데이터에 맞는다. Instance Store
- IOPS / 처리량 / 지연 시간: 작은 랜덤 I/O는 IOPS·지연 시간, 큰 순차 I/O는 초당 전송량이 중심이며 저장 용량과 별개다.
- Lifecycle / Intelligent-Tiering: Lifecycle은 정해진 나이에 전환·만료하고, Intelligent-Tiering은 불규칙한 접근을 자동 계층화한다.
2. 결정 축과 관계
첫 번째 축은 접근 방식과 공유 범위다. 객체 키·API는 S3, 운영체제 디스크는 EBS, 공유 경로는 EFS나 FSx다. EBS Multi-Attach는 같은 AZ의 지원 볼륨과 cluster-aware 애플리케이션용이며, 일반 공유 디렉터리는 파일 스토리지로 설계한다. EBS 연결 범위
파일 저장소는 프로토콜과 운영 모델로 좁힌다. NFS는 EFS, SMB·AD·Windows ACL은 FSx for Windows, S3의 HPC·ML 병렬 처리는 FSx for Lustre다. NetApp 다중 프로토콜은 FSx for ONTAP, ZFS·NFS는 FSx for OpenZFS로 연결한다. Amazon FSx 제품군
두 번째 축은 장애 범위와 데이터 수명이다. EBS는 AZ 리소스이고 스냅샷은 리전의 다른 AZ에도 볼륨을 만드는 복구 지점이다. EFS Regional은 여러 AZ에 중복하고 AZ별 mount target을 두며, One Zone은 단일 AZ 범위를 선택한다. Instance Store의 원본·결과는 지속 저장소에 둔다. EFS Regional과 One Zone
세 번째 축은 용량과 성능의 분리다. EBS gp3는 용량과 IOPS·처리량을 독립 조정한다. 지속적인 고랜덤 I/O·낮은 지연은 io2, 큰 순차 데이터를 자주 처리하면 st1, 드물게 처리하면 sc1이다. EFS는 변동량에 Elastic, 알려진 고정량에 Provisioned, 저장량 비례 처리량에 Bursting을 연결한다. EBS 볼륨 유형, EFS 성능
네 번째 축은 접근 빈도·검색 지연·예측 가능성이다. 자주 읽으면 S3 Standard, 장기·비정기지만 즉시 읽으면 Standard-IA, 재생 가능한 단일 AZ 객체는 One Zone-IA다. 매우 드물지만 밀리초 검색이면 Glacier Instant Retrieval, 비동기 아카이브는 Flexible Retrieval·Deep Archive다. 시점이 알려졌으면 Lifecycle, 패턴이 변하면 Intelligent-Tiering을 쓰며 최소 보관 기간·객체 크기·검색·전환 비용도 계산한다. S3 스토리지 클래스
마지막 축은 보호 목적이다. Versioning은 이전 버전을 보존하고 CRR·Object Lock의 전제가 된다. CRR은 리전 간 비동기 사본, Object Lock은 지정 버전의 WORM 보존, Lifecycle은 버전의 이동·만료를 담당한다. S3 복제, S3 Object Lock
3. 아키텍처 적용
사례 A — 여러 AZ의 Linux 애플리케이션 공유 파일
여러 AZ의 EC2 ASG가 EFS Regional을 공유하고 각 AZ의 mount target을 사용한다. 변동 처리량은 Elastic, 접근이 줄어든 파일은 EFS Lifecycle로 IA·Archive에 보낸다.
사례 B — 트랜잭션 데이터와 임시 작업 공간 분리
EC2 운영체제와 일반 데이터는 gp3, 지속적인 고IOPS DB는 io2에 둔다. DLM·AWS Backup으로 스냅샷을 관리하고, 재생성 가능한 변환·cache만 Instance Store에서 처리한다.
사례 C — 미디어 객체의 보존과 비용 수명 주기
원본과 결과는 S3에 둔다. 접근이 불규칙하면 Intelligent-Tiering, 보존 단계가 정해졌으면 Lifecycle을 적용한다. 이전 버전은 Versioning, 지리적 사본은 CRR, 불변 데이터는 Object Lock으로 보존한다.
4. 정답 구조
- 대규모 비정형 데이터와 객체 API → S3 → 키 기반 객체 저장과 자동 확장
- EC2 운영체제·DB의 영구 디스크 → EBS → 같은 AZ에 연결하는 블록 장치
- 범용 블록에서 용량과 성능 독립 조정 → EBS gp3 → IOPS·처리량 별도 설정
- 지속적인 고랜덤 I/O·낮은 지연 → EBS io2 → 프로비저닝된 IOPS
- 여러 AZ의 컴퓨팅이 공유하는 NFS → EFS Regional → 공유 namespace와 AZ별 mount target
- Windows SMB·AD·ACL → FSx for Windows File Server → 네이티브 Windows 파일 기능
- S3 데이터를 병렬 HPC·ML로 처리 → FSx for Lustre → 고처리량 병렬 파일 시스템
- 재생성 가능한 로컬 scratch → Instance Store → 호스트 직접 연결 임시 블록
- 예측하기 어려운 객체 접근 → S3 Intelligent-Tiering → 객체별 자동 계층화
- 정해진 나이의 전환·삭제 → S3 Lifecycle → transition과 expiration 자동화
5. 긍정형 암기표
| 요구사항의 중심 | 올바른 연결 |
|---|---|
| 객체 키·API·대규모 확장 | S3 |
| EC2 범용 영구 블록 | EBS gp3 |
| 지속적인 고랜덤 IOPS | io2 |
| 큰 순차 데이터 처리량 | st1 |
| 여러 AZ의 공유 NFS | EFS Regional |
| Windows SMB·AD | FSx for Windows File Server |
| 병렬 HPC·S3 데이터 처리 | FSx for Lustre |
| 재생성 가능한 로컬 임시 데이터 | Instance Store |
| 불규칙한 객체 접근 패턴 | S3 Intelligent-Tiering |
| 정해진 나이의 전환·만료 | S3 Lifecycle |
다음: 07/10 — 데이터베이스 모델·용량·캐시. 데이터 모델과 접근 패턴을 읽기 분산, 연결 관리, 반복 조회, 용량 변동과 연결한다.