Azure Storage 소개
Azure Storage 소개
Azure Storage는 마이크로소프트가 제공하는 클라우드 스토리지 플랫폼이에요. 다양한 데이터 객체를 고가용성·대규모 확장·내구성·보안을 갖추고 저장할 수 있죠. 저장된 데이터는 전 세계 어디서든 HTTP나 HTTPS를 통해 REST API로 접근할 수 있어요.
개발자는 .NET, Java, Python, JavaScript, C++, Go 같은 언어로 쓸 수 있는 클라이언트 라이브러리를, IT 운영자는 Azure PowerShell과 Azure CLI로 관리·구성 스크립트를 작성할 수 있어요. Azure portal과 Azure Storage Explorer는 GUI 도구예요.
Azure Storage의 장점
- 내구성과 고가용성: 중복(redundancy) 덕분에 일시적 하드웨어 장애에도 데이터가 안전해요. 데이터센터나 지역 간에 복제하도록 선택할 수도 있고, 이렇게 하면 예상치 못한 중단에도 데이터를 계속 이용할 수 있어요.
- 보안: 스토리지 계정에 쓴 모든 데이터가 암호화돼요. 누가 데이터에 접근할 수 있는지를 세밀하게 제어할 수 있죠.
- 확장성: 오늘날 애플리케이션의 데이터 저장·성능 요구를 충족하도록 대규모 확장을 염두에 두고 설계됐어요.
- 관리형: 하드웨어 유지보수, 업데이트, 중요 문제는 Azure가 처리해 줘요.
- 접근성: HTTP/HTTPS로 전 세계 어디서든 접근할 수 있어요. 다양한 언어의 클라이언트 라이브러리와 성숙한 REST API, PowerShell·CLI 스크립팅을 지원해요.
Azure Storage 데이터 서비스
Azure Storage 플랫폼은 다음 데이터 서비스를 포함해요.
- Azure Blobs: 텍스트·바이너리 데이터를 위한 대규모 객체 저장소. Data Lake Storage를 통한 빅데이터 분석도 지원해요.
- Azure Files: 클라우드 또는 온프레미스 배포를 위한 관리형 파일 공유.
- Azure Elastic SAN: Azure에서 SAN을 배포·확장·관리·구성하기 쉽게 통합한 솔루션.
- Azure Queues: 애플리케이션 구성 요소 간 안정적 메시징을 위한 저장소.
- Azure Tables: 스키마 없는 구조화 데이터를 위한 NoSQL 저장소.
- Azure 관리 디스크: Azure VM을 위한 블록 수준 스토리지 볼륨.
- Azure Container Storage: 컨테이너를 위해 만들어진 볼륨 관리·배포·오케스트레이션 서비스.
이 외에 특수 목적 스토리지도 있어요.
- Azure NetApp Files: NetApp 기반의 엔터프라이즈 파일 스토리지. 코드 변경 없이 복잡한 파일 기반 애플리케이션을 옮겨 실행하기 좋아요. NFS·SMB·이중 프로토콜 볼륨으로 접근할 수 있어요.
- Azure Managed Lustre: 높은 처리량과 낮은 지연을 요구하는 HPC 워크로드에 적합한 고성능 분산 병렬 파일 시스템.
어떤 데이터 서비스를 쓸지 정하기 어렵다면, Microsoft Cloud Adoption Framework의 스토리지 옵션 검토 문서를 참고하세요.
데이터 서비스별 쓰임새 비교
| 서비스 | 설명 | 언제 쓰나 |
|---|---|---|
| Azure Files | SMB·NFS 프로토콜과 REST API로 접근할 수 있는 완전 관리형 클라우드 파일 공유. Windows·Linux·macOS에서 마운트 가능해요 | 네이티브 파일 시스템 API를 쓰는 애플리케이션을 클라우드로 그대로 옮기거나, 온프레미스 파일 서버·NAS를 대체·보완할 때 |
| Azure NetApp Files | 까다로운 고성능·저지연 워크로드를 처리하는 완전 관리형 엔터프라이즈 NAS 서비스 | SAP HANA, DB, HPC 같은 옮기기 어려운 워크로드. NFSv3·NFSv4.1·SMB3.1.x 등 다중 프로토콜 지원 |
| Azure Blobs | 대규모로 비정형 데이터를 블록 blob에 저장·접근. Data Lake Storage 지원 | 스트리밍·랜덤 액세스, 어디서든 데이터 접근, 엔터프라이즈 데이터 레이크 구축 |
| Azure Elastic SAN | SAN 배포·확장·관리·구성이 통합된 솔루션. 고가용성 같은 클라우드 기능 내장 | iSCSI 프로토콜로 SQL, MariaDB, Azure VM, AKS 등 다양한 컴퓨팅 리소스와 함께 쓰는 대규모 스토리지 |
| Azure Disks | 연결된 가상 하드 디스크에서 데이터를 영속 저장·접근 | 네이티브 파일 시스템 API로 영속 디스크에 읽고 쓰는 애플리케이션을 옮길 때, VM 외부에서 접근할 필요 없는 데이터 |
| Azure Container Storage | Kubernetes와 통합되고 컨테이너를 위해 만들어진 볼륨 관리 서비스 | Kubernetes 클러스터의 상태 유지 애플리케이션을 위해 영구 볼륨을 동적으로 자동 프로비저닝 |
| Azure Queues | 애플리케이션 구성 요소 간 비동기 메시지 큐 | 구성 요소를 분리하고 비동기 메시징으로 통신. Queue Storage vs Service Bus 큐 선택은 비교 문서 참고 |
| Azure Tables | 스키마 없는 NoSQL 구조화 데이터 저장, 키/속성 저장소 | 웹 애플리케이션 사용자 데이터, 주소록, 디바이스 정보 등 유연한 데이터셋. Table Storage vs Cosmos DB for Table은 이 문서 참고 |
| Azure Managed Lustre | HPC·AI 워크로드를 위한 완전 관리형 종량제 파일 시스템 | 높은 처리량과 낮은 지연이 필요한 HPC 워크로드 |
Blob Storage
Azure Blob Storage는 클라우드를 위한 마이크로소프트의 객체 저장소 솔루션이에요. 텍스트나 바이너리 데이터 같은 대량의 비정형 데이터를 저장하는 데 최적화되어 있죠. 다음과 같은 경우에 특히 잘 어울려요.
- 브라우저에 이미지·문서 직접 서빙
- 분산 접근을 위한 파일 저장
- 비디오·오디오 스트리밍
- 백업·복구, 재해 복구, 아카이브 데이터 저장
- 온프레미스·Azure 호스팅 서비스의 분석을 위한 데이터 저장
blob 객체는 HTTP/HTTPS로 전 세계에서 접근할 수 있어요. 사용자나 클라이언트 애플리케이션은 URL, Azure Storage REST API, Azure PowerShell, Azure CLI, 또는 Azure Storage 클라이언트 라이브러리로 blob에 접근해요. 또한 SFTP로 보안 연결하거나 NFS 3.0 프로토콜로 blob 컨테이너를 마운트할 수도 있어요.
자세한 내용은 Blob Storage 소개를 참고하세요.
데이터 전송
Azure Storage로 데이터를 옮기는 방법은 여러 가지예요. 데이터셋 크기와 네트워크 대역폭에 따라 선택하면 되는데, Azure 데이터 전송 솔루션 선택 문서에서 자세히 다뤄요.
Storage API·라이브러리·도구
HTTP나 HTTPS 요청을 보낼 수 있는 모든 언어로 스토리지 계정의 리소스에 접근할 수 있어요. 공식 라이브러리는 다음 언어와 플랫폼을 지원해요.
데이터 API와 라이브러리
관리 API·라이브러리
도구와 유틸리티
- Azure Storage용 PowerShell cmdlet
- Azure Storage용 Azure CLI
- AzCopy 명령줄 유틸리티
- Azure Storage Explorer: Windows·macOS·Linux에서 Azure Storage 데이터를 시각적으로 다룰 수 있는 무료 독립 앱