아마존 S3 스토리지 클래스
더 많은 작업
- Amazon S3 Storage Classes; S3 스토리지 클래스
- 아마존 S3 객체마다 지정하는 저장 등급으로, 접근 빈도·검색 시간·가용 영역 수에 따라 저장 단가와 검색 비용이 달라진다
S3의 모든 객체는 스토리지 클래스를 하나 가진다. 업로드할 때 지정하지 않으면 S3 Standard가 된다. 자주 읽는 데이터는 저장 단가가 비싸도 검색 비용이 없는 클래스에, 거의 읽지 않는 데이터는 저장 단가가 싸지만 최소 저장 기간과 검색 요금이 붙는 클래스에 둔다. 시험의 비용 최적화 문제는 대부분 "접근 패턴이 이러이러할 때 가장 싼 클래스는?"을 묻는다.
모든 클래스의 설계 내구성은 99.999999999%(11 nine)로 같다. 차이는 가용성, 저장되는 가용 영역 수, 최소 저장 기간, 최소 과금 객체 크기, 검색 시간과 요금에서 난다.

| 클래스 | 용도 | 가용성(설계) | 가용 영역 | 최소 저장 기간 | 최소 과금 크기 | 검색 |
|---|---|---|---|---|---|---|
| S3 Standard | 자주 접근하는 데이터(월 1회 초과) | 99.99% | 3개 이상 | 없음 | 없음 | 밀리초, 검색 요금 없음 |
| S3 Intelligent-Tiering | 접근 패턴을 모르거나 바뀌는 데이터 | 99.9% | 3개 이상 | 없음 | 없음(128KB 미만은 자동 계층화 대상 아님) | 밀리초(선택형 아카이브 계층은 복원 필요). 검색 요금 없음, 객체당 모니터링 요금 |
| S3 Standard-IA | 오래 보관하며 월 1회 정도 접근 | 99.9% | 3개 이상 | 30일 | 128KB | 밀리초, GB당 검색 요금 |
| S3 One Zone-IA | 다시 만들 수 있는, 드물게 접근하는 데이터 | 99.5% | 1개 | 30일 | 128KB | 밀리초, GB당 검색 요금 |
| S3 Express One Zone | 지연 시간에 민감한 고성능 처리 | 99.95% | 1개(직접 선택) | 없음 | 없음 | 한 자릿수 밀리초, 디렉터리 버킷 사용 |
| S3 Glacier Instant Retrieval | 분기 1회 정도 접근하는 아카이브 | 99.9% | 3개 이상 | 90일 | 128KB | 밀리초, GB당 검색 요금 |
| S3 Glacier Flexible Retrieval | 연 1회 정도 접근, 몇 분~몇 시간 대기 가능 | 99.99%(복원 후) | 3개 이상 | 90일 | 해당 없음(객체당 40KB 메타데이터 과금) | 복원 필요: 신속 1~5분, 표준 3~5시간, 대량 5~12시간 |
| S3 Glacier Deep Archive | 연 1회 미만 접근하는 장기 보관 | 99.99%(복원 후) | 3개 이상 | 180일 | 해당 없음(객체당 40KB 메타데이터 과금) | 복원 필요: 표준 12시간 이내, 대량 48시간 이내 |
- 최소 저장 기간 전에 지우거나 덮어쓰거나 다른 클래스로 옮겨도 남은 기간만큼 요금이 나온다.
- One Zone-IA와 Express One Zone을 뺀 클래스는 가용 영역 하나가 통째로 사라져도 데이터가 남도록 설계되었다.
- Reduced Redundancy Storage(RRS)는 아직 남아 있지만 AWS가 사용을 권장하지 않는 클래스이다. Standard가 더 싸다.
객체별 접근 기록을 보고 계층을 자동으로 옮겨 주는 클래스이다. 성능 저하나 운영 작업 없이 비용을 줄이며, 검색 요금이 없는 대신 객체당 소액의 모니터링·자동화 요금을 낸다.
- 기본 계층: 업로드 직후 빈번한 접근(Frequent Access), 30일 연속 접근이 없으면 드문 접근(Infrequent Access), 90일 연속 접근이 없으면 아카이브 즉시 접근(Archive Instant Access)으로 내려간다. 세 계층 모두 밀리초로 읽힌다.
- 선택 계층: 켜면 90일 이상 접근 없는 객체는 아카이브 접근(Archive Access), 180일 이상은 딥 아카이브 접근(Deep Archive Access)으로 옮긴다. 이 두 계층에서는 먼저 복원해야 읽을 수 있으므로 비동기 접근을 허용하는 애플리케이션에서만 켠다.
- 드문 접근이나 아카이브 즉시 접근 계층의 객체를 다시 읽으면 자동으로 빈번한 접근 계층으로 돌아온다.
둘 다 밀리초로 읽히지만 검색할 때마다 GB당 요금이 붙는다. Standard-IA는 여러 가용 영역에 저장하므로 다시 만들 수 없는 원본에 쓰고, One Zone-IA는 한 가용 영역에만 저장해 더 싸므로 다른 곳에 원본이 있는 사본(예: 교차 리전 복제의 대상, 재생성 가능한 썸네일)에 쓴다.
디렉터리 버킷이라는 별도 버킷 유형에 저장하는 단일 가용 영역 고성능 클래스이다. 가용 영역을 직접 골라 컴퓨팅 자원과 같은 곳에 둘 수 있어 머신러닝 학습이나 대화형 분석처럼 요청이 매우 많고 지연에 민감한 작업에 쓴다. 비용 절감용 클래스가 아니라 성능용 클래스라는 점이 다른 클래스와 다르다.
S3 안의 아카이브용 클래스 세 가지(Glacier Instant Retrieval, Glacier Flexible Retrieval, Glacier Deep Archive)를 묶어 부른다. 객체는 S3 버킷에 그대로 있고 S3 API로 다룬다.
| 구분 | Instant Retrieval | Flexible Retrieval | Deep Archive |
|---|---|---|---|
| 실시간 접근 | 가능(밀리초) | 불가, 복원 후 접근 | 불가, 복원 후 접근 |
| 최소 저장 기간 | 90일 | 90일 | 180일 |
| 대표 용도 | 의료 영상, 뉴스 사진 원본처럼 드물지만 즉시 열어야 하는 자료 | 백업, 재해 복구용 사본 | 규제상 수년간 보관해야 하는 기록, 테이프 대체 |
- 복원(
RestoreObject)은 지정한 일수 동안 임시 사본을 만들어 준다. 검색 옵션은 신속(Expedited), 표준(Standard), 대량(Bulk)이며 빠를수록 비싸다. 신속 검색은 Flexible Retrieval에서만 되고, 수요가 많을 때도 신속 검색을 보장하려면 프로비저닝된 용량을 산다. - 2012년에 나온 볼트(vault) 기반의 독립 서비스 아마존 Glacier는 S3 Glacier 스토리지 클래스와 다른 서비스이다. 독립 서비스는 신규 고객을 받지 않으며, AWS는 장기 보관에 S3 Glacier 스토리지 클래스를 권장한다.
S3에서 가장 싼 저장 클래스이다. 최소 저장 기간이 180일이고, 복원은 표준 검색이 12시간 이내, 대량 검색이 48시간 이내에 끝난다. 7~10년 이상 보관하지만 거의 꺼내지 않는 금융·의료 기록, 온프레미스 테이프 라이브러리를 없애려는 경우에 맞다. 테이프 백업 소프트웨어를 그대로 쓰려면 AWS Storage Gateway의 테이프 게이트웨이로 가상 테이프를 Glacier Flexible Retrieval이나 Deep Archive에 보관할 수 있다.
수명 주기 규칙은 위쪽(비싼) 클래스에서 아래쪽(싼) 클래스로 내려가는 폭포(waterfall) 모델을 따른다.
- Standard → Standard-IA, Intelligent-Tiering, One Zone-IA, Glacier 세 클래스 모두 가능
- Standard-IA → Intelligent-Tiering, One Zone-IA, Glacier 세 클래스
- One Zone-IA → Glacier Flexible Retrieval, Deep Archive
- Glacier Instant Retrieval → Glacier Flexible Retrieval, Deep Archive
- Glacier Flexible Retrieval → Deep Archive만 가능
- Deep Archive에서 다른 클래스로는 수명 주기로 옮길 수 없다. 복원한 뒤 복사해서 클래스를 바꾼다.
제약도 있다. 2024년 9월 이후 규칙은 기본적으로 128KB보다 작은 객체를 전환하지 않는다. 객체마다 전환 요청 요금이 붙어 작은 객체는 절감액보다 비용이 클 수 있기 때문이다. 또 한 규칙 안에서 앞 단계 클래스의 최소 저장 기간이 지나기 전에 다음 단계로 넘기는 일정은 만들 수 없다.
다음은 로그를 30일 뒤 Standard-IA, 90일 뒤 Glacier Flexible Retrieval로 옮기고 365일 뒤 지우는 규칙 예이다.
{
"Rules": [
{
"ID": "archive-logs",
"Filter": { "Prefix": "logs/" },
"Status": "Enabled",
"Transitions": [
{ "Days": 30, "StorageClass": "STANDARD_IA" },
{ "Days": 90, "StorageClass": "GLACIER" }
],
"Expiration": { "Days": 365 }
}
]
}
- 접근 패턴을 모르거나 예측할 수 없다는 말이 나오면 S3 Intelligent-Tiering이다. 수명 주기 규칙을 직접 짜는 선택지보다 운영 부담이 적다.
- 드물게 읽지만 읽을 때는 즉시(밀리초) 필요하면 Standard-IA, 분기 1회 수준이면 Glacier Instant Retrieval을 고른다. 몇 시간 기다려도 되면 Flexible Retrieval이나 Deep Archive가 더 싸다.
- 다시 만들 수 있는 데이터나 다른 리전에 원본이 있는 사본은 One Zone-IA로 비용을 줄인다. 원본이 하나뿐인 중요 데이터에는 One Zone 계열이 오답이다.
- 가장 싼 장기 보관, 복원에 12시간 이상 걸려도 되는 규제 보관은 Glacier Deep Archive이다.
- 최소 저장 기간과 128KB 최소 과금을 계산에 넣어야 한다. 며칠만 두는 데이터나 작은 객체가 매우 많으면 IA·Glacier 클래스가 오히려 비싸다.
- "몇 분 안에 일부 아카이브를 꺼내야 한다"면 Glacier Flexible Retrieval의 신속 검색, 반드시 보장돼야 하면 프로비저닝된 용량까지 고려한다.
- Amazon S3 스토리지 클래스 이해 및 관리 – AWS
- S3 Intelligent-Tiering 작동 방식 – AWS
- 아카이브 가져오기 옵션 이해 – AWS
- Amazon S3 수명 주기를 사용하여 객체 전환 – AWS
- Object Storage Classes – Amazon S3 – AWS