
목차
Azure Blob Storage는 뛰어난 확장성과 안정성을 제공하지만, 비용 구조를 제대로 이해하지 못하면 예상치 못한 요금이 발생할 수 있습니다. 특히 Cool 및 Archive 계층의 '조기 삭제(Early Deletion)' 요금은 많은 개발자와 운영자가 놓치기 쉬운 함정입니다.
이 글에서는 Azure Blob Storage의 각 액세스 계층(Tier)별 특징과 최소 보관 기간, 조기 삭제 요금이 발생하는 원리와 계산법, 그리고 이를 피하기 위한 라이프사이클 정책 설계 팁까지 총정리했습니다. 이 가이드를 통해 숨겨진 비용을 방지하고 스토리지 예산을 최적화해 보세요.
1. Azure Blob Storage 액세스 계층 비교: Hot, Cool, Archive
Azure Blob Storage는 데이터의 접근 빈도와 보관 기간에 따라 세 가지 주요 액세스 계층을 제공합니다. 각 계층은 저장 단가와 접근 비용이 다르므로 데이터의 특성에 맞게 선택하는 것이 중요합니다.
- Hot: 자주 액세스하고 수정하는 데이터를 위한 계층입니다. 저장 비용은 가장 높지만 데이터 읽기/쓰기 비용(접근 비용)은 가장 저렴합니다.
- Cool: 자주 액세스하지 않지만 필요할 때 즉시 접근해야 하는 데이터를 위한 계층입니다. Hot 계층보다 저장 비용이 저렴한 대신 접근 비용이 더 높으며, 최소 30일의 보관 기간이 요구됩니다.
- Archive: 거의 접근하지 않는 데이터의 장기 보관(백업, 규제 준수 등)을 위한 오프라인 계층입니다. 저장 비용이 가장 저렴하지만, 데이터를 읽으려면 '리하이드레이션(Rehydration)'이라는 과정을 거쳐야 합니다. 최소 180일의 보관 기간이 적용됩니다.
참고: Cold 계층도 있어요!
본문에서는 주로 Hot, Cool, Archive를 다루지만, Azure에는 Cold 계층도 존재합니다. Cool과 마찬가지로 온라인 상태이지만 최소 90일의 보관 규칙이 적용되는, Cool과 Archive 사이의 중간 계층입니다. 자세한 내용은 공식 문서를 참고하세요.
계층 (Tier) | 주요 특징 | 최소 보관 기간 |
---|---|---|
Hot | 실시간 접근, 잦은 읽기/쓰기 | 제한 없음 (조기 삭제 미적용) |
Cool | 드문 접근 (온라인) | 30일 |
Archive | 장기 보관 (오프라인) | 180일 |
(참고) Cold | 온라인, 드문 접근 | 90일 |
2. 핵심: Archive/Cool 계층의 조기 삭제 요금 파헤치기
Cool과 Archive 계층의 저렴한 저장 비용에는 한 가지 조건이 따릅니다. 바로 '최소 보관 기간'을 준수해야 한다는 점입니다. 만약 이 기간을 채우지 않고 데이터를 삭제, 덮어쓰기, 또는 다른 계층으로 이동하면 '조기 삭제 요금'이라는 일종의 위약금이 발생합니다.
- 과금 원칙: 최소 보관 기간에서 실제 보관한 기간을 뺀 남은 일수만큼의 저장 요금이 일할 계산되어 부과됩니다.
- 최소 보관 기간:
- Cool: 30일
- Archive: 180일
- (Cold: 90일)
- 조기 삭제 요금 계산 공식 (예시):
$$
\textbf{조기 삭제 요금} = \max(0, \text{최소 보관일} - \text{실제 보관일}) \times \left( \frac{\text{월 저장 단가}}{\text{30일}} \right) \times \text{데이터 크기(GB)}
$$
실제 월 저장 단가와 일수 계산은 지역, 계정 유형, 데이터 중복성 옵션에 따라 달라질 수 있습니다.
⚠️ 주의: 일시 삭제(Soft Delete) 기능과의 관계
만약 일시 삭제 기능이 활성화되어 있다면, Blob을 삭제해도 즉시 사라지지 않고 설정된 보존 기간 동안 유지됩니다. 이 경우 보존 기간 + 조기 삭제 기간이 합산되어 비용이 청구될 수 있으니 주의해야 합니다. (관련 Q&A 참고)
3. Archive에서 데이터 꺼내기: 리하이드레이션(Rehydration)
Archive 계층은 데이터가 오프라인 상태로 저장되므로, 데이터를 읽거나 수정하려면 반드시 Hot 또는 Cool 계층으로 되돌리는 리하이드레이션 과정이 필요합니다.
- 소요 시간: 우선순위에 따라 다릅니다.
- 표준(Standard) 우선순위: 최대 15시간 소요될 수 있습니다.
- 높음(High) 우선순위: 10GB 미만의 객체는 1시간 이내에 완료될 수 있지만, 비용이 더 비쌉니다.
- 리하이드레이션 방식:
- 계층 변경 (Set Tier): 원본 Blob의 계층 자체를 Archive에서 Hot 또는 Cool로 영구적으로 변경합니다.
- 복사 (Copy): Archive의 원본은 그대로 두고, 지정한 온라인 계층에 새로운 Blob으로 복사합니다. 대량의 데이터 중 일부만 필요할 때 유용합니다.
- 비용 구성: 리하이드레이션 비용은 크게 데이터 검색 비용(GB당)과 읽기 작업 비용(건당)으로 구성됩니다. 당연히 '높음' 우선순위는 단가가 더 높습니다.
4. 자동화의 함정: 라이프사이클 관리 정책 설정 시 주의사항
라이프사이클 관리 정책을 사용하면 "생성 후 30일이 지난 데이터는 Cool로, 180일이 지나면 Archive로 이동하고, 7년 후에는 삭제"와 같은 규칙을 자동화할 수 있습니다. 매우 편리하지만, 잘못 설정하면 의도치 않은 조기 삭제 요금 폭탄을 맞을 수 있습니다.
- 함정 1 - 최소 보관 기간 미준수: 정책에 따라 Cool(30일)이나 Archive(180일)로 이동한 데이터가 최소 보관 기간을 채우기 전에 다른 정책에 의해 삭제되거나 다시 상위 계층으로 이동하면 조기 삭제 요금이 발생합니다.
- 함정 2 - 기준 시간의 오해: "X일 후"라는 조건은 일반적으로 마지막 수정 시각(Last Modified Time)을 기준으로 동작합니다. 마지막 접근 시각(Last Access Time)을 기준으로 설정할 경우, 예상과 다른 시점에 데이터가 이동될 수 있습니다.
- 함정 3 - 버전 관리 및 스냅샷: Blob 버전 관리나 스냅샷 기능이 활성화된 경우, 이전 버전이나 스냅샷을 먼저 삭제하지 않으면 현재 버전을 삭제할 수 없습니다. 이로 인해 스토리지 비용과 조기 삭제 비용이 예상보다 오래 발생할 수 있습니다.
- 함정 4 - 잦은 계층 변경: 리하이드레이션된 Blob을 너무 빨리 다시 Archive로 되돌리는 것을 방지하기 위해 최소 체류일(
daysAfterLastTierChangeGreaterThan
)과 같은 조건을 정책에 추가하는 것이 좋습니다.
5. 실전! Azure 청구서 항목 읽기와 비용 시뮬레이션
실제 청구서에서 관련 비용 항목을 이해하고, 간단한 시뮬레이션을 통해 비용 흐름을 예측해 보겠습니다.
주요 청구 항목
- Data Storage: Hot/Cool/Archive 계층별 월간 GB당 저장 요금
- Early Deletion: 조기 삭제 위약금 (일반적으로 GB-day 단위로 환산)
- Data Retrieval: Archive 계층에서 데이터를 검색할 때 발생하는 GB당 요금
- Read/Write Operations: 데이터 읽기/쓰기 작업 1만 건당 요금
- High-priority Retrieval/Read: '높음' 우선순위로 리하이드레이션 시 별도 부과되는 요금
비용 시뮬레이션 예시
가정: 100GB 데이터(Blob 1,000개)를 Archive 계층에 저장했다가 45일 만에 표준 우선순위로 Hot 계층으로 리하이드레이션하는 경우.
(아래 단가는 설명을 위한 예시이며, 실제 요금은 Azure 공식 가격 페이지를 참고하세요)
- 저장 요금 (45일): 45일간의 Archive 계층 저장 비용
- 조기 삭제 요금: 최소 보관 기간 180일 중 45일만 채웠으므로, 남은 135일분에 대한 저장 요금이 부과됨
- 데이터 검색 요금: 100GB를 Archive에서 검색하는 데 드는 비용
- 읽기 작업 요금: 1,000개의 Blob을 읽는 데 드는 트랜잭션 비용
이처럼 조기 삭제 시 남은 기간에 대한 저장 요금이 한 번에 청구되는 구조이므로, 단기 보관 데이터는 절대 Archive 계층에 저장해서는 안 됩니다.
6. 비용 최적화를 위한 운영 체크리스트
다음 체크리스트를 통해 Azure Blob Storage 비용을 관리하고 최적화하세요.
- 데이터 보관 기간 예측: 180일 이내에 다시 접근하거나 삭제할 가능성이 있는 데이터는 Archive 대신 Cool 또는 Cold 계층을 고려하세요.
- 복구 시간 목표(RTO) 확인: Archive 데이터 복구에는 최대 15시간이 걸릴 수 있습니다. 비즈니스 요구사항(RTO)과 맞는지 반드시 확인하고, 긴급 복구가 필요하다면 '높음' 우선순위 옵션을 검토하세요.
- 라이프사이클 정책 테스트: 전체 스토리지에 적용하기 전에, 소규모 샘플 컨테이너에서 정책을 충분히 테스트하고 청구서 변화를 관찰하세요.
- 보호 기능 비용 점검: 일시 삭제(Soft delete), 버전 관리, 스냅샷 기능이 활성화된 경우, 숨겨진 데이터로 인해 추가 비용이 발생하지 않는지 주기적으로 점검하세요.
- 가격 변동 주시: 클라우드 서비스 요금은 계속 변동합니다. Azure 공식 가격 페이지를 정기적으로 확인하여 최신 정보를 반영하세요.
7. 자주 묻는 질문 (FAQ)
Q1: Cool 계층에 30일 패널티가 있는 이유는 무엇인가요?
A: 저렴한 저장 단가를 제공하는 대신, 최소 30일 이상 데이터를 보관할 것을 약속하는 조건이 붙기 때문입니다.
Q2: Archive 데이터는 즉시 읽을 수 있나요?
A: 아니요, 불가능합니다. 오프라인 상태이므로 반드시 '리하이드레이션'을 통해 온라인 계층(Hot/Cool)으로 가져와야 합니다.
Q3: Cold와 Archive 계층의 가장 큰 차이점은 무엇인가요?
A: Cold는 온라인 계층이라 즉시 데이터 접근이 가능하며 최소 보관 기간이 90일입니다. 반면 Archive는 오프라인 계층으로 리하이드레이션이 필요하며 최소 보관 기간이 180일입니다.
Q4: 라이프사이클 정책으로 Cool로 옮긴 데이터를 10일 만에 삭제하면 어떻게 되나요?
A: 최소 보관 기간 30일을 위반했으므로, 남은 20일분에 해당하는 조기 삭제 요금이 발생합니다.
Q5: 리하이드레이션 시 'Set Tier'와 'Copy' 방식 중 무엇을 써야 하나요?
A: 원본 데이터의 계층을 영구적으로 바꾸고 싶다면 'Set Tier'를, Archive 원본을 유지한 채 특정 데이터만 온라인에서 사용하고 싶다면 'Copy' 방식이 유리합니다.
관련 글 모아보기
• AWS S3 Glacier 조기 삭제 수수료: https://sentio5.com/entry/에이더블유에스-에스쓰리-글래시어-조기-삭제-수수료
• 서버리스 무료 쿼터 요금 비교 2025: https://sentio5.com/entry/서버리스-무료-쿼터-요금-비교-2025
면책 및 출처
- 이 글의 내용은 Microsoft Learn 및 공식 가격 문서를 기반으로 작성되었으며, 실제 요금은 사용자의 리전, 계정 유형, 데이터 중복성 옵션에 따라 달라질 수 있습니다. 최종 비용은 반드시 Azure Portal의 청구 내역을 기준으로 확인하시기 바랍니다.
업데이트 로그
- 2025-09-15: Archive(180일), Cool(30일), Cold(90일) 최소 보관 기간 정보 업데이트, 리하이드레이션 우선순위별 소요 시간 및 Soft Delete 연계 과금 사례 추가.