AzureStorageの概要

Azureを利用していると必ずBlobストレージを利用しますが、Blobストレージ・ストレージアカウント・DataLakeStorageGen2など、色々と呼び方があるので、自分なりにまとめてみました。

ポイント

似たような用語が出てくるので非常にわかりにくいので、単語の意味を正確に捉えることが重要です。

参考ページ:https://learn.microsoft.com/ja-jp/azure/storage/

Azure Storageとは

Azure StorageとはAzureのクラウドストレージソリューションの総称のことです。特定のサービスを示す言葉ではありません。また、AzureStorageはIaaSに分類されます。

AzureStorageデータサービスとストレージアカウントの関係性について、正しく理解しておくことが重要です。

Azure Storageデータサービス

Azure Blob/Azure FilesなどがAzure Storageデータサービスと呼ばれており、Azureで提供されるストレージサービスのことを、AzureStorageデータサービスと呼びます。

ストレージアカウント

Azure Storageデータサービスを利用するためには、ストレージアカウントと呼ばれるリソースを作成する必要があります。つまり、ストレージアカウントとは、AzureStorageデータサービスを利用するための箱になります。

AzureStorageデータサービス(Blobストレージなど)を利用するためにはストレージアカウントを作成し、作成したストレージアカウント内にAzureStorageデータサービスを作成する必要があります。1つのストレージアカウントに複数のデータサービスを作成することも可能です。

また、ストレージアカウントを作成する際、パフォーマンスを「Standard」か「Premium」かを選択します。Standardは汎用ストレージのことでHDDが利用されますが、PremiumはSSDが利用されます。また、汎用ストレージはv1とv2があり、現在ではv2が推奨です(v1は互換性のために残っているだけ)。

AzureStorageデータサービス

ストレージアカウントで利用可能な主要なAzure Storageデータサービスは下記の4種類になります(他のデータサービスを知りたい場合はAzureStorageデータサービスを参照)

AzureStorageデータサービス概要
Azure BLOBテキストおよびバイナリデータのためのオブジェクトストア。ビッグデータ分析に利用可能なDataLakeStorageGen2はこれに属する。AWSのS3にあたる。
Azure FilesSMB/NFS/REST APIでアクセス可能なフルマネージドのクラウドファイル共有サービス。要するにNAS。
Azure Queueアプリケーション間の非同期メッセージキューを利用するときに利用する
Azure Table半構造化データを格納可能なキーバリューストア。
ストレージアカウントで利用される主なAzureStorageデータサービス

Azure BLOBはAzure Import/Exportに対応していますが、Azure FilesはImportのみの対応です。また、QueueとTableはImport/Exportに非対応です。

ポイント

単にBlobストレージと呼ばれることも多いですが、Azure BLOBには下記3種類が含まれます。詳細は、公式ドキュメントを参考にしてください(参考:ブロック BLOB、追加 BLOB、ページ BLOB について)。

  • ブロックBlob
  • 追加Blob
  • ページBlob

AzureStorageデータサービスのアクセス層(階層構造)

アクセス層(DataLakeStorageGen2では階層型ストレージと呼ばれる)とは、アクセス頻度に応じてコスト最適化・パフォーマンス改善が可能な仕組みです。

すべてのAzureStorageデータサービスで利用できるわけではなく、AzureBLOBとAzureFilesで利用可能です。ただし、利用するBlobの種類(ブロック・追加・ページ)によって、利用できないアクセス層があります。また、汎用ストレージv1では利用できません。

下記はAzureBLOBのアクセス層です。特に、HotとCoolをオンラインアクセス層、Archivedをアーカイブアクセス層と呼びます。

アクセス層概要
Hot高頻度にアクセスするデータを保管するアクセス層
Cool最低30日間はアクセスしないデータを保管するアクセス層
Archived最低180日間はアクセスしないデータを保管するアクセス層
AzurBLOBで利用されるアクセス層(参考:BLOB データのホット、クールおよびアーカイブ アクセス層

次に、AzureFilesのアクセス層です。

アクセス層概要
Premium唯一SSDで提供され、最も低遅延
トランザクション最適化トランザクション負荷が高いシステムで利用される
Hot汎用的に利用可能で、最も一般的なアクセス層
Cool長期保存用のアクセス層
AzurFilesで利用されるアクセス層

ストレージアカウントのパフォーマンスとサブタイプによる冗長性

ストレージアカウントを作成する際に指定するパフォーマンスの種類によって、利用できるAzureStorageデータサービスは異なります。下の表はそれぞれのパフォーマンスで何を利用できるかを示した表になります。

サブタイプとは、AzurePortalのストレージアカウントのページで表示されるタイプです。

パフォーマンスサブタイプ利用可能なAzureStorageデータサービス
Standard(HDD)StorageV2BLOB / Files / Queue / Table
Premium(SSD)BlockBlobStorageBLOB
Premium(SSD)FileStorageFiles
Premium(SSD)StorageV2Blob(現在はマネージドディスクが使われるためほぼ利用されない)
ストレージアカウントのパフォーマンスと利用可能なデータサービス

AzureStorageデータサービスの冗長性

冗長性は、パフォーマンスとサブタイプに応じて、設定できるパラメータが異なります。

パフォーマンスサブタイプ利用可能な冗長性
Standard(HDD)StorageV2LRS / ZRS / GRS / RA-GRS / GZRS / RA -GZRS
Standard(HDD)Storage(v1は非推奨)LRS / GRS / RA-GRS
Premium(SSD)BlockBlobStorageLRS / ZRS
Premium(SSD)FileStorageLRS / ZRS
Premium(SSD)StorageV2LRS
選択可能な冗長性

各冗長性は下記のとおりです。アルファベットの頭文字を抑えておきましょう。ローカル(L)、ゾーン(Z)、リージョン(G)です。末尾のRSはRedundacy Storageであり、冗長ストレージという意味です。

  • LRS (Local RS):同一データセンター内の3つのノードにデータを保存
  • ZRS(Zone RS):同一リージョンの3つのデータセンターにデータを保存
  • GRS(Geo RS):2つのリージョン(プライマリとセカンダリ)にデータを保存し、それぞれのリージョンの単一データセンター内の3つのノードにデータ保存する
  • GZRS(Geo Zone RS):2つのリージョンにデータを保存し、それぞれのリージョンの3つのデータセンターにデータを保存する
  • RA-GRS (Read-Access GRS):プライマリとセカンダリ両方に対してデータの読み取りが可能となり、負荷分散が可能となる。

AzCopyコマンド

AzCopyコマンドは、ストレージアカウントからファイルを取得したり、ストレージアカウントにBlobファイルを配置したりすることが可能なCLIツールです。

  • azcopy copy:単一のファイル・ディレクトリをコピーする
  • azcopy sync:2つのディレクトリを比較し同期を取ることが可能。常にソースディレクトリを基準に同期する
  • この記事を書いた人

たかさん

犬と暮らすクラウドエンジニア。GCPが好きだけど良く触るのはAWSとAzureです。

-Azure
-,