Azure ストレージ サービスについて

完了

まずは、Azure ストレージ サービス、データ スタイル、アカウントについて簡単に確認してみましょう。

Microsoft Azure Storage は、クラウド内で ''耐久性があり''、''セキュリティで保護された''、''スケーラブルな'' ストレージを提供する ''マネージド'' サービスです。 これらの用語をわかりやすく説明しましょう。

用語 説明
マネージド メンテナンスや重大な問題は、Microsoft Azure がお客様に代わって処理します。
耐久性 冗長性により、一時的なハードウェア障害が発生した場合でも、データが安全であることが保証されます。 地域での災害や自然災害に対する追加での保護として、データをデータセンターまたは地理的リージョン間でレプリケートすることもできます。 この方法でレプリケートされたデータは、予期しない停止が発生した場合に高可用性が維持されます。
セキュリティ保護 Azure Storage によって、そのサービスに書き込まれるすべてのデータが暗号化されます。 Azure Storage では、ご利用のデータにアクセスできるユーザーをきめ細かく制御できます。
スケーラブル Azure Storage には、今日のアプリケーションのデータ ストレージとパフォーマンスに関するニーズを満たすために、高度にスケーラブルな設計が採用されています。

単一の Azure サブスクリプションで、リージョンごとに最大 250 個のストレージ アカウントをホストでき、それぞれのストレージ アカウントの最大容量は 5 PiB となります。

Azure ストレージ サービスのデータ型

Azure Storage には、次の 4 種類のデータがあります。

  • BLOB: テキストおよびバイナリ データ用の非常にスケーラブルなオブジェクト ストアには、Azure Data Lake Storage Gen2 のサポートを含めることができます。
  • Files: クラウドまたはオンプレミスのデプロイ用のマネージド ファイル共有。
  • Queues: アプリケーション コンポーネント間の信頼性の高いメッセージングのためのメッセージング ストア。
  • Table Storage: 構造化データのスキーマレス ストレージのための NoSQL ストア。 Table Storage についてはこのモジュールでは説明していません。

Azure Storage 内のこのような種類のデータすべてに、世界中のどこからでも HTTP または HTTPS 経由でアクセスできます。 Microsoft では、さまざまなプログラミング言語および REST API で Azure ストレージ サービス用の SDK を提供しています。 Azure portal ではすぐにデータを視覚的に確認できます。

BLOB

Azure Blob Storage は、テキストまたはバイナリ データなどの大量の非構造化データを格納するために最適化されたオブジェクト ストレージ ソリューションです。 Blob Storage は、次の目的に最適です。

  • 画像またはドキュメントをブラウザーに直接配信する (完全に静的な Web サイト)。
  • 分散アクセス用にファイルを格納する。
  • ビデオおよびオーディオをストリーミング配信する。
  • バックアップと復元、ディザスター リカバリー、アーカイブのためのデータを格納する。
  • オンプレミス サービスまたは Azure ホステッド サービスで分析するデータを格納する。

Azure Storage でサポートされている 3 種類の BLOB:

BLOB の種類 説明
ブロック BLOB ブロック BLOB は、最大 5 TB (100 MB のブロックが 50,000 個) のテキスト ファイルまたはバイナリ ファイルの保存に使用されます。 ブロック BLOB は主に、最初から最後まで読み込まれるファイルの保存に使用されます。メディア ファイルや Web サイトの画像ファイルなどです。 100 MB を超えるファイルは小さいブロックとしてアップロードされる必要があるため、これらはブロック BLOB と名付けられています。 アップロード後、小さなブロックが連結され (あるいはコミットされ)、最終的な BLOB が作られます。
ページ BLOB ページ BLOB は最大 8 TB のランダム アクセス ファイルの保存に使用されます。 ページ BLOB は主に、Azure Virtual Machines (Azure VM) に耐久性のあるディスクを提供するための VHD 用のバッキング ストレージとして使用されます。 512 バイト ページを読み書きするランダム アクセスを提供するため、ページ BLOB という名前が付けられています。
追加 BLOB 追加 BLOB は、ブロック BLOB と同様にブロックで構成されますが、追加操作に最適化されています。 これらの BLOB は、1 つ以上のソースから同じ BLOB に情報を記録するために使用されます。 たとえば、複数の VM 上で実行されているアプリケーションの場合は、すべてのトレース ログを同じ追加 BLOB に書き込みます。 1 つの追加 BLOB は最大 195 GB です。

