객체 스토리지
더 많은 작업
- Object Storage; 오브젝트 스토리지; 객체 스토리지
- 데이터를 고유 식별자(키)와 메타데이터를 가진 객체 단위로 평평한 주소 공간에 저장하고 HTTP 기반 API로 통째로 읽고 쓰는 스토리지 방식
객체 스토리지는 디렉터리 계층이나 디스크 블록 주소 대신, 데이터 덩어리 하나하나를 객체로 보고 고유한 키로 찾는다. 객체에는 데이터 본문과 함께 생성 시각, 콘텐츠 유형, 사용자가 붙인 태그 같은 메타데이터가 같이 저장된다. 객체 일부를 고쳐 쓰는 대신 객체 전체를 새로 올리는 방식이라 잦은 수정에는 약하지만, 저장 용량을 사실상 무한히 늘릴 수 있고 웹에서 바로 접근하기 쉬워 클라우드 시대의 기본 저장소가 되었다.
스토리지는 데이터를 다루는 단위에 따라 블록, 파일, 객체 세 가지로 나눈다. 같은 데이터라도 어느 방식으로 저장하느냐에 따라 성능, 공유 방법, 비용, 확장성이 크게 달라지므로 클라우드 설계에서는 먼저 이 구분부터 해야 한다.

| 구분 | 블록 스토리지 | 파일 스토리지 | 객체 스토리지 |
|---|---|---|---|
| 접근 단위 | 고정 크기 블록 | 파일(디렉터리 계층 안의 경로) | 객체(키로 식별) |
| 접근 방식·프로토콜 | 운영체제가 디스크로 인식. iSCSI, 파이버 채널, NVMe | 네트워크 파일 공유. NFS, SMB | HTTP 기반 REST API(GET, PUT, DELETE) |
| 구조 | 구조 없음. 그 위에 파일 시스템이나 DB가 구조를 만든다 | 계층형 디렉터리 | 평평한 이름 공간(접두사로 폴더처럼 흉내) |
| 메타데이터 | 거의 없음 | 파일 시스템 고정 속성(이름, 크기, 권한, 시각) | 시스템 메타데이터와 사용자 정의 메타데이터를 풍부하게 저장 |
| 수정 | 블록 단위 부분 갱신 가능 | 파일 일부 갱신 가능, 파일 잠금 지원 | 객체 전체를 다시 써야 함 |
| 공유 | 보통 서버 한 대가 독점 | 여러 클라이언트가 동시에 마운트 | 권한만 있으면 어디서나 API로 접근 |
| 확장성 | 볼륨 크기 한도 안에서 확장 | 파일 시스템 한도 안에서 확장 | 사실상 무제한, 수평 확장 쉬움 |
| 성능 특징 | 지연 가장 낮음, IOPS 중요 | 중간, 공유와 일관성 처리 비용 | 처리량은 크지만 요청당 지연이 상대적으로 큼 |
| 대표 용도 | OS 부트 디스크, 관계형 데이터베이스, 트랜잭션 시스템 | 공유 폴더, 홈 디렉터리, 콘텐츠 관리, 여러 서버가 쓰는 애플리케이션 데이터 | 백업·아카이브, 이미지·동영상, 정적 웹 콘텐츠, 로그, 데이터 레이크 |
| 온프레미스 예 | SAN, 서버 내장 디스크 | NAS, 파일 서버 | 객체 스토리지 어플라이언스, S3 호환 스토리지 |
| AWS 예 | 아마존 EBS, EC2 인스턴스 스토어 | 아마존 EFS, 아마존 FSx | 아마존 S3 |
블록 스토리지는 데이터를 같은 크기의 블록으로 쪼개 각 블록에 주소를 붙여 저장한다. 서버 운영체제는 이를 물리 디스크처럼 인식하고, 그 위에 파일 시스템을 만들거나 데이터베이스가 직접 블록을 관리한다. 블록 하나만 골라 읽고 쓸 수 있어 작은 임의 I/O가 많은 트랜잭션 처리에 가장 빠르다. 대신 메타데이터가 거의 없고, 일반 파일 시스템을 올린 경우 여러 서버가 동시에 같은 볼륨을 쓰기 어렵다. 온프레미스에서는 SAN으로 스토리지 장비의 볼륨을 서버에 제공하고, AWS에서는 아마존 EBS 볼륨을 EC2 인스턴스에 연결한다. 성능은 주로 IOPS, 처리량, 지연 시간으로 표현한다.
파일 스토리지는 데이터를 파일로 저장하고 폴더와 하위 폴더의 계층 구조로 정리한다. 사용자와 애플리케이션은 경로(/share/reports/2026.xlsx)로 파일을 찾고, NFS나 SMB 같은 네트워크 파일 프로토콜로 여러 클라이언트가 같은 파일 시스템을 동시에 마운트한다. 파일 잠금과 권한 모델이 있어 여러 사람이 함께 쓰는 공유 폴더에 익숙한 방식이다. 온프레미스의 NAS가 대표적이며, AWS에서는 리눅스용 NFS 파일 시스템인 아마존 EFS와 윈도우·Lustre·NetApp ONTAP·OpenZFS 파일 시스템을 제공하는 아마존 FSx가 이 역할을 한다. 파일 수와 디렉터리 깊이가 커질수록 메타데이터 처리가 병목이 되기 쉽다.
- 평평한 이름 공간: 버킷(컨테이너) 안의 객체는 계층 없이 키로만 구분된다.
photos/2026/a.jpg같은 키의 슬래시는 화면에서 폴더처럼 보여 줄 뿐이다. - 풍부한 메타데이터: 객체마다 메타데이터와 태그를 달아 검색, 수명 주기 관리, 접근 제어, 분석에 활용한다.
- API 접근: 마운트하지 않고 HTTP 요청으로 다룬다. 웹 브라우저, 모바일 앱, 서버리스 함수, 분석 엔진이 모두 같은 방식으로 접근한다.
- 높은 내구성과 확장성: 데이터를 여러 장비와 시설에 나눠 중복 저장하는 구조라 대용량을 싸게, 오래 보관하기 좋다.
- 계층형 비용 구조: 접근 빈도에 따라 저장 등급을 나눠 오래된 데이터를 싼 계층으로 옮긴다. AWS의 예는 아마존 S3 스토리지 클래스이다.
| 요구 | 맞는 방식 |
|---|---|
| 서버 한 대의 OS 디스크, DB 데이터 파일, 짧은 지연의 임의 I/O | 블록 스토리지 |
| 여러 서버가 같은 파일을 동시에 읽고 쓰기, 기존 애플리케이션의 파일 경로 유지 | 파일 스토리지 |
| 대용량 비정형 데이터, 웹으로 직접 배포, 백업·아카이브, 분석용 원본 | 객체 스토리지 |
- 문제에 "공유 파일 시스템", "여러 인스턴스가 동시에 마운트"가 나오면 파일 스토리지(EFS, FSx), "고성능 단일 인스턴스 DB 디스크"면 블록 스토리지(EBS), "무제한 용량, 정적 콘텐츠, 백업, 데이터 레이크"면 객체 스토리지(S3)를 고른다.
- 리눅스 NFS 공유는 EFS, 윈도우 SMB 공유는 FSx for Windows File Server로 구분한다.
- 객체 스토리지는 마운트해서 블록 단위로 고쳐 쓰는 용도가 아니다. 데이터베이스 파일을 S3에 직접 올려 운영하는 선택지는 오답이다.
- 사내 애플리케이션이 파일·블록 인터페이스를 유지한 채 뒤쪽 저장소만 객체 스토리지로 바꾸려면 AWS Storage Gateway를 쓴다.
- 블록 스토리지, 파일 스토리지, 객체 스토리지 - 데이터 스토리지 서비스 간의 차이점 – AWS
- 객체 스토리지란 무엇인가요? – AWS
- 블록 스토리지란 무엇인가요? – AWS
- 클라우드 파일 스토리지란 무엇인가요? – AWS