Azure Storage 완전 가이드: Blob, File, Queue, Table 서비스 총정리

Azure Storage 완전 가이드 Blob File Queue Table
Azure Storage – 클라우드 스토리지의 모든 것: Blob, File, Queue, Table

Azure Storage란?

Azure Storage는 Microsoft Azure의 핵심 스토리지 서비스로, 고가용성, 높은 내구성, 보안, 확장성을 갖춘 클라우드 스토리지 솔루션입니다. 단일 스토리지 계정에서 Blob, File, Queue, Table, Disk 다섯 가지 서비스를 통합 관리할 수 있어 다양한 애플리케이션 요구사항을 하나의 플랫폼으로 충족할 수 있습니다. 데이터는 기본적으로 최소 3개의 복사본으로 저장되어 99.999999999%(11 nine)의 내구성을 제공합니다.

Azure Storage는 전 세계 수백만 개 애플리케이션이 의존하는 검증된 스토리지 플랫폼으로, 일일 수 엑사바이트 규모의 데이터를 처리합니다. REST API를 기반으로 설계되어 어떤 언어, 플랫폼에서도 접근할 수 있으며, Azure SDK(Python, .NET, Java, JavaScript, Go 등)를 통해 개발 생산성을 높일 수 있습니다.

Azure Blob Storage: 비정형 데이터의 집

Blob 유형과 사용 사례

Blob Storage는 이미지, 동영상, 문서, 로그 파일, 백업 등 비정형 데이터를 저장하는 오브젝트 스토리지입니다. 세 가지 Blob 유형이 있습니다. Block Blob은 텍스트, 이진 데이터 저장에 최적화되어 미디어 파일, 문서, 백업에 사용합니다. Append Blob은 추가 전용 연산에 최적화되어 로그 파일 수집에 이상적입니다. Page Blob은 랜덤 읽기/쓰기에 최적화되어 Azure VM 디스크(VHD 파일) 저장에 사용됩니다.

액세스 티어: 비용 최적화의 핵심

Blob Storage는 Hot, Cool, Cold, Archive 네 가지 액세스 티어를 제공합니다. Hot 티어는 자주 접근하는 데이터에 적합하며 스토리지 비용은 높지만 접근 비용은 낮습니다. Cool 티어는 최소 30일 저장을 전제로 하며 Hot 대비 스토리지 비용이 저렴합니다. Cold 티어(2023년 출시)는 최소 90일, Archive 티어는 최소 180일을 전제로 하며 장기 백업, 컴플라이언스 데이터 보관에 적합합니다. 수명 주기 관리 정책(Lifecycle Management Policy)을 설정하면 데이터 나이에 따라 자동으로 티어를 전환해 비용을 최적화할 수 있습니다.

Azure Blob Storage 데이터 계층화
Azure Blob Storage – Hot/Cool/Archive 액세스 티어로 비용 최적화

정적 웹사이트 호스팅

Blob Storage의 정적 웹사이트 호스팅 기능을 활성화하면 HTML, CSS, JavaScript, 이미지로 구성된 정적 웹사이트를 서버 없이 호스팅할 수 있습니다. Azure CDN(Content Delivery Network)과 연동하면 전 세계 PoP(접속 포인트)에서 콘텐츠를 제공해 지연 시간을 최소화합니다. React, Vue, Angular 등 SPA(Single Page Application)를 Blob Storage + CDN 조합으로 배포하면 서버리스 웹 호스팅이 가능하며, Azure Static Web Apps 서비스를 통해 CI/CD까지 통합할 수 있습니다.

Azure Files: 클라우드 파일 공유

