Azure Blob Storage と File Storage

Microsoft は、クラウド上にデータを保存するためのオプションをいくつか提供しています。 各オプションは、さまざまなビジネス ニーズに対応するための独自の目的を持っています。 Microsoft Azure が提供する重要な機能の 1 つは、必要に応じて異なるストレージ オプションに移行できる俊敏性です。

ユーザー データを保存するために Azure Storage Account で利用可能なさまざまなオプションがあります。

  • Blob Storage
  • File Storage
  • Table Storage
  • Queue Storage
  • Disk

このブログでは、Azure Storage Accountで使用できるBlobストレージとファイルストレージについて区別することを試みています。

はじめに

Blob Storage

Azure Blob Storageは、クラウド用のオブジェクトストレージソリューションです。 Blob Storage を使用すると、大量の非構造化データを保存することができます。

File Storage

Azure Filesは、業界標準のSMB経由でアクセス可能な、完全に管理されたファイル共有をクラウドで提供します。 Azure File共有は、Windows、Linux、およびmacOSのクラウドまたはオンプレミスのデプロイメントによって同時にマウントすることができます。 Azure File Sync を使用して Windows サーバーにキャッシュして、より高速なアクセスを実現できます。

When to Use

Blob Storage

Azure Blob Storage は特定のニーズを満たすために設計されています。 ビジネスのユースケースで、オーディオ、ビデオ、画像などの非構造化データを保存する必要がある場合は、おそらくこのオプションを使用する必要があります。 Blob に格納されるオブジェクトは、必ずしも拡張子を持つ必要はありません。

次のポイントでは、ユースケース シナリオを説明します。

  • 画像やドキュメントを直接ブラウザに提供する
  • 分散アクセスのためにファイルを保存する
  • ビデオやオーディオのストリーミング
  • ログ ファイルへの書き込み
  • バックアップやリストアのためにデータを保存する。 災害復旧とアーカイブ
  • オンプレミスまたは Azure ホスト サービスでの分析用データの保存

File Storage

File Storage は、ビジネス用途で主に *.NET Framework のような標準ファイル拡張子を扱う必要がある場合に使用されます。docx、*.png、*.bak などの標準的なファイル拡張子を扱う必要がある場合は、このストレージ オプションを使用する必要があります。

次のポイントでは、使用事例シナリオを説明します。

  • オンプレミス ファイル サーバーの置き換えまたは補完
  • “Lift and shift” アプリケーション
  • クラウド開発の簡素化

このブログを PDF 文書として無料でダウンロードし、オフラインで読むことができます。

Real-time Scenario

ある開発環境において、すべての開発者が IDE とツールをダウンロードするためにインターネットを使用せずにアクセスする必要がある場合を考えてみましょう。 この状況では、Azure Blob Storage がニーズを満たし、これを使用して、開発ツールだけを格納し、Blob の場所にアクセスするためのリンクをチームに提供することができます。 ファイルサーバーは、組織内の部署間でファイルを共有するために使用されます。 ファイル共有になると、エンドユーザーはそのURIからファイルのコピーにアクセスすることができず、コンピュータにローカルにマッピングされる必要があります。

大容量ファイルのアップロード

大容量ファイルのアップロードに使われる一般的なアプローチは、ファイルをチャンクに分割することです。 分割はファイルをアップロードする機能だけでなく、アップロードが完了したら、チャンクを 1 つのファイルにマージする必要があります。 Azure Blob Storage または File Storage?

答えは、Azure Blob Storage です。 このシナリオはファイルを扱いますが、Azure Blob Storage は、その既製の機能により、適しています。 ブロック、ページ、およびアペンドです。 ブロックは、Blob の 1 つの単位です。 1 つの Blob には多数のブロックを含めることができますが、1 つの Blob につき 50,000 ブロックまでとなります。 つまり、1つのBlobを50,000ブロックに分割してAzure Blobsストレージにアップロードすることができる。 ブロックの最小サイズは64KBで、最大サイズは100MBです。 例えば.NETライブラリを見てみると、CloudBlockBlobクラスの一部であるBlockBlobがオブジェクトの1つになっている。 たとえば、StreamWriteSizeInBytes プロパティでは、不安定なネットワーク速度に対処するために有効なブロック ブロブ サイズを設定できます。 また、各ブロックBlobにはメタデータがあり、個別に制御することができます。 たとえば、すべてのブロック Blob が指定された Blob に正常にコミットされたことを確認したい場合、Content-MD5 を使用できます。

