
この記事の内容
Azure Blob Storageはデータをオブジェクトとして扱う保存先、Azure Filesは共有フォルダーとして使う保存先、マネージドディスクはAzure VMに接続するディスクです。 最初は「何を保存できるか」より、「アプリがどう読み書きするか」に注目すると違いが見えてきます。
たとえば、写真は三つのどれにも保存し得ます。「画像だからBlob」と名前だけで決めるのではなく、アプリが写真を取得するのか、共有フォルダーを開くのか、VMのディスクへ書くのかを確かめましょう。
この記事は、Azureの教材を読み始めた人向けの用語整理です。架空の勉強会アプリを使って考えるので、Azureのアカウント作成や操作は必要ありません。
オブジェクト・ファイル・ブロックは、何が違う?
三つは、保存領域をアプリやOSにどう見せるかの違いです。
| 種類 | 読み書きするときの見方 | 今回扱うサービス |
|---|---|---|
| オブジェクト | 名前を指定して、データとその情報を扱う | Azure Blob Storage |
| ファイル | フォルダーやファイルのパスを指定して開く | Azure Files |
| ブロック | OSなどがディスクの領域を読み書きする | Azureマネージドディスク |
ブロックストレージでは、その上にファイルシステムを用意すると、アプリからはファイルやフォルダーを扱えます。画面にファイルが見えるだけでは、裏側がAzure FilesなのかVMのディスクなのかは分かりません。
Azureには、このほかにもQueue Storageなどのサービスがあります。今回は三つの保存方法をつかむために範囲を絞っています。Azure Storageの公式概要
勉強会アプリの「写真・共有資料・OS」で考える
勉強会の案内アプリに、次の三つの要件があるとします。
- アプリから、会場の写真を名前を指定して取得したい
- 二つの処理用サーバーから、同じ資料フォルダーを開きたい
- アプリを動かすAzure VMに、OSを入れるディスクが必要
下の図は、それぞれの要件を三つの保存方法に結び付けたものです。実際の画面や推奨構成ではなく、違いを読むための模式図です。すべてのアプリに三つとも必要、という意味ではありません。
Blob Storage:写真などを、名前を指定して取得する
Blob Storageは、画像・文書・動画などのデータをオブジェクトとして保存するサービスです。基本のまとまりは「ストレージアカウント → コンテナー → Blob」。コンテナーに複数のBlobをまとめます。
今回の例なら、会場写真を「hall.jpg」という名前のBlobにし、アプリがAPIなどで取得する、と読みます。APIは、プログラムからサービスに処理を依頼するための窓口です。BlobにはHTTP/HTTPSでアクセスでき、開発用のライブラリも用意されています。Blob Storageの公式概要
ここで覚えておきたいのは、BlobのURLがあることと、誰でもその画像を見られることは別という点です。匿名で読めるかどうかには公開設定が関係します。この記事の図は、公開やアクセス許可の設定を表していません。匿名読み取りアクセスの公式説明
教材に出てくる「ブロックBlob」は、Blobの種類の一つです。名前に「ブロック」が入っていても、ここで比較しているVM用のブロックストレージと同じ分類として読まないようにしましょう。
また、Blob StorageにもNFSやSFTP、BlobFuseを使う方法があります。「Blobは絶対にマウントできない」と覚えると、次の教材で混乱します。まずオブジェクトとしての基本を押さえ、追加のアクセス方法は対応条件と一緒に読みます。Blobのアクセス方法と種類
Azure Files:同じ共有フォルダーを開く
Azure Filesは、Microsoftが管理するファイル共有サービスです。SMBやNFSというファイル共有用の通信方式を使い、複数のクライアントから同じ共有へ接続できます。「マウントする」は、ネットワーク上の共有を、利用する側からフォルダーやドライブとして扱えるようにすることです。Azure Filesの公式概要
勉強会アプリの例なら、二つのサーバーが「資料」フォルダーを開き、同じ「agenda.pdf」を読む場面です。既存アプリの説明に「共有パスからファイルを開く」と書かれていたら、ファイル共有を前提にしていると気づけます。
共有へ接続できることと、複数の処理が同じファイルを書き換えても競合しないことは分けて考えます。アプリの更新方法やファイルのロックなども確認が必要です。
対応条件にも注意しましょう。Azure FilesはSMBとNFSを提供しますが、同じファイル共有で両方を併用する方式ではありません。 利用するOS、プロトコル、ネットワーク、認証方法に合う構成かを確認します。ファイル共有の作成方式によっても対応範囲が異なります。Azure Filesの計画ガイド
マネージドディスク:VMのOSからディスクとして使う
Azureマネージドディスクは、Azure VMで使うブロックレベルのストレージです。サーバーに接続するディスクを仮想化したもの、と考えるとつかみやすくなります。VMのOS用や、アプリのデータ用のディスクに使います。マネージドディスクの公式概要
今回の例は、Azure VMのOSをマネージドディスクに置く構成です。写真やPDFを一つずつサービスのAPIで取得するのではなく、VMのOSがディスク上のファイルシステムを通して読み書きする、と整理できます。
「ディスクは必ずVM一台だけで使う」と言い切るのも正確ではありません。対応する種類のデータディスクでは、複数VMで共有する機能があります。ただし、書き込みを調整するクラスター管理などが必要で、Azure FilesのようなSMB/NFSの共有フォルダーがそのまま用意されるわけではありません。共有ディスクの公式説明
なお、VMの「一時ディスク」はマネージドディスクではありません。保守や再配置などでデータが失われる場合があるので、教材に出てきたらOSディスク・データディスクと区別して読みましょう。VMのディスクの役割
最後に、三つの説明文を読み分けてみよう
次の文を読み、Blob Storage・Azure Files・マネージドディスクのどれを説明しているか、理由と一緒に考えてみてください。実際の操作は不要です。
- 「アプリが、名前を指定して会場写真のオブジェクトを取得する」
- 「二つのサーバーが、SMBで同じ資料フォルダーを開く」
- 「Azure VMに、OSを入れるディスクを接続する」
今回の例の答えは、順にBlob Storage、Azure Files、マネージドディスクです。「写真」「PDF」というファイルの種類よりも、「オブジェクト」「共有フォルダー」「VMに接続するディスク」という使い方が手掛かりになります。
使う教材でも、保存先の名前の横に「何が、どう読み書きするか」を一文で書いてみましょう。既存アプリを移す話なのか、新しくデータを保存する話なのかも読み取りやすくなります。
実際の構成を決める段階では、必要な性能、容量、地域、料金、アクセス権、データの戻し方を別途確認します。たとえばBlobでは、障害に備える冗長化と、誤削除・上書きに備える保護機能は役割が異なります。「マネージドだから、どんな消し方をしても戻せる」とは考えず、保存先ごとの保護機能と設定を確かめてください。Blobのデータ保護の公式説明
リソースとしてのまとまりが気になる場合は、リソース・リソースグループ・サブスクリプションの関係へ進むと、今回の保存先をAzure全体の中に位置付けられます。
保存先の次に「アプリをどこで動かすか」を知りたい場合は、VM・App Service・Functionsの違いで、管理する範囲と実行のきっかけを整理できます。
コピーをどこに置くかと、誤って消したデータを戻す備えは別の問いです。Azure Storageの冗長性とバックアップの違いで、LRS・ZRS・GRSと復元の役割を整理できます。
出典を開く
- 確認日 https://learn.microsoft.com/en-us/azure/storage/common/storage-introduction
- 確認日 https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction
- 確認日 https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction
- 確認日 https://learn.microsoft.com/en-us/azure/storage/files/storage-files-planning
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview
- 確認日 https://learn.microsoft.com/en-us/azure/virtual-machines/disks-shared
- 確認日 https://learn.microsoft.com/en-us/azure/storage/blobs/anonymous-read-access-overview
- 確認日 https://learn.microsoft.com/en-us/azure/storage/blobs/data-protection-overview