마짱짱의 지식창고

Azure 스토리지 서비스(Blob, File, queue) 본문

Cloud/Azure

Azure 스토리지 서비스(Blob, File, queue)

마짱짱 2021. 1. 13. 14:29
반응형

1. Blob 스토리지

구조화 되지않은 대량의 비정형 데이터를 저장하기 위한 개체 스토리지 솔루션 입니다.

컨테이너 스토리지의 리소스간 관계

 

컨테이너 스토리지는 브라우저를 통해 이미지나 문서 파일에 직접 엑세스하거나 파일을 저장하고 분산 엑세스 해야할 경우 동영상이나 오디오 스트리밍, 로그 파일, 데이터 백업 및 복원, 온프레미스나 클라우드 서비스에서 분석하기 위한 데이터 저장 시나리오에 적합합니다.

 

컨테이너 스토리지에 Blob 데이터를 저장하려면 제일 먼저 컨테이너를 만들어야 합니다.

컨테이너는 Blob들을 그룹화하는 논리적인 개념입니다.

 

 

 

컨테이너 공용 엑세스 수준

프라이빗

-> 기본값이며 익명 엑세스를 제공하지 않으므로 Blob을 요청할 떄는 권한이 필요합니다.

Blob(Blob에 대한 익명 읽기 전용 엑세스)

-> 인증 절차 없이 Blob 데이터를 읽을 수 있지만 컨테이너 내의 Blob 목록을 나열할 수 없습니다.

컨테이너(컨테이너와 Blob에 대한 익명 읽기 엑세스)

-> Blob 데이터와 컨테이너의 Blob 목록을 읽을 수 있습니다.

-> 컨테이너의 권한 설정과 컨테이너 메타데이터는 엑세스할 수 없습니다.

 

컨테이너 수준에서 공용 엑세스를 지정하더라도 [스토리지 계정]의 [구성] 블레이드의 [Blob 공용 엑세스 허용] 항목이 '사용'으로 설정되지 않으면 공용 엑세스를 사용할 수 없습니다.

 

Blob 데이터 관리

Blob 유형

1. 블록 Blob: 텍스트나 이진 데이터 저장에 적합

2. 페이지 Blob: 임의 엑세스 파일인 가상 하드디스크(VHD)파일 저장에 적합

3. 추가 Blob: 로그 파일처럼 데이터를 추가하는 작업에 적합하다.

 

2. 파일 공유 스토리지(File Storage)

업계 표준인 SMB(Server Message Block) 프로토콜을 사용해 관리되는 파일 공유를 제공합니다. 쉽게 생각하면 온프레미스에서구현했던 파일 서버의 역할을 제공한다고 볼 수 있습니다. 따라서 여러 VM이 동일한 네트워크 드라이브를 공유하고 파일에 대한 읽기/쓰기를 할 수 있습니다.

온프레미스의 파일 서버와 다른 점 한가지는 공유 엑세스 서명(SAS, Shared Access Signiture) 토큰을 포함하는 URL을 통해 전 세계 어디서나 엑세스 할 수있는 파일 공유를 제공할 수 있다는 점이 있습니다.

 

파일 공유 스토리지를 사용하는 몇가지 시나리오

1. 파일 공유를 사용하는 온프레미스 어플리케이션을 Azure로 마이그레이션하면 변경을 최소화 할 수 있습니다.

2. 구성 파일 이나 도구 및 유틸리티를 파일 공유에 저장해 모든 개발자가 쉽게 동일한 버전을 사용할 수 있습니다.

3. 로그나 충돌 덤프와 같은 파일을 파일 공유에 저장한 다음 분석할 수 있습니다.

 

3. 큐 스토리지(Queue Storage) 

흔히 선입선출(FIFO, First In First Out) 자료구조를 큐라고 합니다.

이런 특성을 가진 큐 스토리지 이지만 언제나 순서를 보장하진 않습니다.

항상 보장해야하는 경우는 'Service Bus'를 사용해여 합니다.

 

Azure의 큐 스토리지는 대규모 비동기 메시지 처리가 필요한 서비스나 어플리케이션에 사용할수 있습니다.

  • URL 형식: 다음 URL 형식을 사용하여 큐에 주소를 지정할 수 있습니다.

    https://<storage account>.queue.core.windows.net/<queue>

    다음 URL은 다이어그램에 있는 큐의 주소를 지정합니다.

    https://myaccount.queue.core.windows.net/images-to-download

  • 스토리지 계정: Azure Storage에 대한 모든 액세스는 Storage 계정을 통해 수행됩니다. 스토리지 계정 용량에 대한 자세한 내용은 표준 스토리지 계정의 확장성 및 성능 목표를 참조하세요.

  • 큐: 큐에는 메시지 집합이 포함됩니다. 큐 이름은 반드시 모두 소문자여야 합니다. 큐 이름 지정에 대한 자세한 내용은 큐 및 메타데이터 이름 지정을 참조하세요.

  • 메시지: 최대 64KB인 임의 형식의 메시지입니다. 2017-07-29 미만 버전에서 허용되는 최대 TTL(Time to Live)은 7일입니다. 2017-07-29 이상 버전에서 허용되는 최대 TTL(Time to Live)은 모든 양수 또는 메시지가 만료되지 않는 -1입니다. 이 매개 변수를 생략하면 기본 TTL(Time to Live)은 7일입니다.

전 세계 어디서나 인증된 호출을 통해 HTTP 또는 HTTPS를 사용하여 메시지에 액세스할 수 있습니다. 큐 메시지의 크기는 최대 64KB입니다. 큐는 스토리지 계정의 용량 제한에 도달할 때까지 수백만 개의 메시지를 포함할 수 있습니다. 큐는 비동기적으로 처리할 작업의 백로그를 만드는 데 일반적으로 사용됩니다.

 

 

--

출처

처음 배우는 애저(김도균 지음, 한빛미디어)

Azure docs

https://docs.microsoft.com/ko-kr/azure/storage/blobs/storage-blobs-overview 

https://docs.microsoft.com/ko-kr/azure/storage/files/storage-files-introduction

https://docs.microsoft.com/ko-kr/azure/storage/queues/storage-queues-introduction

 

 

반응형