Azure File Storage には、このすぐに使用できる機能は備わっていません。 ファイルを分割する必要がある場合は、FileStream クラスのような間接的な方法を見つけるか、サード パーティ ベンダーを使用する必要があります。

Blob Storage と File Storage で使用できる監視オプション

Azure Portal

目的のストレージ アカウントを監視セクションの診断オプションに設定すると、監視したいメトリック データの種類とデータの保持ポリシーを定義できるようになります。

デフォルトのメトリックのセットは、個々のサービス ブレード (Blob とファイル) だけでなく、ストレージ アカウント ブレードにもチャートで表示されます。 サービスのメトリックを有効にすると、そのチャートにデータが表示されるまで最大で1時間かかることがあります。 5660> Azure portal ストレージ監視オプション

Serverless360(既製品)

Status または Threshold モニターで Storage Blobs と Storage Files の両方を監視することが可能です。 ステータスモニターは、1日のうち特定の時間に、希望する値に対するエンティティの状態を表すレポートを生成します。 Threshold Monitor は、特定のプロパティが指定された期間の望ましい値に違反したときに、レポートを生成します。 Serverless360 では、Azure Portal とは異なり、主に Blob と File をメトリックではなくプロパティに基づいて監視します。

エンティティ タイプ 監視できるプロパティ
ストレージ Blob リース状態、ブロブ数、ブロック サイズ(バイト)、ブロック ブロブ 数、ブロック ブロブ サイズ(バイト)、ページ ブロブ数、ブロブ数、ブロブ数、ブロブサイズ(バイタ、バイト、バイト)、ページ ブロブ数、ブロブサイズ(バイト、バイト、バイト)、ブロック ブロブ数、ブロブ数、ブロブ数、ブロブ数、ブロブサイズ(バイト、バイト、バイト)、ブロック ブロブ数、ブロブサイズ(バイト、バイト)、ページ ブロブサイズ(バイト、バイト Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes)
ストレージ ファイル Usage (Bytes)

下の画像は Serverless360 アプリケーションの Status Monitor における Blob 構成を表しています。

Sl360 blob status monitor

下記は、エラーが一定期間続いた場合に発生するエラーの詳細です。

Sl360 blob error details

Scalability

Azure Storage のクォータと制限を知ることは、正しい選択肢の選択に大きな意味があります。 Azure Blob Storageの容量に関する最高レベルの表現はContainersであり、Filesの場合はSharesです。

50,000 X 100 MB (approx.). 4.75 TB)

Azure Blobs Resource Target
Max size of single Blob container 500 TB
ブロック Blob または append Blob 50のブロック数最大。000 blocks
Max size of a block Blob 100 MB
Max size of a block Blob
追記ブロックの最大サイズ Blob 4 MB
追記ブロックの最大サイズ Blob 50,000 x 4 MB(約… 続きを読む 195 GB)
ページ Blob の最大サイズ 8 TB
1つの Blob コンテナに保存できる最大アクセスポリシー数 5

1 TB

Azure Files Resource Target
Max size of File share 5 TB
Max ファイル共有におけるファイルのサイズ 1 TB
ファイル共有におけるファイルの最大数 制限なし
共有ごとの最大 IOPS 1000 IOPS
ファイル共有あたりの最大保存アクセスポリシー数 5
ストレージアカウントあたりの最大リクエストレート 20,有効なサイズのファイルに対して毎秒 000 リクエスト
単一のファイル共有の目標スループット 毎秒最大 60 MB
ファイルごとの最大オープンハンドル 2000 オープンハンドル
共有スナップショットの最大数 200 共有スナップショット

セキュリティ

Azure Storage Blob および Files Storage Service Encryption は Azure Storage アカウント レベルに属しているため、暗号化されます。 アプリケーションが新しい Blob/File を書き込むとき/読み込むとき、それらは 256 ビット AES (Advanced Encryption Standard) アルゴリズムを使用して暗号化されます。 REST API を介して呼び出す場合、Azure Blob と Azure Files の両方が、Secure Required Transfer を有効にすることでサポートされます。

Azure Blobs と Azure Files の両方は、Blobs と Files への委任アクセスを取得するために SAS (Shared Access Signature) を必要とします。