Azure Files는 SMB(Server Message Block) 또는 NFS 프로토콜을 통해 접근할 수 있는 완전 관리형 파일 공유 서비스입니다. Windows, Linux, macOS에서 네트워크 드라이브로 마운트할 수 있어 온프레미스 파일 서버를 클라우드로 이전하는 데 적합합니다. 최대 100TiB 크기의 파일 공유를 지원하며, Azure File Sync를 사용하면 온프레미스 Windows Server와 Azure Files 간 양방향 동기화를 구성해 하이브리드 파일 서버 환경을 구현할 수 있습니다. 자주 접근하는 파일은 로컬 서버에 캐시하고, 거의 접근하지 않는 파일은 클라우드 계층화(Cloud Tiering)를 통해 Azure Files로 이전합니다.

Azure Queue Storage: 메시지 큐

Azure Queue Storage는 최대 64KB 크기의 메시지를 저장하는 클라우드 메시지 큐 서비스입니다. 애플리케이션 컴포넌트 간의 비동기 통신을 구현할 때 사용합니다. 웹 프런트엔드에서 이미지 처리 요청을 큐에 넣으면, 백엔드 워커가 큐에서 메시지를 읽어 이미지를 처리하는 패턴이 대표적입니다. 큐는 최대 500TB의 메시지를 저장할 수 있으며, 메시지 가시성 타임아웃을 설정해 처리 실패 시 자동 재처리가 가능합니다. 더 고급 기능(세션, 순서 보장, 구독/토픽)이 필요하다면 Azure Service Bus를 사용하는 것이 적합합니다.

Azure Table Storage: NoSQL 키-값 저장소

Azure Table Storage는 수십억 행의 반정형 데이터를 저장할 수 있는 NoSQL 키-값 저장소입니다. PartitionKey와 RowKey의 조합으로 데이터를 인덱싱하며, 파티션 단위로 수평 확장됩니다. 스키마가 없어 각 행마다 다른 컬럼 집합을 가질 수 있습니다. 단순한 쿼리 패턴, 대량 데이터 저장, 비용 효율적인 NoSQL 솔루션이 필요할 때 적합합니다. 더 풍부한 쿼리, 트랜잭션, 지리적 분산이 필요하다면 Azure Cosmos DB를 고려하세요.

Azure 스토리지 보안 및 복제
Azure Storage 중복성 – LRS, ZRS, GRS로 데이터 내구성 보장

스토리지 계정 보안 및 중복성

데이터 중복성 옵션

Azure Storage는 LRS(로컬 중복), ZRS(영역 중복), GRS(지역 중복), GZRS(지역-영역 중복) 네 가지 중복성 옵션을 제공합니다. LRS는 같은 데이터센터 내 3개 복사본으로 99.999999999% 내구성을 제공합니다. ZRS는 동일 리전 내 3개 가용성 영역에 복제해 영역 장애에 대응합니다. GRS는 기본 리전과 수백 km 떨어진 보조 리전에 복제해 리전 장애에도 데이터를 보호합니다. 프로덕션 환경에는 ZRS 또는 GRS 이상을 권장합니다.

보안 설정

스토리지 계정 보안을 위해 반드시 적용해야 할 설정들이 있습니다. Shared Access Signature(SAS) 토큰 사용 시 최소 권한과 단기 만료 기간을 설정합니다. Azure AD 기반 RBAC를 사용해 스토리지 계정 접근을 제어하는 것이 SAS보다 권장됩니다. 공용 Blob 접근을 비활성화하고, 스토리지 방화벽으로 특정 VNet과 IP 범위에서만 접근을 허용합니다. HTTPS 전송 필수(Secure transfer required)와 최소 TLS 버전(1.2 이상) 설정도 기본으로 적용하세요.

마치며

Azure Storage는 단순한 파일 저장소를 넘어 클라우드 애플리케이션 아키텍처의 핵심 구성 요소입니다. Blob Storage로 미디어와 문서를, File Storage로 파일 공유를, Queue Storage로 비동기 통신을, Table Storage로 NoSQL 데이터를 효율적으로 관리할 수 있습니다. 액세스 티어와 수명 주기 관리를 활용해 비용을 최적화하고, 적절한 중복성 옵션으로 데이터 내구성을 보장하는 스토리지 전략을 수립해 보세요.

댓글 남기기