Microsoft Azure, 가상 컴퓨터(VM)에서 SMB 프로토콜을… Azure Files 서비스

image

Microsoft Azure내의 가상 컴퓨터(VM)에서 SMB 파일 서버 형태(SMB 프로토콜 2.1)로 Microsoft Azure의 저장소(스토리지)를 사용할 수 있는 형태의 서비스가 있습니다. 금일 살펴볼 Azure Files 서비스가 이에 해당되며, 현재 Preview 상태로 서비스되고 있습니다. Microsoft Azure를 사용하고 있는 분들이시라면, Microsoft Azure Preview Portal에서 신청하실 수 있습니다.

Microsoft Azure에서 제공하는 저장소는 VM을 사용할 경우, VM에 대한 VHD 파일, 그리고 VM 자체의 환경 설정 파일등을 저장하는 형태로 사용됩니다.

image

만들어진, 저장소 계정은 계정 이름과 접근시 필요한 액세스 키를 이용하여, HTTP 형태로 접근이 가능하게 되어 있습니다.

image

이에 PaaS 형태의 응용 프로그램을 개발할 경우, 저장소내 단순한 파일을 저장하는 Blob(블롭) 서비스, 표 형태로 저장하는 Table(테이블) 서비스, 그리고 큐를 처리하는 형태로 이용 가능한 Queue(큐) 서비스가 있죠.

image

이러한 형태로 접근 가능하기 때문에 Azure Storage Explorer 형태의 프로그램을 통해, 마치 웹 하드와 같은 형태로도 사용할 수 있었습니다.

image

IT 엔지니어에게는 앞서 언급한 바와 같이, Microsoft Azure의 저장소는 VM을 사용할 때, 관련된 파일을 저장하는 형태로 이용이 되는 것이죠.

image

Azure Files 서비스를 이용하면, VM내에서 SMB 프로토콜을 이용하여 UNC 경로 형태(\\서버 이름\공유)로 Microsoft Azure내 저장소를 이용할 수 있습니다. 현재 Azure Files 서비스는 Preview 상태이므로, Microsoft Azure 관리 포탈에서는 별도의 설정이 불가능하며, Microsoft Azure PowerShell을 이용하여 설정해야 합니다. Azure Files과 관련된 PowerShell Cmdlet은 최신의 Microsoft Azure PowerShell에 포함되어 있습니다. (2014년 8월 11일 현재, 0.8.6)

Azure Files 서비스를 위해 우선 이용하고자 하는 지역에 저장소 계정을 하나 생성합니다. 이 포스팅에서는 저장소 계정이 koalrafileshare입니다.

image

Get-AzureStorageKey Cmdlet을 이용하여, 해당 계정의 Primary 액세스 키를 받아냅니다. 이후, New-AzureStorageContext Cmdlet을 이용하여, 작업을 하기 위한 저장소 컨텍스트를 선언합니다.

image

New-AzureStorageShare Cmdlet을 이용하여, 저장소 계정내 공유를 생성합니다. 그 이후, New-AzureStorageDirectory Cmdlet을 통해서 폴더를 생성합니다.

image

폴더까지 만들어졌다면, VM에서 연결해서 사용하거나, Windows File API를 통해서 사용할 수 있게 됩니다. 만약 Microsoft Azure PowerShell을 통해서 현재 파일을 저장소로 업로드하려면, Set-AzureStorageFileContent Cmdlet으로 할 수 있습니다. 이 후, Get-AzureStorageFile Cmdlet으로 DIR과 마찬가지의 결과를 얻을 수 있고, Get-AzureStorageFileContent Cmdlet으로 다운로드도 가능합니다. 당연한 사항이지만, Remove-AzureStorageFile Cmdlet으로 삭제가 되겠죠.

image

정리를 하면, Azure Files 컨셉은 아래 그림을 통해서 쉽게 이해가 되실 것입니다. 아래 그림은 https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-files/ 에서 가져왔습니다.

image

REST 프로토콜을 통해서, Azure Files을 사용할 수 있습니다. 이에 대해서는 여기를 참고하세요.

이제, VM에서 실제 Azure Files을 사용하는 방법을 살펴봐야겠죠. SMB 프로토콜을 사용하는 방법은 Windows 탐색기 또는 명령 프롬프트로 할 수 있습니다.

net use z: \\<account name>.file.core.windows.net\<share name> /u:<account name> <account key> 기본적인 문법입니다. Azure Files에 대한 엔드포인트 정보는 저장소 대시보드 페이지에서 확인이 가능합니다.

image

Account Name은 저장소 계정(이 포스팅에서는 koalrafileshare), 암호는 저장소 계정의 액세스 키입니다. 키는 Get-AzureStorageKey Cmdlet이나, Microsoft Azure 관리 포탈에서 확인할 수 있습니다.

image

다른 계정으로 연결을 체크하였기에, 인증 창이 나타납니다.

image

여기에, 저장소 계정과 액세스 키를 입력합니다. SMB 프로토콜을 통해서 접속된 저장소를 볼 수 있습니다.

image

간단하지만, VM 시나리오에서 손쉽게 Microsoft Azure의 저장소 계정을 사용하는 방법을 살펴보았습니다.