この記事のポイント
- Azure Storageは、Blob、Files、Queue、Tableなど多様なデータサービスを提供し、柔軟なデータ管理を実現
- 高度な暗号化技術や物理的セキュリティにより、データの機密性と整合性を保護
- LRS、ZRS、GRS、GZRSなど複数の冗長性オプションでデータの耐久性と可用性を確保
- 料金体系はストレージタイプとデータ量に基づく従量課金制で、コスト最適化が可能
- 開発者向けに豊富なAPIとSDKを提供し、アプリケーション開発を効率化
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
クラウドストレージを利用する際、企業や開発者が直面する主な課題は、データの保存、アクセス、保護の面で柔軟性とセキュリティを確保することです。
Azure Storageは、これらの問題に対するソリューションとして、信頼性の高いクラウドベースのストレージサービスを提供しています。
本記事では、Azure Storageの特徴や利点、各種データサービス、セキュリティ対策、料金体系、開発者向けのAPIやツールなど、Azure Storageに関する幅広い情報を紹介します。
Azure Storageを活用することで、企業や開発者がクラウドストレージに関する課題をどのように解決できるのかを探ります。
Azureの基本知識や料金体系、利用方法についてはこちらの記事で詳しく解説しています。
➡️Microsoft Azureとは?できることや各種サービスを徹底解説
Azure Storageとは
Azure Storage は、Microsoft Azure が提供するクラウド ストレージ ソリューションであり、最新のデータ ストレージ シナリオ向けのさまざまなサービスを提供します。
事実上無制限の容量と従量課金制のサービス モデルが特徴で、わずか数百ギガバイトを必要とする企業から数兆のオブジェクトを処理する企業まで、あらゆる規模の企業に適しています。
ストレージのイメージ
Azure Storageの特徴
ストレージは書類の保管のようなものなので保管庫として信頼できる要素を持っているかは重要です。
Azureでは以下のような要素を持つことで非常に優秀な保管庫として機能します。
-
耐久性
Azure Storage は、リージョン間でデータを複数回レプリケートすることでデータの耐久性を保証します。耐久性を上げるために、ローカル冗長ストレージ (LRS)、ゾーン冗長ストレージ (ZRS)、地理冗長ストレージ (GRS)、読み取りアクセス地理冗長ストレージ (RA-GRS) などのさまざまな冗長オプションが提供されています。
-
高可用性
耐久性の高い機能を備えた Azure Storage サービスは、自動的に高可用性を確保します。1 つのデータセンターで致命的な障害が発生した場合でも、他の場所からデータにアクセスできるため、永久的なデータ損失が防止されます。
-
スケーラビリティ
Azure Storage は、ピーク需要に合わせてデータを自動的にスケールアウトし、負荷分散します。グローバル名前空間を提供し、世界中のどこからでもデータにアクセスできるようにします。
-
セキュリティ
Azure Storage は、認証セキュリティのために共有キー モデルに依存しています。共有アクセス署名 (SAS) を使用すると、アクセスをさらに制限できます。SAS は、指定された期間の特定のアクセス許可を定義するトークンです。
-
費用対効果
Azure Blob Storage の従量課金制の価格モデルでは、前払い費用なしで実際に使用したストレージに対してのみ料金が発生するため、プラットフォームはソーシャル メディア プラットフォームにとって費用対効果が高くなります。
-
アクセシビリティ
Azure Storage に保存されているデータは、HTTP または HTTPS 経由で世界中からアクセスできます。.NET、Java、Node.js、Python、PHP、Ruby、Go など、さまざまなプログラミング言語とプラットフォームをサポートしています。
Azure Storageのデータサービス
ここでは、Azure各データサービスの概要とそれぞれの役割について解説します。
Azure Blob Storage
Azure Blob Storage はAzure starageの中でもよく使われるサービスです。
データ構造と使用例
Blob Storage: 画像、ビデオ、バックアップなどの非構造化データ に適しています。スケーラブルでコスト効率の高いストレージが必要なシナリオに最適です。
ファイル ストレージ: 階層構造を備えた構造化データ用に設計されています。ファイルへの共有アクセスが必要なアプリケーションに最適です。
アクセスプロトコル
Blob Storage: REST API、SDK、および Azure Storage Explorer などのツールを通じてアクセスします。これは、アプリケーションが格納された BLOB と対話するためのプログラムによるアクセスを提供します。
ファイル ストレージ: サーバー メッセージ ブロック (SMB) プロトコルを使用してアクセスします。Windows および Linux 環境とのシームレスな統合を可能にし、ネットワーク ドライブ アクセスを提供します。
データの管理と操作
Blob Storage: 効率的なブロックベースのアップロードにより、大量のデータが関係するシナリオに適しています。
ファイル ストレージ ファイル共有を利用し、階層構造を提供します。これは、複数の VM またはアプリケーションがファイルへの共有アクセスを必要とするシナリオに最適です。
冗長性と耐久性
Blob Storage: ローカル冗長ストレージ (LRS)、ゾーン冗長ストレージ (ZRS)、地理冗長ストレージ (GRS) などの冗長オプションを提供します。複数のデータセンターにわたるレプリケーションにより、高い耐久性を保証します。
ファイルストレージ: データの耐久性と可用性のための冗長オプションをサポートします。需要に基づいた自動スケーリングを備えたスケーラブルなストレージ ソリューションが可能になります。
【関連記事】
➡️Azure Blob Storageとは?アクセス方法や料金、メリットを解説!
Azure Files
Azure Filesは、Microsoft Azureが提供するクラウドベースのファイル共有サービス です。
Azure Filesは、従来のファイルサーバーのクラウド版と考えることができ、ファイル共有やネットワークドライブとしての利用に適しています。
このサービスを利用することで、インターネット経由でどこからでもアクセス可能な共有ファイルストレージを簡単に設定し、管理することができます。
また、Azure Filesは、SMB (Server Message Block) プロトコルやNFS (Network File System) プロトコルをサポートしており、Windows、Linux、macOSの各オペレーティングシステムからアクセス可能です。
【関連記事】
➡️Azure Filesとは?その機能や料金、アクセス方法をわかりやすく解説
Azure Queue Storage
Azure Queue Storageは、Microsoft Azureが提供するクラウドサービスで、大量のメッセージを格納できるキューを作成するためのサービス です。このサービスを使用すると、アプリケーションのコンポーネント間で非同期通信を行うことができます。
【関連記事】
➡️Azure Queue Storageとは?その概要やメリット、使い方を解説!
Azure Table Storage
Azure Table Storage は、Azure が提供するクラウドベースのサービスであり、構造化 NoSQL データ、つまり非リレーショナル構造化データを保存するために用意されています。このサービスは、スキーマレス設計のキー/属性ストアを提供し、アプリケーションの変化に合わせてデータを柔軟に適応させることができます。以下に、Azure Table Storage の機能と用途を示します。
-
スキーマレス設計
Azure Table Storage はエンティティにスキーマを強制しないため、データ構造の柔軟性が高まります。
つまり、1 つのテーブルにさまざまなプロパティ セットを持つエンティティを含めることができるため、データ モデルが頻繁に変更される可能性があるシナリオに適しています。
-
高速かつコスト効率の高いアクセス
Azure Table Storage に保存されているデータへのアクセスは高速かつコスト効率が高く、さまざまな種類のアプリケーションに適しています。
通常、同様の量のデータに対して従来の SQL データベースと比較してコストが低くなります。
-
柔軟なデータセット
Azure Table Storage は、Web アプリケーションのユーザー データ、アドレス帳、デバイス情報、その他の種類のメタデータなどの柔軟なデータセットを保存するのに最適です。
テーブル内に任意の数のエンティティを収容でき、複数のテーブルを含むストレージ アカウントをサポートします。
-
スケーラビリティ
Azure Table Storage は大量の構造化データを処理できるため、Web スケールのアプリケーションに適しています。需要が増加すると、増加するデータ量に合わせてテーブルを拡張できます。
-
データのクエリとアクセス
テーブル ストレージは、クラスター化インデックスを使用したデータのクエリをサポートしており、迅速なデータの取得を可能にします。
また、WCF Data Service .NET ライブラリで OData プロトコルと LINQ クエリを使用してデータにアクセスできるため、データ アクセス方法が柔軟になります。
Azure Table Storage の一般的な使用例には次のようなものがあります。
- Web スケール アプリケーション用にテラバイト規模の構造化データを保存する。
- 複雑な結合、外部キー、ストアド プロシージャを必要とせず、高速アクセスのために非正規化できるデータセットを保存する。
- クラスター化インデックスを使用してデータを迅速にクエリする。
- WCF Data Service .NET ライブラリで OData プロトコルと LINQ クエリを使用してデータにアクセスする。
【関連記事】
➡️Azure PostgreSQL解説記事
Azure Disk Storage
Azure Disk Storageは、Microsoft Azureクラウドサービスで提供されるディスクレベルのストレージソリューションです。このサービスを利用することで、仮想マシン(VM)に対して高性能なブロックストレージ(ディスク)を提供し、VMのOSディスクやデータディスクとして使用できます。
Azureマネージドディスクを仮想マシン(VM)の永続ストレージとして活用することで、数々の利点と用途が得られます。
-
管理の簡素化
AzureマネージドディスクはVMのストレージ管理を抽象化し、ディスクのプロビジョニングと管理をAzureが処理します。
ユーザーはディスクのサイズと種類を指定するだけでよく、VMのストレージのセットアップと管理が簡素化されます。
-
複数のディスクタイプ
マネージドディスクには、Ultraディスク、プレミアムSSD、標準SSD、標準HDDなどの複数のタイプが用意されています。
ユーザーはパフォーマンスとコストの要件に応じて適切なディスクタイプを選択できます。
-
スケーラビリティと統合
マネージドディスクはAzureのサービスとシームレスに統合し、VMの高可用性とフォールトトレランスを確保します。
また、リージョンごとのサブスクリプションごとに最大50,000個のVMディスクを作成できるため、大規模な展開の拡張性が可能です。
-
高い耐久性と可用性
マネージドディスクは複数のレプリカにわたるデータレプリケーションによって99.999%の可用性を実現します。
また、ローカル冗長ストレージ(LRS)およびゾーン冗長ストレージ(ZRS)オプションにより、障害に対するデータの復元力が確保されます。
-
バックアップと回復
zure Backupはマネージドディスクのバックアップをサポートしており、時間ベースのバックアップと保持ポリシーを使用してバックアップジョブを作成できます。
これにより、必要に応じてVMまたはマネージドディスクの復元が可能になり、地域的な災害からデータを保護できます。
-
きめ細かなアクセス制御
ユーザーはAzureのロールベースのアクセス制御(RBAC)を利用して、マネージドディスクに特定のアクセス許可を割り当て、ディスクリソースへの安全なアクセスが保証されます。
-
セキュリティ機能
マネージドディスクはサーバー側暗号化(SSE)およびAzure Disk Encryption(ADE)による保存時の暗号化を提供し、データセキュリティと組織標準への準拠を保証します。
【関連記事】
➡️Azure Virtual Machines(VM)とは?料金体系やシリーズ毎の特徴を解説
Azure 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 などの一般的なファイル共有シナリオに適しています。
これらの共有は、一般的なファイル共有やコラボレーションのニーズに適した、バランスの取れたストレージパフォーマンスを提供します。ホット ファイル共有は、中程度の使用パターンと頻繁なファイルへのアクセスが必要なワークロードに適しています。
-
Cool
Cool ファイル共有は、アクセス頻度の低いデータを効率的に保存する必要があるオンライン アーカイブ ストレージ シナリオに最適化されています。
これらの共有は、アーカイブ データ、バックアップ、履歴レコードなど、アクセス頻度が低いデータの保存に適しています。データのアクセス頻度が低い場合、Azure File Sync と併用して Cool ファイル共有を活用することもできます。
【関連記事】
➡️Azureの料金体系を解説!サービスごとの料金例や確認方法も紹介
Azure storageのセキュリティと保護機能
データを扱うにあたりAzureに自社の大切なデータをおいて大丈夫かどうか気になる方も多いのではないでしょうか。
Azureは、サービス、インフラストラクチャ、および顧客データの包括的なセキュリティと保護を提供します。
以下に、Azureのセキュリティと保護の重要な側面をいくつか示します。
Azureのセキュリティ
-
物理的セキュリティ
Azureのデータセンターは、生体認証、監視カメラ、24時間365日の監視など、厳格な物理的アクセス制御を備えた非常に安全な施設です。これらの対策により、許可された担当者のみが物理インフラストラクチャにアクセスできるようになります。
-
ネットワークセキュリティ
Azureは、異なるAzureリソース間の不正アクセスを防ぐために、ネットワークの分離とセグメント化を実装しています。
仮想ネットワーク(VNet)、ネットワークセキュリティグループ(NSG)、およびAzure Firewallは、トラフィックフローを制御し、ネットワークセキュリティポリシーを適用するのに役立ちます。
-
IDとアクセス管理(IAM)
Azure Active Directory(Azure AD)は、Azureリソースの認証と承認を提供するクラウドベースのIDおよびアクセス管理サービスです。
ロールベースのアクセス制御(RBAC)を使用すると、管理者はロールに基づいてアクセス許可を割り当てることができるため、不正アクセスのリスクが軽減されます。
-
暗号化
Azureは、保存中および転送中のデータを暗号化して、不正なアクセスから保護します。Azure Storage Service Encryption(SSE)は、Azure Storageに保存されているデータを自動的に暗号化します。
Azure Disk Encryption(ADE)とAzure SQL Database Transparent Data Encryption(TDE)は、それぞれ仮想マシンディスクとSQLデータベースの暗号化を提供します。
-
脅威保護
Azure Security Centerは、脅威の検出と高度な分析を提供し、セキュリティの脅威をリアルタイムで特定して対応します。
Azureリソースを継続的に監視し、セキュリティデータを分析し、セキュリティ体制を改善するための実用的な推奨事項を提供します。
-
セキュリティコンプライアンス
Azureは、ISO 27001、SOC 1/2/3、GDPR、HIPAA、PCI DSSなどのさまざまな業界標準および規制要件に準拠しています。
Azureは、お客様が規制上の義務を果たすのに役立つコンプライアンスドキュメントと監査レポートを提供します。
-
バックアップとディザスターリカバリー
Azure BackupとAzure Site Recoveryは、Azureリソースに信頼性の高いバックアップとディザスターリカバリーソリューションを提供します。
これらにより、データのセカンダリAzureリージョンへの自動バックアップとレプリケーションが可能になり、災害時のビジネス継続性とデータ保護が確保されます。
【関連記事】
Azureのセキュリティ対策を徹底解説!主要機能や製品、導入事例も紹介
保護機能(冗長性)
データを保存するときに冗長性オプションの選択が可能です。可用性要件、コストの考慮事項、災害復旧のニーズなどの要素に基づいて適切な冗長性オプションを選択することの重要性について概説しています。
プライマリリージョンの冗長性
ローカル冗長ストレージ(LRS): プライマリリージョン内の単一のデータセンターでデータを3回同期的にコピーします。耐久性は99.999999999%以上ですが、高可用性シナリオには適していません。
ゾーン冗長ストレージ(ZRS): プライマリリージョンの3つのAzure可用性ゾーン間でデータを同期的にコピーします。LRSよりも可用性と耐久性が高く、高可用性が必要なアプリケーションに推奨されます。
セカンダリリージョンの冗長性
Geo-Redundant Storage(GRS): LRSを使用してプライマリリージョン内でデータを3回同期的にコピーし、その後、セカンダリリージョンに非同期的にコピーします。地域全体が停止してもデータの耐久性が保証されます。
Geo-Zone-Redundant Storage(GZRS): プライマリリージョンの可用性ゾーン全体の冗長性と、セカンダリリージョンへの地理的レプリケーションを組み合わせます。最大限の一貫性、耐久性、可用性を提供します。
セカンダリリージョンのデータへの読み取りアクセス
GRSまたはGZRSを使用すると、フェールオーバーが発生しない限り、セカンダリリージョン内のデータに直接アクセスできません。
セカンダリリージョンへの読み取りアクセスは、読み取りアクセスGRS(RA-GRS)または読み取りアクセスGZRS(RA-GZRS)構成を使用して、高可用性が必要なシナリオで有効にすることができます。
**冗長性オプションの概要
以下は、LRS、ZRS、GRS、GZRSなどの各冗長オプションの耐久性、可用性、サポートされるサービスをまとめた表です。
パラメータ | LRS | ZRS | GRS/RA-GRS | GZRS/RA-GZRS |
---|---|---|---|---|
1年間のオブジェクトの耐久性の割合 | 99% | 99% | 99% | 99% |
読み取り要求の可用性 | 99% | 99% | GRSの場合は、99% | RA-GRSの場合は、99% |
書き込み要求の可用性 | 99% | 99% | 99% | 99% |
データの別々のノードでの保持コピー数 | 単一のリージョン内で3つのコピー | 単一のリージョン内の別々の可用性ゾーンにわたる3つのコピー | 主要リージョン内の3つとセカンダリリージョン内の3つを含む合計6つのコピー | 主要リージョン内の別々の可用性ゾーンにわたる3つとセカンダリリージョン内の冗長なコピー3つを含む合計6つのコピー |
Azure Storage データ API およびライブラリのリファレンス
Azure Table Storage は、テーブルの形式で構造化ストレージを提供します。 Table Storage API は、テーブルとテーブルに含まれるデータを操作するための REST API です。
操作 | 説明 |
---|---|
Set Table Storage Properties | プロパティを設定します。 |
Get Table Storage Properties | プロパティを取得します。 |
Preflight Table Request | 実際のリクエストを送信する前に、テーブルストレージのクロスオリジンリソース共有(CORS)ルールをクエリします。 |
Get Table Storage Stats | テーブルストレージのレプリケーションに関連する統計情報を取得します。この操作は、ストレージアカウントで読み取りアクセスジオ冗長レプリケーションが有効になっている場合にのみ、セカンダリロケーションエンドポイントで利用できます。 |
Query Tables | ストレージアカウント内のテーブルを列挙します。 |
Create Table | ストレージアカウント内に新しいテーブルを作成します。 |
Delete Table | ストレージアカウントからテーブルを削除します。 |
Get Table ACL | 共有アクセス署名と共に使用できるテーブルに指定された保存されたアクセスポリシーの詳細を返します。 |
Set Table ACL | 共有アクセス署名と共に使用できるテーブルに指定された保存されたアクセスポリシーの詳細を設定します。 |
Query Entities | テーブル内のデータをクエリします。 |
Insert Entity | テーブルに新しいエンティティを挿入します。 |
Insert Or Merge Entity | テーブルにエンティティを挿入またはマージします。 |
Insert Or Replace Entity | テーブルにエンティティを挿入または置換します。 |
Update Entity | テーブル内の既存のエンティティを置換して更新します。 |
Merge Entity | テーブル内の既存のエンティティをマージして新しいプロパティ値をエンティティにマージします。 |
Delete Entity | テーブル内のエンティティを削除します。 |
まとめ
本記事では、Microsoft Azureが提供するクラウドストレージソリューション「Azure Storage」について、その多様なストレージオプションと優れたセキュリティ機能を詳しく解説しました。
Azure Storageは、Blob、File、Queue、Tableなど、様々な種類のストレージサービスを提供しており、企業や開発者のニーズに応じて最適なストレージを選択できます。また、定期的な巡回冗長検査(CRC)によるデータの整合性確認や、高度な暗号化技術の採用など、データの保護とセキュリティにも細心の注意を払っています。
クラウド時代において、データは企業の最も重要な資産の一つです。Azure Storageを効果的に活用することで、貴重なデータを安全に保管し、柔軟に管理・運用することができます。ビジネスの成長と発展のために、Azure Storageの特徴と利点を理解し、自社のニーズに合わせたストレージ戦略を策定していくことが肝要です。
クラウドストレージの可能性を最大限に引き出すためにも、Azure Storageを上手に活用し、データの価値を最大化していきましょう。