Files

Azure File Storage では、標準的なサーバー メッセージ ブロック (SMB) プロトコルを使用してアクセスできる可用性の高いネットワーク ファイル共有を設定することができます。 つまり、複数の VM が、読み取りアクセス権と書き込みアクセス権の両方を使用して同じファイルを共有できます。 また、REST インターフェイスまたはストレージ クライアント ライブラリを使用してファイルを読み取ることもできます。 また、任意のファイルに一意の URL を関連付けることで、設定した期間、プライベート ファイルへの細かに制御されたアクセスを許可することができます。 ファイル共有は、多くの一般的なシナリオで使用できます。

  • すべてのユーザーが同じバージョンを使用するように、VM、ツール、またはユーティリティに対して共有される構成ファイルの格納
  • 診断、メトリック、クラッシュ ダンプなどのログ ファイル
  • 一定の期間にわたるクラウドへのアプリの移行を可能にするため、オンプレミスのアプリケーションと Azure VM との間で共有されるデータ

Queues

Azure Queue Storage は、メッセージの格納と取得に使用されます。 キューに許容されるメッセージ サイズは最大 64 KB で、1 つのキューに数百万件のメッセージを格納することができます。 キューは、非同期的に処理するメッセージ一覧を格納するために使用します。

キューを使用することで、ご利用のアプリケーションのさまざまな部分をゆるく接続することができます。 たとえば、ユーザーによってアップロードされた写真上でイメージ処理を実行することが可能です。 ユーザーが Microsoft のサービスで格納したすべてのイメージを対象にして検索を行えるように、ある種の顔検出またはタグ付け機能を提供することが多分必要です。 キューを使用して Microsoft のイメージ処理サービスにメッセージを渡すことができます。これにより、新しいイメージがアップロードされ、処理可能な状態にあることをこのサービスに知らせることができます。 この種のアーキテクチャを使用すれば、サービスの各部分を個別に開発したり更新したりすることができます。

Table Storage

Azure Table Storage の詳細については、Table Storage の概要に関する記事を参照してください。

Azure ストレージ アカウント

アプリケーションからこのようなサービスのいずれかにアクセスするには、ストレージ アカウントを作成する必要があります。 ストレージ アカウントには、ご自分のデータ オブジェクトを格納してそれにアクセスするために一意の名前空間が用意されています。 ストレージ アカウントには、このアカウントの下で作成する BLOB、Files、キュー、テーブル、VM ディスクが含まれます。

ストレージ アカウントの作成

Azure ストレージ アカウントは、Azure portal、Azure PowerShell、または Azure CLI を使用して作成できます。 Azure Storage は、3 種類のアカウントから選択できるようになっています。3 つのアカウントはそれぞれ料金体系が異なり、サポートされている機能も異なります。

アカウントの種類 説明
汎用 v2 (GPv2) 汎用 v2 (GPv2) アカウントは、BLOB、Files、キュー、テーブルの最新機能すべてをサポートするストレージ アカウントです。 GPv2 アカウントの料金は、GB 単価の最安値の実現を目指して設定されています。
汎用 v1 (GPv1) 汎用 v1 (GPv1) アカウントでは、すべての Azure Storage サービスにアクセスできますが、最新の機能が利用できない場合があるほか、GB 単価もやや高いことがあります。 たとえば、GPv1 では、クール ストレージとアーカイブ ストレージがサポートされません。 この種類のアカウントは、GPv1 トランザクションの料金が比較的低いため、変更頻度が高いワークロードや読み取り速度が速いワークロードでメリットが得られることがあります。
BLOB ストレージ アカウント 従来のアカウント型である BLOB ストレージ アカウントは、GPv2 とまったく同じブロック BLOB 機能を備えていますが、サポートされるのはブロック BLOB と追加 BLOB だけです。 価格については、汎用 v2 アカウントと大きな違いはありません。

ストレージ アカウントの作成についてより詳しく学びたい場合は、学習ポータル内の「Azure ストレージ アカウントの作成」モジュールを参照してください。