
클라우드 환경에서 중요한 결정 중 하나는 업무에 적합한 스토리지 서비스를 선택하는 것이다. AWS는 다양한 워크로드와 요구사항에 맞는 스토리지 옵션을 제공하며, 각 서비스는 고유한 특성과 사용 사례를 지닌다. 다음은 AWS 스토리지 서비스를 실무 관점에서 비교하고, 어떤 상황에 어떤 서비스를 선택해야 하는지를 정리한 내용이다.
스토리지 기본 유형
컴퓨터에는 RAM과 디스크(SSD/HDD)가 있다. RAM은 빠르지만 휘발성이고, 디스크는 느리지만 오래 저장한다.
마찬가지로 클라우드에서도 목적과 특성에 따라 다양한 스토리지가 존재한다.
AWS에서 제공하는 대표적인 스토리지 유형은 다음 세 가지다.
- 파일 스토리지 (File Storage)
- 블록 스토리지 (Block Storage)
- 객체 스토리지 (Object Storage)
파일 스토리지
- 구조: 트리 형태의 계층적 폴더 구조
- 접근 방식: 파일 경로 기반
- Windows에서의 파일 탐색기나 macOS에서의 Finder 같은 방식이다
파일 스토리지는 여러 호스트에서 쉽게 공유 및 관리해야 하는 파일에 대한 중앙 집중식 액세스가 필요한 경우에 적합하다. 일반적으로 이 스토리지는 여러 개의 호스트에 탑재(마운트)된다. 그렇기에 동시에 같은 파일에 여러 사용자가 접근할 수 있기 때문에 파일 잠금 기능이 필요하다. 또, NFS(Network File System), SMB(Server Message Block)처럼 기존 운영체제에서 사용하는 파일 시스템 통신 방식을 그대로 사용할 수 있어야 한다.
사용 사례
-
웹 서비스 (Web Services)
- 여러 웹 서버가 공통의 정적 파일(e.g. 이미지, HTML 파일, CSS 등)을 공유해야 할 때 파일 스토리지를 사용한다
- e.g. 여러 웹 서버가 /assets/ 폴더를 공유해서 동일한 이미지나 리소스를 제공
-
분석 (Analytics)
- 분석 작업(예: 로그 분석, 빅데이터 처리)에서 여러 컴퓨팅 노드가 동일한 데이터셋에 접근해야 할 때 적합하다
- e.g. 여러 분석 서버가 한 디렉토리에 저장된 CSV나 로그 파일을 동시에 읽고 처리
-
미디어 및 엔터테인먼트 (Media & Entertainment)
- 비디오 편집, 애니메이션 렌더링 등에서 고용량 파일(예: 영상, 그래픽 리소스)을 여러 사용자가 함께 작업할 때 유용하다
- e.g. 편집자가 영상 파일을 편집하고, 동시에 이펙트 팀이 해당 파일에 이펙트를 추가함
-
홈 디렉터리 (Home Directories)
- 회사나 연구소에서 각 사용자에게 개인 파일 저장 공간을 제공할 때 사용한다
- 사용자는 어느 컴퓨터로 로그인하더라도 자신의 홈 디렉터리에 저장된 파일을 사용할 수 있다
블록 스토리지
- 구조: 데이터를 고정 크기의 블록으로 분할
- 접근 방식: 각 블록의 주소로 직접 접근
- 하드 디스크와 유사하다
블록 스토리지는 파일을 작은 블록 단위로 쪼개서 저장한다. 어떤 파일의 일부만 수정하더라도, 전체 파일을 다시 저장하지 않고 그 블록만 바꿔주면 되므로 효율적이다. 이러한 액세스 용이성 덕분에 블록 스토리지 솔루션은 전체 파일을 전송하는 방식보다 속도가 빠르며, 네트워크 대역폭도 덜 차지한다. 이로 인해 데이터베이스, 고성능 서버, 트랜잭션 기반 시스템 등에 자주 사용된다.
사용 사례
-
트랜잭션 워크로드 (Transactional Workloads)
- 짧은 지연 시간과 높은 처리량, 내결함성이 요구되는 미션 크리티컬 트랜잭션 처리 시스템에 적합하다
- e.g. 금융 시스템에서 트랜잭션 처리용 데이터베이스를 빠르고 안정적으로 운영
-
컨테이너 (Containers)
- 컨테이너 기반 애플리케이션과 리소스 파일을 클라우드에 저장하고, 서버나 운영 환경 변경 시에도 유연하게 마이그레이션 가능하다
- e.g. Kubernetes 환경에서 애플리케이션 상태 데이터를 블록 스토리지에 저장하여 확장성과 이동성 확보
-
가상 머신 (Virtual Machines)
- VM 하이퍼바이저에서 운영 체제, 애플리케이션, 파일 시스템 등을 블록 단위로 저장하여 확장 및 이동이 용이하다
- e.g. EC2 인스턴스의 루트 볼륨을 블록 스토리지에 저장한 뒤, 다른 호스트로 이전하여 그대로 실행 가능
객체 스토리지
- 구조: 평면 구조 (버킷 내 객체 저장)
- 접근 방식: 고유 식별자 + 메타데이터 기반
- 구글 드라이브와 같은 웹 기반 스토리지 서비스와 비슷하다
객체 스토리지에서는 파일이 객체 단위로 저장된다. 객체는 저장 시 구분된 단일 데이터 단위로 처리된다. 파일 스토리지와 달리, 객체 스토리지는 폴더나 디렉터리 개념이 없는 평면 구조를 사용하며, 버킷(bucket)이라는 공간에 저장된다.
각 객체는 다음과 같은 구성 요소를 가진다.
- 데이터 본문 (Payload)
- 고유 식별자 (ID)
- 메타데이터
이러한 구성은 유연한 확장성과 메타데이터 기반의 검색에 적합하다.
객체 스토리지에 있는 1GB 파일에서 1개의 문자를 변경할 때
- 블록 스토리지: 변경된 문자가 포함된 일부 블록만 업데이트하면 돼서 빠르고 효율적
- 객체 스토리지: 전체 객체(파일 전체)를 다시 업로드해야 해서 오버헤드가 크며, 대용량 파일에서는 비효율적
사용 사례
-
데이터 아카이빙 (Data Archiving)
- 클라우드 객체 스토리지는 대용량 데이터를 장기간 저비용으로 저장하기에 적합하다
- e.g. 온프레미스 테이프/디스크 기반 백업 인프라를 클라우드로 이전하여 내구성 및 접근성을 강화
-
백업 및 복구 (Backup & Restore)
- 객체 스토리지를 구성하여 데이터를 중복 저장 및 복제함으로써, 장애 발생 시에도 중단 없는 복구가 가능하다
- e.g. 데이터가 여러 지역(Region)에 자동으로 복제되어 하나의 리전에서 장애가 나도 서비스 지속 가능
-
리치 미디어 (Rich Media)
- 대용량의 비디오, 이미지, 음악 파일 등 미디어 자산을 효율적으로 저장하고 배포할 수 있다
- e.g. 글로벌 사용자에게 빠르게 콘텐츠를 제공하기 위해 객체 스토리지를 CDN 및 복제 기능과 함께 사용
정리
| 항목 | 파일 스토리지 | 블록 스토리지 | 객체 스토리지 |
|---|---|---|---|
| 접근 방식 | 경로 기반 (/home/user) | 디스크처럼 마운트 | API 기반 |
| 유연성 | 중간 (폴더 기반 공유) | 높음 (마운트, 수정 가능) | 낮음 (전체 업로드 필요) |
| 주요 사용처 | 개발환경, 파일 공유 | EC2, DB | 이미지, 백업 |
Amazon EFS (Elastic File System)
Amazon EFS = Elastic File System
쉽게말해 자동으로 확장/축소가 되는 클라우드 기반 파일 시스템이다.
Elastic이라는 말 그대로, 파일을 더 넣으면 용량이 자동으로 늘어나고, 삭제하면 자동으로 줄어드는
즉, 용량을 미리 정해놓을 필요 없는 파일 시스템이다. 사용자 입장에서는 일반 파일 시스템처럼 마운트해서 사용하면 되며, AWS가 스토리지 용량, 확장성, 고가용성 등을 자동으로 관리한다.
EFS 스토리지 등급
등급은 내구성, 가용성, 비용에 따라 나뉘며, 사용 방식에 맞게 선택하면 된다.
| 등급 | 설명 | 특징 |
|---|---|---|
| EFS Standard | 여러 가용영역(AZ)에 저장 | 높은 가용성 / 내구성, 상대적으로 비쌈 |
| EFS Standard-IA | 위와 동일하나 드물게 접근 | 저렴함 + 고가용성, 자주 접근 시 비효율 |
| EFS One Zone | 하나의 AZ에만 저장 | 비용 절감, 장애 발생 시 리스크 |
| EFS One Zone-IA | One Zone + 비정기 접근 | 제일 저렴, 내구성/가용성 낮음 |
| 즉, 비싼 등급은 안전하고 항상 빠르며, 저렴한 등급은 가끔씩만 사용되는 데이터에 최적화된 구조라고 보면 된다. |
Amazon FSx 제품군
FSx for NetApp ONTAP
클라우드 환경에서도 NetApp ONTAP 파일 시스템을 그대로 사용할 수 있는 완전관리형 서비스이다.
스냅샷, 복제 등 NetApp 고유 기능을 그대로 유지하며, Linux, Windows, macOS 등 다양한 OS에서 접근이 가능하다.
📌 적합한 워크로드
→ 기존에 NetApp을 사용 중인 기업이 클라우드 환경으로 전환하고자 할 때
FSx for OpenZFS
ZFS 기반 NAS 파일 시스템을 AWS 환경에서 완전관리형으로 제공하며, 별도 설정 없이도 빠른 파일 접근 성능과 스냅샷/복제 기능을 제공한다.
지연 시간에 민감하고 작은 파일이 많은 워크로드에 적합하다.
📌 적합한 워크로드
→ 소형 파일을 빠르게 처리해야 하며, Linux 기반 NAS 환경을 클라우드로 옮기고자 할 때
FSx for Windows File Server
SMB 프로토콜을 기반으로 완전한 Windows 네이티브 파일 시스템을 제공하며, Active Directory와 통합된다.
기존 Windows 파일 서버 환경을 클라우드로 전환하는 데 적합하다.
📌 적합한 워크로드
→ Windows 기반 애플리케이션이나 파일 공유 시스템이 필요한 경우
FSx for Lustre
고성능 컴퓨팅(HPC), 머신러닝, 빅데이터 분석 등에 최적화된 병렬 파일 시스템이다.
Amazon S3와의 통합을 통해 대용량 데이터 세트를 빠르게 처리할 수 있다.
📌 적합한 워크로드
→ 초고속 처리 성능이 요구되는 HPC, AI/ML, 렌더링 대규모 데이터 분석 환경
EC2와 블록 스토리지
EC2는 CPU, RAM 등 컴퓨팅 리소스를 제공하는 가상 서버이다. 하지만 스토리지는 따로 붙어야 한다.
아래 두 가지 방식이 있다.
| 유형 | 설명 | 특징 |
|---|---|---|
| 인스턴스 스토어 | EC2 안에 물리적으로 붙은 임시 디스크 | 빠르지만 인스턴스 종료 시 데이터 사라짐 |
| Amazon EBS | EC2 밖에 따로 존재하는 디스크 | 느릴 수 있지만 데이터는 영구 저장 가능 |
즉, EC2에 디스크처럼 붙여 쓸 수 있는 스토리지가 블록 스토리지이고, 그 대표적인 구현이 EBS다.
왜 블록 스토리지를 쓰는가?
- 속도와 유연성
→ 빠른 읽기/쓰기 성능, 디스크처럼 다룰 수 있음 - 운영체제, 데이터베이스 저장소로 적합
→ 파일이 하나 바뀌어도 블록만 수정하면 되니 효율적 - 마운트해서 바로 사용 가능
→ EC2가 부팅되려면 디스크가 필요하니, 블록 스토리지가 필요
EC2 인스턴스 스토어
EC2 인스턴스에 물리적으로 연결된 디스크이다.
인스턴스의 수명과 연동된다 → 인스턴스를 종료하면 데이터도 함께 삭제됨
- 고속, 저지연
- 영속성 없음(임시 저장소)
📌 적합한 워크로드
- 캐시, 버퍼, 스크래치 데이터
- Hadoop
Amazon EBS
EC2 인스턴스에 연결 가능한 외장 드라이브형 블록 스토리지이다.
인스턴스와 분리되어 독립적인 스토리지로 동작한다.
스냅샷, 암호화, 크기 조정, 다양한 기능을 제공한다.
📌 적합한 워크로드
- 운영체제 디스크
- 데이터베이스 스토리지
- 엔터프라이즈 애플리케이션
- 빅데이터 분석 처리
EBS 볼륨 유형
| 유형 | 스토리지 | 특징 | 적합한 작업 |
|---|---|---|---|
| gp3 (SSD) | 범용 | 균형 잡힌 성능/가격 | 일반 애플리케이션 |
| io1 / io2 (SSD) | 고성능 | 최대 IOPS 제공 | 데이터베이스, 트랜잭션 |
| st1 (HDD) | 처리량 최적화 | 대규모 순차 처리 | 빅데이터, 로그 저장 |
| sc1 (HDD) | 콜드 데이터 | 저가형, 비정기 접근 | 백업, 보관용 데이터 |
주요 이점
| 항목 | 설명 |
|---|---|
| 고가용성 | 동일 AZ 내 자동 복제 |
| 지속성 | 인스턴스 중지/종료에도 데이터 유지 |
| 암호화 | 사용자 설정에 따라 전송 및 저장 시 암호화 |
| 유연성 | 실행 중에도 크기, 성능 조정 가능 |
| 백업 | 증분 백업(EBS 스냅샷), 자동화 가능 |
EBS 스냅샷
-
변경된 블록만 저장하는 증분 백업 → EBS 스냅샷은 증분 방식으로 동작한다
즉, 마지막 스냅샷 이후 변경된 블록만 저장하기 때문에 백업 시간도 짧고 저장 비용도 절약된다.
e.g. 처음 스냅샷은 전체 백업되지만, 그 이후엔 변경된 부분만 저장됨 -
Amazon S3에 자동 저장되고 멀티 AZ에 중복 저장된다
EBS 스냅샷은 내부적으로 Amazon S3에 저장된다 (그렇다고 사용자가 직접 S3를 다룰 필요는 없다)
그리고 멀티 가용 영역에 자동으로 중복 저장되어 높은 내구성과 가용성을 확보한다
즉, 하나의 AZ에 장애가 생겨도 스냅샷은 안전하다 -
새로운 볼륨을 생성하거나 복원할 수 있다
스냅샷은 단순한 백업만이 아니라,
→ 새로운 EBS 볼륢을 만들거나
→ 기존 볼륨을 복원하는 데에도 사용된다
여러 AZ 또는 리전에도 복사 가능하기 때문에 DR(재해 복구), 마이그레이션, 테스트용 복제본 생성 등에 활용된다
S3와 객체 스토리지
Amazon S3(Simple Storage Service)는 AWS의 대표적인 객체 스토리지 서비스다.
객체 스토리지는 파일을 객체 단위로 저장하며, 각 객체는 다음 3가지 요소로 구성된다.
- 데이터
- 메타데이터
- 고유 키
S3는 디렉터리 구조가 아닌 평면 구조를 가지며, 모든 객체는 버킷(bucket)이라는 컨테이너에 저장된다.
S3 특징
| 항목 | 설명 |
|---|---|
| 평면 구조 | 폴더처럼 보이지만 실제로는 키 접두사(prefix)로 구분 |
| 무제한 확장성 | 사실상 제한 없는 저장 가능 |
| 높은 내구성 | 99.9% 보장 |
| 퍼블릭 혹은 프라이빗 설정 가능 | 기본은 비공개, 필요 시 공개 가능 |
| API 기반 접근 | 웹/앱에서 간단하게 업로드/다운로드 가능 |
S3 스토리지 등급
| 등급 | 특징 | 사용 예 |
|---|---|---|
| S3 Standard | 자주 접근, 빠른 응답 | 앱 리소스, 웹사이트 |
| S3 Standard-IA | 가끔 접근, 빠른 복원 | 백업, 로그 저장 |
| S3 One Zone-IA | 한 개 AZ만 저장, 더 저렴 | 재생성 가능한 백업 |
| S3 Intelligent-Tiering | 자동 계층 전환 | 접근 패턴 예측 어려운 데이터 |
| S3 Glacier | 장기 보관, 느린 복구 | 오래된 데이터 아카이빙 |
| S3 Glacier Deep Archive | 비용 최소화, 복구 12시간 | 규제용 장기 저장 |
| S3 on Outposts | 온프레미스용 S3 | 지연 민감한 로컬 워크로드 |
S3 보안과 정책
- 기본은 비공개이며, 객체/버킷 단위로 권한 설정 가능
- 권한 부여 방법:- IAM 정책
- S3 버킷 정책
- 객체 ACL
- 암호화:
- S3 관리형 키(SSE-S3)
- KMS 키(SSE-KMS) 등
버전 관리와 수명주기 정책
버전 관리
- 같은 파일명을 덮어써도 이전 버전 보존
- 실수로 덮어쓴 객체도 복구 가능
수명 주기 관리
- 객체를 특정 시점에 다른 스토리지 등급으로 자동 전환하거나 삭제
- e.g. 업로드 30일 후 IA 전환 → 180일 후 Glacier로 전환
스토리지 정리표
| 항목 | 유형 | 대표 사용 사례 | 특징 |
|---|---|---|---|
| Amazon S3 | 객체 스토리지 | 미디어, 백업, 정적 웹 | 무제한, 고내구성, 저렴 |
| Amazon EBS | 블록 스토리지 | DB, 부트 디스크 | 고성능, 고내구성 |
| EC2 인스턴스 스토어 | 임시 블록 스토리지 | 캐시, 버퍼 | 빠름, 휘발성, EC2 종속 |
| Amazon EFS | 파일 스토리지 | 워드프레스, 다중 EC2 | 공유 가능, 탄력적 |
| Amazon FSx | 고급 파일 스토리지 | 고성능, 기존 시스템 호환 | NetApp, Windows 등 지원 |
이 글은 AWS Skill Builder의 AWS Technical Essentials 강의를 토대로 공부한 내용을 정리한 것입니다.