Azure Storage 서비스 설명
Azure Storage 플랫폼에는 다음과 같은 데이터 서비스가 포함됩니다.
- Azure Blob: 텍스트 및 이진 데이터에 대한 확장성이 뛰어난 개체 저장소입니다. 또한 Data Lake Storage Gen2를 통한 빅 데이터 분석 지원도 포함합니다.
- Azure Files: 클라우드 또는 온-프레미스 배포에 대한 관리되는 파일 공유입니다.
- Azure 큐: 애플리케이션 구성 요소 간에 안정적인 메시징을 위한 메시징 저장소입니다.
- Azure 디스크: Azure VM용 블록 수준 스토리지 볼륨입니다.
- Azure 테이블: 정형의 비관계형 데이터를 위한 NoSQL 테이블 옵션입니다.
Azure Storage의 이점
Azure Storage 서비스는 애플리케이션 개발자 및 IT 전문가에게 다음과 같은 이점을 제공합니다.
- 내구성 및 고가용성. 중복성은 일시적인 하드웨어 오류가 발생하면 데이터를 안전하게 보호합니다. 또한 로컬 재해 또는 자연 재해로 인한 장애를 방지할 수 있도록 데이터 센터 또는 지리적 영역에서 데이터를 복제하도록 선택할 수도 있습니다. 이 방식으로 복제된 데이터는 예기치 않은 중단 시에도 고가용성을 유지합니다.
- 보안. Azure Storage 계정에 기록된 모든 데이터는 서비스에 의해 암호화됩니다. Azure Storage는 데이터에 액세스할 수 있는 사용자를 자세히 제어할 수 있습니다.
- 스케일링 가능. Azure Storage는 오늘날의 애플리케이션에 대한 데이터 저장소 및 성능 요구 사항을 충족하기 위해 대규모로 확장할 수 있도록 설계되었습니다.
- 관리됨. 하드웨어 유지 관리, 업데이트 및 중요한 문제를 Azure에서 처리합니다.
- 액세스 가능. Azure Storage의 데이터는 HTTP 또는 HTTPS를 통해 전 세계 어디에서든 액세스할 수 있습니다. Microsoft는 완성도 높은 REST API뿐만 아니라 .NET, Java, Node.js, Python, PHP, Ruby, Go 등 기타 다양한 언어로 Azure Storage용 클라이언트 라이브러리를 제공합니다. Azure Storage는 Azure PowerShell 또는 Azure CLI에서 스크립트를 지원합니다. 또한 Azure Portal 및 Azure Storage Explorer는 데이터 작업을 위한 쉬운 시각적 솔루션을 제공합니다.
Azure Blobs
Azure Blob Storage는 클라우드용 개체 스토리지 솔루션입니다. 방대한 양의 데이터(예: 텍스트 또는 이진 데이터)를 저장할 수 있습니다. Azure Blob Storage는 비정형이므로 포함될 수 있는 데이터 종류에 대한 제한이 없습니다. Blob Storage는 수천 개의 동시 업로드, 대용량 비디오 데이터, 끊임없이 증가하는 로그 파일을 관리할 수 있으며, 어디서나 인터넷을 통해 연결할 수 있습니다.
Blob은 일반적인 파일 형식으로 제한되지 않습니다. 즉, 하나의 Blob에 과학 기기에서 스트리밍된 몇 기가바이트의 이진 데이터, 다른 애플리케이션용 암호화된 메시지 또는 개발 중인 앱에 대한 사용자 지정 형식의 데이터가 포함될 수 있습니다. 디스크 스토리지와 비교해 Blob Storage의 한 가지 이점은 개발자가 디스크를 살피거나 관리할 필요가 없다는 점입니다. 데이터는 Blob으로 업로드되고 Azure는 물리적 스토리지 요구 사항을 처리합니다.
Blob 스토리지가 적합한 경우는 다음과 같습니다.
- 브라우저에 이미지 또는 문서 직접 제공
- 분산 액세스용 파일 저장.
- 비디오 및 오디오 스트리밍.
- 백업/복원, 재해 복구 및 보관용 데이터 저장
- 온-프레미스 또는 Azure 호스팅 서비스에서 분석하기 위한 데이터 저장.
Blob Storage 액세스
Blob Storage의 개체는 HTTP 또는 HTTPS를 통해 전 세계 어디에서나 액세스할 수 있습니다. 사용자 또는 클라이언트 애플리케이션은 URL, Azure Storage REST API, Azure PowerShell, Azure CLI 또는 Azure Storage 클라이언트 라이브러리를 통해 Blob에 액세스할 수 있습니다. 스토리지 클라이언트 라이브러리는 .NET, Java, Node.js, Python, PHP 및 Ruby를 비롯한 여러 언어에서 사용할 수 있습니다.
Blob Storage 계층
클라우드에 저장된 데이터가 기하급수적으로 증가할 수 있습니다. 높아지는 스토리지 수요에 대한 비용을 관리하기 위해, 액세스 빈도 및 계획된 보존 기간과 같은 특성을 기반으로 데이터를 구성하는 것이 좋습니다. 클라우드에 저장된 데이터는 전체 수명에 걸쳐 생성, 처리 및 액세스하는 방법에 따라 다르게 처리될 수 있습니다. 일부 데이터는 수명 기간 전반에 걸쳐 활발하게 액세스되고 수정됩니다. 일부 데이터는 수명 기간 초반에는 빈번하게 액세스되지만 데이터가 오래될수록 액세스 빈도가 급격하게 떨어집니다. 일부 데이터는 클라우드에서 유휴 상태로 유지되고 저장된 후 극히 드물게 액세스되기도 합니다. 이와 같이 다양한 액세스 요구 사항을 수용하기 위해 Azure에서는 액세스 요구 사항에 따라 스토리지 비용의 균형을 맞추는 데 사용할 수 있는 몇 가지 액세스 계층을 제공합니다.
Azure Storage는 Blob Storage에 대해 서로 다른 액세스 계층을 제공하기 때문에 비용 효율적인 방식으로 개체 데이터를 저장할 수 있습니다. 사용 가능한 액세스 계층은 다음과 같습니다.
- 핫 액세스 계층: 자주 액세스하는 데이터(예: 웹 사이트의 이미지)를 저장하는 데 최적화되어 있습니다.
- 쿨 액세스 계층: 자주 액세스하지 않고 30일 이상 저장하는 데이터(예: 고객에 대한 송장)에 최적화되어 있습니다.
- 콜드 액세스 계층: 자주 액세스하지 않으며 최소 90일 동안 저장되는 데이터 저장용으로 최적화된 계층입니다.
- 보관 액세스 계층: 거의 액세스하지 않고 180일 이상 보관하며 유연한 대기 시간 요구 사항(예: 장기 백업)이 있는 데이터에 적합합니다.
여러 액세스 계층에는 다음과 같은 고려 사항이 적용됩니다.
- 계정 수준에서 핫, 쿨, 콜드 액세스 계층을 설정할 수 있습니다. 보관 액세스 계층은 계정 수준에서 사용할 수 없습니다.
- 핫, 쿨, 콜드, 보관 계층은 업로드 중 또는 업로드 후에 Blob 수준에서 설정할 수 있습니다.
- 쿨 및 콜드 액세스 계층의 데이터는 가용성은 약간 낮아도 되지만 핫 데이터와 유사하게 여전히 내구성, 검색 대기 시간, 처리량이 높아야 합니다. 쿨 및 콜드 데이터의 경우 핫 데이터와 비교할 때 가용성 SLA(서비스 수준 약정)가 낮고 액세스 비용이 더 많이 들지만 스토리지 비용이 적어 그런대로 균형이 맞습니다.
- 보관 스토리지는 데이터를 오프라인으로 저장하며 스토리지 비용이 가장 적지만, 데이터 리하이드레이션 및 액세스에 비용이 가장 많이 듭니다.
Azure 파일
Azure File Storage는 클라우드에서 산업 표준 SMB(서버 메시지 블록) 또는 NFS(네트워크 파일 시스템) 프로토콜을 통해 액세스할 수 있는 완전 관리형 파일 공유를 제공합니다. Azure Files 파일 공유는 클라우드 또는 온-프레미스 배포를 통해 동시에 탑재될 수 있습니다. SMB Azure 파일 공유는 Windows, Linux, macOS 클라이언트에서 액세스할 수 있습니다. NFS Azure Files 공유는 Linux 또는 macOS 클라이언트에서 액세스할 수 있습니다. 또한 데이터가 사용되는 위치 근처에서 빠르게 액세스하기 위해 Azure 파일 동기화를 사용하여 SMB Azure 파일 공유를 Windows Server에서 캐시할 수 있습니다.
Azure Files 주요 이점:
- 공유 액세스: Azure 파일 공유는 산업 표준 SMB 및 NFS 프로토콜을 지원합니다. 즉, 애플리케이션 호환성에 대한 걱정 없이 온-프레미스 파일 공유를 Azure 파일 공유로 원활하게 바꿀 수 있습니다.
- 완전 관리형: Azure 파일 공유는 하드웨어 또는 OS를 관리할 필요 없이 만들 수 있습니다. 즉 서버 OS를 중요한 보안 업그레이드로 패치하거나 결함이 있는 하드 디스크를 교체하지 않아도 된다는 것입니다.
- 스크립팅 및 도구 PowerShell cmdlet 및 Azure CLI를 사용하여 Azure 애플리케이션 관리의 일부로 Azure 파일 공유를 만들고 탑재하고 관리할 수 있습니다. Azure Portal 및 Azure Storage Explorer를 사용하여 Azure 파일 공유를 만들고 관리할 수 있습니다.
- 복원력: Azure Files는 처음부터 항상 사용할 수 있도록 빌드되었습니다. 온-프레미스 파일 공유를 Azure Files로 바꾸는 경우 로컬 정전 또는 네트워크 문제를 처리하기 위해 한밤중에 주의할 필요가 없습니다.
- 친숙한 프로그래밍 기능: Azure에서 실행 중인 애플리케이션은 파일 시스템 I/O API를 통해 공유 데이터에 액세스할 수 있습니다. 따라서 개발자는 기존의 코드와 기술을 이용하여 기존 애플리케이션을 마이그레이션할 수 있습니다. 시스템 IO API 외에도 Azure Storage 클라이언트 라이브러리 또는 Azure Storage REST API를 사용할 수 있습니다.
Azure Queues
Azure Queue storage는 대량의 메시지를 저장하기 위한 서비스입니다. 저장되면 전 세계 어디서나 인증된 호출을 통해 HTTP 또는 HTTPS를 사용하여 메시지에 액세스할 수 있습니다. 큐에는 스토리지 계정에 수백만 개의 공간이 있는 만큼의 메시지가 포함될 수 있습니다. 각 개별 메시지의 크기는 최대 64KB입니다. 큐는 비동기적으로 처리할 작업의 백로그를 만드는 데 일반적으로 사용됩니다.
Queue Storage는 Azure Functions와 같은 컴퓨팅 함수와 결합하여 메시지를 받을 때 작업을 수행할 수 있습니다. 예를 들어 고객이 웹 사이트에 양식을 업로드한 후 작업을 수행하려고 합니다. 웹 사이트의 제출 단추가 Queue Storage에 메시지를 트리거하도록 할 수 있습니다. 그런 다음 Azure Functions를 사용하여 메시지가 수신되면 작업을 트리거할 수 있습니다.
Azure 디스크
Azure Disk Storage 또는 Azure 관리 디스크는 Azure VM에서 사용하기 위해 Azure에서 관리하는 블록 수준 스토리지 볼륨입니다. 개념적으로 실제 디스크와 동일하지만 가상화되어 실제 디스크보다 더 높은 복원력과 가용성을 제공합니다. 관리 디스크를 사용할 경우 디스크를 프로비저닝하기만 하면 Azure에서 나머지 작업을 처리합니다.
Azure Tables
Azure Table Storage는 많은 양의 구조화된 데이터를 저장합니다. Azure 테이블은 Azure 클라우드 내부 및 외부에서 인증된 호출을 수락하는 NoSQL 데이터 저장소입니다. 이를 통해 Azure 테이블을 사용하여 하이브리드 또는 다중 클라우드 솔루션을 빌드하고 데이터를 항상 사용할 수 있습니다. Azure 테이블은 구조화된 비관계형 데이터를 저장하는 데 적합합니다.