この記事のポイント
- Azure Blob Storageは、Microsoftが提供する非構造化データ向けのクラウドオブジェクトストレージサービス
- ストレージアカウント、コンテナー、BLOBの3層構造で、ブロックBLOB、追加BLOB、ページBLOBの3種類をサポート
- HTTP/HTTPS経由で世界中からアクセス可能で、さまざまなプログラミング言語のSDKを提供
- プレミアム、トランザクション最適化、ホット、クールの4つのアクセス層があり、用途に応じて選択可能
- データ保護や認証、暗号化などの高度なセキュリティ機能を備え、企業のコンプライアンス要件に対応
監修者プロフィール
坂本 将磨
AI導入で企業DXを推進する人| Microsoft AIパートナー|東工大修士(領域:NLP,金融工学)|NHK放送技術研究所(AI,ブロックチェーン)→シンガポールでweb3企業経営→LinkX Japan株式会社代表
Azure Blob Storageは、非構造化データの保存に特化した、Microsoft Azureクラウドプラットフォームの重要なコンポーネントです。
文書、画像、動画、バックアップデータなど、様々なタイプのデータを保存し、必要に応じて世界中から取り出すことが可能なサービスで、企業のデータ管理ニーズに幅広く対応します。
この記事では、Azure Blob Storageの特徴、有用性、そして使用シナリオについて解説し、これを活用することでビジネス運用の効率がどのように向上するかをご紹介します。
さらに、データの安全保護やコンプライアンスへの対応、ハイブリッド及びマルチクラウド環境での利用の利点、開発者が利用できるサポートなど、各方面からAzure Blob Storageの可能性に迫ります。
Azure Blob Storageを利用して、データドリブンで柔軟かつ信頼性の高いビジネス環境を構築しましょう。
Azureの基本知識や料金体系、利用方法についてはこちらの記事で詳しく解説しています。
➡️Microsoft Azureとは?できることや各種サービスを徹底解説
Azure Blob Storageとは
Azure Blob Storageは、Microsoft Azureが提供するクラウドベースのオブジェクトストレージソリューションです。このストレージは、テキストデータやバイナリデータなどの非構造化データを大量に保存することに最適化されており、さまざまなデータの保存と取得のシナリオを効率的に処理できるように設計されています。
-
目的
Azure Blob Storageは、ブラウザーへの画像やドキュメントの直接提供、分散アクセス用のファイルの保存、ビデオとオーディオのストリーミング、ログファイルへの書き込み、バックアップと復元、ディザスターリカバリー、アーカイブ、データ分析など、さまざまな目的を持っています。 -
アクセスと互換性
ユーザーやクライアントアプリケーションは、世界中のどこからでも HTTP/HTTPS経由でBlob Storage内のオブジェクトにアクセスできます。
アクセスできる例:Azure Storage REST API、Azure PowerShell、Azure CLI、または.NET、Java、Node.js、Python、Goなどのさまざまなプログラミング言語で利用できるAzure Storageクライアントライブラリなど、さまざまな方法。
さらに、Blob Storageには、SSHファイル転送プロトコル(SFTP)を使用して安全にアクセスし、ネットワークファイルシステム(NFS)3.0プロトコルを使用してマウントできます。
Azure Blob Storageの、ストレージリソースの種類
Blob Storageは、主に次の3種類のリソースで構成されます。
- ストレージアカウント:データストレージ用にAzure内に一意の名前空間を提供します。
- コンテナー:ファイルシステム内のディレクトリに似たBLOBのセットを編成します。ストレージアカウントには複数のコンテナーを含めることができ、各コンテナーには複数のBLOBを格納できます。
- BLOB:ブロックBLOB、追加BLOB、ページBLOBの3種類のBLOBがサポートされており、それぞれがさまざまなシナリオに合わせて最適化されています。BLOB URIは特定の形式に従い、ストレージアカウント名、コンテナー名、BLOB名が組み込まれます。
- データ移行
Azure Blob Storageは、AzCopy、Azure Storage Data Movement library、Azure Data Factory、Blobfuse、Azure Data Boxサービス、Azure Import/Exportサービスなどのツールを含む、既存のデータをBlob Storageに移行するためのいくつかのソリューションを提供します。
Azure Blob Storageの使い方
Azure Blob Storageは、Microsoft Azure上でアンストラクチャードデータを格納するためのスケーラブルなオブジェクトストレージソリューションです。
Blob Storageを利用するには、以下の手順に従います。
リソースグループの選択または作成
Azure Portalにログインし、ストレージアカウントを作成する前に、リソースグループを選択または新規作成します。
リソースグループは、Azureリソースを論理的にグループ化するための仕組みであり、以下のような用途で利用されます。
- プロジェクトごとにリソースをまとめて管理
- 同じライフサイクルを持つリソースをグループ化
- アクセス制御やコストの管理を容易にする
リソースグループは、Azure Portal上で管理することができます。
リソースグループの作成方法については、こちらの記事をご覧ください。
【関連記事】
➡️Azureのリソースグループとは?作成や移動、アクセス権限の管理を解説
ストレージアカウントの作成
Azure Portalでストレージアカウント作成ページに移動し、作成をクリックします。
作成方法には、PowerShellやAzure CLIなどでkindパラメーター(StorageV2など)とskuまたはSkuNameパラメーター(例: Standard_GRS)を指定することもできます。
コンテナの作成
作成したアカウントのメニューからコンテナーを作成するためのオプションを見つけ、「コンテナー作成」ボタンをクリックします。
次に、コンテナー名を入力し、このコンテナーに対するパブリックアクセスレベルを設定します。一般的に、BLOBにすることでコンテナー内のオブジェクトに公開されたアクセスを提供します。
Blobにアップロード
- 対象のコンテナーを選択し、空の場合は「アップロード」ボタンをクリックしてアップロードブレードを開きます。
- ローカルファイルシステムからアップロードしたいファイルを選択し、必要に応じてアップロード操作の詳細を構成します。
- 選択したファイルをBLOBとしてアップロードするために「アップロード」ボタンをクリックします。これにより、ファイルがコンテナー内にアップロードされ、Azureポータルを介してアクセス可能になります。
Blobから削除
- 対象のコンテナーを選択します。
- コンテナーが表示されたら、削除したいBLOBを選択します。
- 選択したBLOBを削除するには、コンテナーの上で右クリックし、表示されるオプションから「削除」を選択します。
または、BLOBを選択した後、上部のメニューバーで「削除」アイコンをクリックします。この手順に従うと、選択したBLOBがコンテナーから削除されます。
Azure Blobの主要機能とメリット
Azure Blob Storageは、非構造化データを効率的に保存し、様々な用途に適した多機能なストレージソリューションです。
以下では、Azure Blobの主要な機能とメリットについて詳しく説明します。
非構造化データに特化した設計
Azure Blob Storageは、特定のデータモデルや定義にこだわらず、テキストデータやバイナリデータなどの大量の非構造化データを効率的に保存するように設計されています。
多目的な利用
Azure Blob Storageは、画像やドキュメントのブラウザへの直接提供、分散アクセス用のファイルの保存、ビデオとオーディオのストリーミング、ログファイルへの書き込み、バックアップと復元、災害復旧、アーカイブのためのデータの保存、オンプレミスまたはAzureでホストされるサービスによるデータの保存と分析など、様々な用途に利用できます。
アクセスの容易性
ユーザーやクライアントアプリケーションは、世界中どこからでもHTTP/HTTPS経由でBlob Storage内のオブジェクトにアクセスできます。
Azure Storage REST API、PowerShell、CLI、各種プログラミング言語のクライアントライブラリを使用してアクセス可能です。
セキュリティと接続
Blob Storageは、SSHファイル転送プロトコル(SFTP)による安全な接続をサポートし、ネットワークファイルシステム(NFS)3.0プロトコルを使用してマウントできます。
Azure Data Lake Storage Gen2との統合
Azure Blob StorageはAzure Data Lake Storage Gen2をサポートし、低コストの階層型ストレージ、高可用性、強力な整合性、災害復旧機能などの利点を提供します。
階層構造
Blob Storageリソースは、ストレージアカウント、ストレージアカウント内のコンテナー、コンテナー内のBLOBという3つの主要な階層に編成されています。
この階層構造により、データの効率的な編成と管理が可能になります。
複数のBLOBタイプのサポート
Azure Storageは、次の3種類のBLOBをサポートします。
- ブロックBLOB
テキストやバイナリデータをブロック単位で保存します。 - 追加BLOB
追加操作に最適化されたBLOB。仮想マシンからのデータのログ記録などのシナリオに適しています。
ページBLOB
Azure仮想マシンの仮想ハードドライブ(VHD)ファイルなどのランダムアクセスファイルを保存するために使用されます。
Azure Blob Storageの料金体系
Azure ファイル共有の使用レベルには、さまざまなワークロードの多様なニーズを満たすための幅広いオプションが用意されており、パフォーマンス、待機時間、コストの最適化における柔軟性が提供されます。
ユーザーは、特定のワークロード要件と予算の考慮事項に基づいて、適切な層を選択できます。
データストレージ | プレミアム | トランザクション最適化 | ホット | クール |
---|---|---|---|---|
データ静止(GiB/月) | 1プロビジョニングGiBあたり$0.16* | $0.06 | $0.0255 | $0.015 |
スナップショット(GiB/月) | $0.136 | $0.06 | $0.0255 | $0.015 |
メタデータ静止(GiB/月) | 含まれています | 含まれています | $0.027 | $0.027 |
プレミアム
プレミアム ファイル共有は、高いスループットと低い遅延を必要とする、I/O 集中型のワークロードに対応するように設計されています。
これらのファイル共有は、高性能なソリッドステートドライブ(SSD)ベースのストレージを利用しており、データベースや仮想マシンのストレージなど、厳しいパフォーマンス要件を持つアプリケーションに適しています。
トランザクションの最適化
トランザクションの最適化されたファイル共有は、プレミアム ファイル共有によって提供される極めて低い遅延を必要としないが、一貫した遅延が必要なトランザクションの多いワークロードに適しています。
これらのファイル共有は、金融アプリケーションやメッセージング システムなど、頻繁に小規模なトランザクションに依存するアプリケーションに最適です。
アクセス頻度
ホット
ホット ファイル共有は、チーム共有や Azure File Sync などの一般的なファイル共有シナリオに適しています。
これらの共有は、一般的なファイル共有やコラボレーションのニーズに適した、バランスの取れたストレージパフォーマンスを提供します。
ホットファイル共有は、中程度の使用パターンと頻繁なファイルへのアクセスが必要なワークロードに適しています。
クール
クール ファイル共有は、アクセス頻度の低いデータを効率的に保存する必要があるオンライン アーカイブ ストレージ シナリオに最適化されています。
これらの共有は、アーカイブデータ、バックアップ、履歴レコードなど、アクセス頻度が低いデータの保存に適しています。
データのアクセス頻度が低い場合、Azure File Sync と併用してCoolファイル共有を活用することもできます。
Azure Blobのお得な利用
Azure Storage の予約ストレージは、「Azure Storage 予約容量」と呼ばれるコスト削減機能を指します。
この機能を利用することで、ユーザーは1年または3年間の予約を確約し、その期間中はStandardストレージアカウントのブロックBLOBと、Azure Data Lake Storage Gen2データの容量に対して割引が適用されます。
割引容量
予約容量では、予約期間中に一定量のストレージ容量が提供され、ユーザーはブロックBLOBとAzure Data Lake Storage Gen2データのストレージコストを節約できます。
節約要素
予約容量によるコスト削減は、予約期間、予約された合計容量、ストレージアカウントの選択したアクセス層と冗長性オプションなどの要因によって異なります。
購入オプション
ユーザーは1年または3年間のAzure Storage予約容量を購入できます。予約は月あたり100TiBおよび1PiB単位で可能です。
予約範囲
予約容量の範囲は、単一のサブスクリプション、複数のサブスクリプション(共有範囲)、または管理グループに設定できます。割引は選択したスコープに適用され、購入したスコープ内のブロックBLOBとAzure Data Lake Storage Gen2データの両方をカバーできます。
サポートされているアカウントの種類と層
予約容量は、汎用v2(GPv2)やBLOBストレージアカウントなどの標準ストレージアカウントのリソースで使用できます。ホット、クール、アーカイブのアクセス層に加えて、さまざまな冗長性オプションもサポートしています。
セキュリティ要件
予約容量を購入するには、ユーザーは、少なくとも1つのエンタープライズまたは従量課金制の個人サブスクリプションの所有者ロールであるか、エンタープライズサブスクリプションのEA管理者であるなど、適切な権限を持っている必要があります。
請求と支払い
ユーザーは、予約の支払いを前払いするか、月払いで支払うかを選択できます。選択したサブスクリプションに関連付けられた支払い方法は、予約費用の請求に使用されます。
Azure・AWS・GCPのストレージサービス比較
AWS、GCP、Azureの3社は、それぞれ特徴のあるストレージサービスを提供しています。
クラウド大手3社のストレージサービスを、主要な特徴から比べてみましょう。
サービス | Amazon S3 | Google Cloud Storage | Azure Blob Storage |
---|---|---|---|
ストレージクラス | 5種類 | 4種類 | 3種類+特別なタイプ |
マルチリージョンと冗長性 | 非同期レプリケーションでマルチリージョン対応 | ストレージクラスに応じたマルチリージョン | ゾーンとリージョン単位の冗長性選択可 |
価格帯(USD/GB) | 0.002~0.025 | 0.0025~0.023 | 0.002~0.218 |
最小利用期間と課金単位 | なし、月平均 | なし、秒単位 | なし、日平均 |
他サービスとの連携 | Athenaなどから直接アクセス可 | BigQueryの外部テーブルとして利用可 | Data Lake Analyticsで分析可能 |
Azure Blob Storageは3種類のストレージクラスと特別なタイプを提供し、ゾーンとリージョン単位で冗長性を選択できます。価格帯は0.002~0.218USD/GBと幅広く、最小利用期間はなく日平均の課金となります。Data Lake Analyticsを使ってデータを分析可能です。
Amazon S3は5種類のストレージクラスを用意し、非同期レプリケーションによるマルチリージョン対応が可能です。価格帯は0.002~0.025USD/GBで、最小利用期間はなく月平均での課金となります。他サービスとの連携では、Athenaなどから直接アクセスできます。
Google Cloud Storageは4種類のストレージクラスがあり、選択したクラスに応じたマルチリージョン構成が可能です。価格帯は0.0025~0.023USD/GBで、最小利用期間はなく秒単位の課金です。BigQueryの外部テーブルとしてデータを利用できます。
【関連記事】
➡️AzureとAWSの料金、サービス、性能を徹底比較【2024年最新】
Azure Blobのセキュリティ
Blobにデータを保存する際、セキュリティは非常に重要な懸念事項です。ここでは、Blobのデータ保護について解説します。データ保護とID管理は適切に行う必要があります。
1. データ保護
以下に、主要なデータ保護の方法を紹介します。
Azure Resource Manager (ARM) デプロイ モデルの使用
新しいストレージ アカウントをデプロイする際には、Azure Resource Manager (ARM) デプロイ モデルを活用し、Azure RBAC、監査、マネージド ID、Azure Key Vault などのセキュリティ機能を有効にします。
Microsoft Defender for Storage の有効化
Microsoft Defender for Storageを有効にすると、ストレージ アカウントへのアクセスや悪用の異常な試行を検出し、セキュリティの脅威から保護します。
BLOB とコンテナーの論理的な削除
論理的な削除を使用すると、誤って削除されたBLOBやコンテナーを回復し、データ損失を防ぐことができます。
ストレージ アカウントのロック
Azure Resource Manager ロックを適用して、ストレージ アカウントの削除や構成変更を防ぎ、整合性を維持します。
不変 BLOB ストレージ
訴訟ホールドと時間ベースの保持ポリシーを利用して、ビジネス クリティカルなデータを保護し、不正な変更や削除から守ります。
Shared Access Signature (SAS) トークンの HTTPS に制限
SASトークンをHTTPS接続のみに制限して、BLOB データへの安全なアクセスを確保します。
【関連記事】
➡️[Azureのセキュリティ対策を徹底解説!主要機能や製品、導入事例も]
Azure Blob Storageのアクセス管理
Azure Blob Storageへのアクセスを適切に管理することは、データのセキュリティを維持する上で非常に重要です。以下に、主要なアクセス管理の方法を紹介します。
Microsoft Entra ID(旧Azure AD)の使用
Microsoft Entra ID を使用して、セキュリティと使いやすさを実現し、データへのアクセスを認証します。
【関連記事】
➡️Microsoft Entra ID(Azure AD)とは?機能やAzure ADとの違いを解説
最小特権の原則
Azure RBACを使用して、必要なアクセス権限のみを割り当て、データの悪用を防止します。
【関連記事】
Azure RBACとは?設定手順やカスタムロールをわかりやすく解説!
【関連記事】
Azure RBACとは?設定手順やカスタムロールをわかりやすく解説!
ユーザー委任 SAS の使用
ユーザー委任 SAS を使用して、制限付きアクセスをクライアントに安全に許可します。
Azure Key Vault でのアカウント アクセス キーの保護
アカウント アクセス キーをAzure Key Vaultに保存して保護し、攻撃リスクを軽減します。
アカウント キーの定期的な再生成
データへの不正アクセスのリスクを軽減するために、アカウント キーを定期的に再生成します。
共有キー認証の禁止
共有キー認証を禁止し、Microsoft Entra ID 認証のみを許可してセキュリティを強化します。
SAS の失効計画
侵害が発生した場合に備えて、SAS の失効計画を実装し、データセキュリティを維持します。
サービス SAS の有効期限の設定
不正アクセスのリスクを最小限に抑えるために、サービス SAS の有効期限を1時間以下に制限します。
匿名読み取りアクセスの無効化
コンテナーとBLOBへの匿名読み取りアクセスを必要な場合を除き無効にし、データへの不正アクセスのリスクを軽減します。
Azureのサポートリソース
以下は、技術者や開発者が直面する問題に対する解決策を探しやすくするためのドキュメンテーションや、Azure Blob Storageとその関連サービスに関する学習資料です。
Microsoft公式ドキュメント
- Introduction to Azure Blob Storage
- Azure Blob Storage documentation
開発者向けリソース
Azure Blob Storageを活用したアプリケーション開発を行う際に、開発者が参考にできる豊富なリソースが提供されています。
プログラミング言語別の公式ドキュメント
Azureの公式ドキュメントは、開発者がさまざまなプログラミング言語を使用してAzure Blob Storageを操作するための豊富なリソースを提供しています。例えば、以下のようなドキュメントがあります。
これらのドキュメントには、BLOBのアップロード、ダウンロード、削除、管理などの操作を実行する方法に関する詳細なガイドが含まれています。また、各セクションにはGitHubリンクが付属しており、開発者は提供されているコードサンプルに簡単にアクセスできます。
Microsoft Samplesリポジトリ
Azureは、開発者向けの豊富なリソースを提供しており、「storage-blob-upload-from-webapp-node」や「storage-blobs-node-quickstart」などのサンプルリポジトリが用意されています。
これらのリポジトリでは、Node.jsのExpress.jsアプリケーションからBlob Storageに画像をアップロードする方法などが示されています。コードはMITライセンスで公開されており、開発者はAzure Blob Storageをプロジェクトに効率的に統合するための有益な情報や例を得ることができます。
まとめ
本記事では、Azure Blob Storageについて詳しく解説しました。Azure Blob Storageは、Microsoft Azureが提供するクラウドベースのオブジェクトストレージソリューションで、非構造化データを大量に保存することに最適化されています。
Azure Blob Storageの概要と使い方、主要機能とメリット、料金体系、AWS・GCPとの比較、セキュリティ対策などについて説明しました。また、予約容量を利用したコスト削減の方法や、データ保護とアクセス管理の重要性についても述べました。
さらに、Azure Blob Storageを利用する際に役立つMicrosoftの公式ドキュメントや開発者向けリソースを紹介し、読者がさらに詳しい情報を得られるようにしました。
本記事を通じて、読者はAzure Blob Storageの基本的な概念、使い方、メリット、料金体系、セキュリティ対策などを理解し、自身のプロジェクトやビジネスでAzure Blob Storageを効果的に活用できるようになるでしょう。