Azure Blobsでは、BlobEncryptionPolicyクラスによる暗号化をAzure Key Vaultで実現することができます。 Azure Files は、SMB 3.0 プロトコルに組み込まれた暗号化を使用します。 また、Azure BlobsとAzure Filesの両方がCORS(Cross-Origin Resource Sharing)ルールをサポートしています。 CORSでは、HTTPヘッダー要求のホワイトリストを記述できます。

ネットワークセキュリティに関しては、Azure BlobsとAzure Filesの両方への受信ネットワークトラフィックをより制御することができます。 指定したIP範囲と仮想ネットワークにのみアクセスを許可します。

ディザスタ リカバリ

データが組織の血液と見なされる企業にとって、データのバックアップは重要です。 残念ながら、Azure の回復とバックアップには、Blob およびファイル ストレージからデータを正しくバックアップするための自動化がありません。 データを処理するには、オンプレミス インフラストラクチャにデータをダウンロードするか、データを保存するために別の地域に新しいストレージ アカウントを作成します。 コピーブロブを使用して、ブロブを宛先ストレージアカウントに非同期でコピーします。 ファイル共有を宛先ストレージアカウントに非同期でコピーするには、ファイルのコピーを使用します。

価格

ここで説明する価格は、Microsoft のドキュメント

Data Storage Prices

Azure File および Blob にデータを保存する場合の価格は、下記のとおりです。 Storage

$0.01 / GB

$0.012 / GB

$0.012 / GB

$0.0203/GB

Blob Storage PREMIUM HOT COOL ARCHIVE
First 50 Terabyte (TB) / month $0.TB First 50% HOT% COOL% Blob Storage $0.022 / GB $0.01 / GB $0.00099 / GB
Next 450 TB / Month $0.0 / GB $0.01 / GB $0.02 / GB Next 450 TB / Month $0.0212 per GB $0.01 per GB $0.00099 per GB
Over 500 TB / Month $0.01 / GB
$0.012 / GB $0.012 / MB $0.0203/GB $0.01/GB $0.00099/GB
ファイルストレージ STANDARD
GB/month $0.0/GB $1.06/使用GB
スナップショット GB/月 $0.06/使用GB

運用とデータ転送の価格

Azure File and Blob Storageでの運用とデータ転送の価格

以下は、運用とデータ転送の価格である。

$0.004

Blob Storage PREMIUM HOT COOL ARCHIVE
Write operations (per 10.)000)1 $0.021 $0.05 $0.10 $0.11
List and Create Container Operations (per 10,000)2 $0.06 $0.05 $0.05 $0.06 $0.05
リードオペレーション(1万回あたり)3
アーカイブ高優先度リード(1万回あたり)5
$0.0017 $0.004 $0.01 $5.50
$30
その他の操作(1万件あたり)、ただしDeleteは無料 $0.0017 $0.004 $0.004 $0.004
データ検索(GB単位)4
アーカイブ高優先度検索(GB単位)5
無料 ドル0.01 $0.022
$0.06
データ書き込み(1GBあたり)4 Free $0.06 $0.06 Free $0.06 Data Write (per GB)0025 Free
0.018ドル。0015
ファイルストレージ STANDARD
保存、作成 コンテナ操作(10,000単位) $0.015
リスト操作(1万件につき) $0.015
削除を除くその他の操作(無料) $0.015
ジオレプリケーションデータ転送(GiB単位) N/A

まとめ

デジタル変革の中で、アプリケーションは近代化し、アプリケーション層のみならずデータ層にも大規模パターンが必要になりますが、Azure Filesではフィットしない気がしています。

おそらく、Azure Blob Storage と Files の間の最良の選択肢を結論づける前に、考慮すべき個々の側面があります。 共通の機能性を考慮すると、私はFilesよりもAzure Blob Storageを選びます。

著者 Nadeem Ahamed

Nadeem は Serverless360 の技術製品マーケティング担当者です。 彼は、最先端の技術についてブログを書くことに情熱を注いでいます。 彼は、ブログがコミュニティ間で知識を共有する最良の方法であり、書くことに対する彼の情熱は、息を引き取る最後の日まで決して終わらないと信じています。 彼はいつも「外見はとても良い、内面は良い感じになる」というフレーズを信じている。Nadeem Ahamed

の投稿をすべて表示