Azure Storage の概要
Azure Storage プラットフォームは、最新のデータ ストレージ シナリオのための Microsoft のクラウド ストレージ ソリューションです。 Azure Storage は、クラウド内のさまざまなデータ オブジェクトに対して、可用性が高く、スケーラビリティ、持続性、安全性に優れたストレージを提供します。 Azure Storage のデータ オブジェクトには、REST API を使って HTTP または HTTPS 経由で世界中のどこからでもアクセスできます。 また、Azure Storage には、.NET、Java、Python、JavaScript、C++、Go を使ってアプリケーションやサービスを構築する開発者向けのクライアント ライブラリも用意されています。 開発者と IT プロフェッショナルは、Azure PowerShell と Azure CLI を使ってデータ管理や構成タスクのためのスクリプトを記述できます。 Azure portal と Azure Storage Explorer には、Azure Storage を操作するユーザー インターフェイス ツールが用意されています。
Azure Storage の利点
アプリケーション開発者と IT プロフェッショナルにとって、Azure Storage サービスには次の利点があります。
- 持続性と高可用性。 冗長性により、一時的なハードウェア障害が発生した場合でも、データが安全に保たれます。 地域的な災害または自然災害から保護するために、データ センターまたは地理的リージョンにまたがってデータをレプリケートすることもできます。 この方法でレプリケートされたデータは、予期しない停止が発生した場合でも高可用性を維持します。
- セキュリティで保護されます。 Azure Storage アカウントに書き込まれたすべてのデータがサービスによって暗号化されます。 Azure Storage では、データにアクセスできるユーザーをきめ細かく制御できます。
- スケーラブル。 Azure Storage には、今日のアプリケーションのデータ ストレージとパフォーマンスに関するニーズを満たすために、高度にスケーラブルな設計が採用されています。
- 管理されている Azure では、お客様に代わって、ハードウェアのメンテナンス、更新プログラム、および重大な問題への対処が行われます。
- アクセス可能。 Azure Storage 内のデータには、世界中のどこからでも HTTP または HTTPS 経由でアクセスできます。 Microsoft では、.NET、Java、Node.js、Python、Go などのさまざまな言語の Azure Storage 用のクライアント ライブラリと、成熟した REST API を提供しています。 Azure Storage では、Azure PowerShell または Azure CLI によるスクリプトの実行がサポートされます。 また、Azure Portal と Azure Storage Explorer により、データを操作するための使いやすい視覚的ソリューションが提供されます。
Azure Storage データ サービス
Azure Storage プラットフォームには、次のデータ サービスが含まれています。
- Azure BLOB:テキストおよびバイナリ データのための高度にスケーラブルなオブジェクト ストア。 また、Data Lake Storage によるビッグ データ分析のサポートも含まれています。
- Azure Files:クラウドまたはオンプレミスのデプロイ用のマネージド ファイル共有。
- Azure Elastic SAN: Azure での SAN のデプロイ、スケーリング、管理、構成を簡略化する完全に統合されたソリューション。
- Azure キュー:アプリケーション コンポーネント間の信頼性の高いメッセージングのためのメッセージング ストア。
- Azure テーブル:構造化データのスキーマレス ストレージのための NoSQL ストア。
- Azure マネージド ディスク: Azure VM のブロックレベルのストレージ ボリューム。
- Azure Container Storage: コンテナー用にネイティブに構築された、ボリュームの管理、デプロイ、オーケストレーションのサービスです。
それぞれのサービスには、一意のアドレスを持つストレージ アカウントを通じてアクセスします。 作業を開始するには、「ストレージ アカウントの作成」を参照してください。
さらに、Azure には次の特殊なストレージが用意されています。
- Azure NetApp Files: NetApp を利用したエンタープライズ ファイル ストレージ: エンタープライズ基幹業務 (LOB) およびストレージの専門家は、コードを変更せずに複雑なファイルベースのアプリケーションの移行や実行を簡単に行うことができます。 Azure NetApp Files は NetApp アカウントを介して管理され、NFS、SMB、およびデュアルプロトコル ボリュームを介してアクセスできます。 作業を開始するには、「NetApp アカウントを作成する」を参照してください。
シナリオに使用するデータ サービスを決定する際のヘルプについては、Microsoft クラウド導入フレームワークで「ストレージ オプションを確認する」を参照してください。
Azure にデータを格納するためのオプションを確認する
Azure には、さまざまなストレージ ツールとサービスが用意されています。 シナリオに最適な Azure テクノロジを調べるには、「ストレージオプションを確認する」をご覧ください。
Azure Storage サービスのサンプル シナリオ
次の表では、Azure Storage のサービスを比較し、それぞれのシナリオ例を示しています。
機能 | 説明 | 使用する場合 |
---|---|---|
Azure Files | 業界標準のサーバー メッセージ ブロック (SMB) プロトコル、ネットワーク ファイル システム (NFS) プロトコル、および Azure Files REST API を介してどこからでもアクセスできる、フル マネージドのクラウド ファイル共有が提供されます。 Azure ファイル共有は、Windows、Linux、macOS のクラウドまたはオンプレミスのデプロイからマウントできます。 |
既に、ネイティブなファイル システム API を使用して、Azure で実行されている他のアプリケーションとの間でデータを共有しているアプリケーションをクラウドに "リフト アンド シフト" したい場合。 オンプレミスのファイル サーバーまたは NAS デバイスを置き換えるか、またはそれを補完したい場合。 多くの仮想マシンからアクセスする必要のある開発ツールとデバッグ ツールを格納する。 |
Azure NetApp Files | 高度なデータ管理機能を必要とする、要求の厳しい、ハイパフォーマンスかつ低遅延のワークロードを処理できる、フル マネージドの高可用性かつエンタープライズ グレードの NAS サービスを提供します。 | POSIX 準拠の Linux および Windows アプリケーション、SAP HANA、データベース、ハイパフォーマンス コンピューティング (HPC) インフラストラクチャとアプリ、エンタープライズ Web アプリケーションなど、移行が困難なワークロードがあります。 NFSv3、NFSv4.1、SMB3.1.x など、1 つのサービスで複数のファイル ストレージ プロトコルをサポートする必要があります。これにより、コードの変更を必要とせず、さまざまなアプリケーション リフトアンドシフト シナリオが可能になります。 |
Azure BLOB | 非構造化データを大規模にブロック BLOB に格納してアクセスできるようにします。 エンタープライズ ビッグ データ分析ソリューション用の Azure Data Lake Storage もサポートされています。 |
アプリケーションでストリーミングとランダム アクセスのシナリオに対応する。 アプリケーションのデータにどこからでもアクセスできるようにする。 Azure 上にエンタープライズ Data Lake を構築し、ビッグ データ分析を実行する。 |
Azure Elastic SAN | Azure Elastic SAN は、SAN のデプロイ、スケーリング、管理、構成を簡略化する完全に統合されたソリューションであり、高可用性などの組み込みのクラウド機能も提供します。 | internet Small Computer Systems Interface (iSCSI) プロトコルを介してアクセスする複数の種類のコンピューティング リソース (SQL、MariaDB、Azure 仮想マシン、Azure Kubernetes Services など) とやり取りできる大規模ストレージが必要です。 |
Azure ディスク | データを永続的に格納し、アタッチされた仮想ハード ディスクからアクセスできるようにします。 | ネイティブなファイル システム API を使用して永続ディスクとの間のデータの読み取りと書き込みを行っているアプリケーションを "リフト アンド シフト" したい場合。 ディスクがアタッチされている仮想マシンの外部からのアクセスが不要なデータを格納する。 |
Azure Container Storage | Azure Container Storage は、ボリュームの管理、デプロイ、オーケストレーションを行うサービスで、Kubernetes と統合され、コンテナー用にネイティブに構築されています。 | 永続ボリュームを動的かつ自動的にプロビジョニングして、Kubernetes クラスターで実行されているステートフル アプリケーションのデータを格納できます。 |
Azure キュー | アプリケーション コンポーネント間の非同期メッセージ キューを可能にします。 | アプリケーション コンポーネントを分離し、非同期メッセージングを使用してそれらの間の通信を行いたい場合。 Queue Storage および Service Bus キューをそれぞれいつ使用するかに関するガイダンスについては、「Storage キューと Service Bus キューの比較」を参照してください。 |
Azure テーブル | 構造化された NoSQL データをクラウドに格納し、スキーマなしの設計でキー/属性ストアを実現できるようにします。 | Web アプリケーションのユーザー データ、アドレス帳、デバイス情報、サービスに必要なその他の種類のメタデータのような柔軟なデータセットを格納したい場合。 Table Storage と Azure Cosmos DB for Table をそれぞれいつ使用するかに関するガイダンスについては、「Azure Cosmos DB for Table と Azure Table Storage を使用した開発」を参照してください。 |
Blob Storage
Azure Blob Storage は、Microsoft のクラウド用オブジェクト ストレージ ソリューションです。 Blob Storage は、テキスト データやバイナリ データなどの大量の非構造化データを格納するために最適化されています。
Blob Storage は、次の目的に最適です。
- 画像またはドキュメントをブラウザーに直接配信する。
- 分散アクセス用にファイルを格納する。
- ビデオおよびオーディオをストリーミング配信する。
- バックアップと復元、ディザスター リカバリー、アーカイブのためのデータを格納する。
- オンプレミス サービスまたは Azure ホステッド サービスで分析するデータを格納する。
BLOB ストレージ内のオブジェクトには、世界中どこからでも HTTP または HTTPS 経由でアクセスできます。 ユーザーまたはクライアント アプリケーションは、URL、Azure Storage REST API、Azure PowerShell、Azure CLI、または Azure Storage クライアント ライブラリを介して BLOB にアクセスできます。 ストレージ クライアント ライブラリは、.NET、Java、Node.js、Python など、複数の言語で利用できます。
また、クライアントは、SSH ファイル転送プロトコル (SFTP) を使用して Blob Storage に安全に接続し、ネットワーク ファイル システム (NFS) 3.0 プロトコルを使用して Blob Storage コンテナーをマウントすることもできます。
Blob Storage の詳細については、「Blob Storage の概要」を参照してください。
Azure Files
Azure Files では、業界標準のサーバー メッセージ ブロック (SMB) プロトコル、ネットワーク ファイル システム (NFS) プロトコル、および Azure Files REST API を介してアクセスできる高可用性ネットワーク ファイル共有を設定できます。 つまり、複数の VM が、読み取りアクセス権と書き込みアクセス権の両方を使用して同じファイルを共有できます。 また、REST インターフェイスまたはストレージ クライアント ライブラリを使用してファイルを読み取ることもできます。
Azure Files と企業のファイル共有上のファイルとの違いの 1 つは、世界中のどこからでも、ファイルを指し、共有アクセス署名 (SAS) トークンを含む URL を使用して、ファイルにアクセスできることです。 SAS トークンは生成することができます。SAS トークンを使用することで、特定の期間にわたってプライベートな資産への特定のアクセスを許可できます。
ファイル共有は、多くの一般的なシナリオで使用できます。
多くのオンプレミスのアプリケーションでファイル共有が使用されます。 この機能により、データを共有するそれらのアプリケーションを Azure に簡単に移行できます。 オンプレミスのアプリケーションで使用されているのと同じドライブ文字にファイル共有をマウントすることにより、ファイル共有にアクセスするアプリケーションの部分は、(変更があっても) 最小限の変更で動作します。
構成ファイルをファイル共有に格納して、複数の VM からアクセスできます。 グループ内の複数の開発者によって使用されるツールやユーティリティをファイル共有に格納できるため、だれでもそれらを見つけ、同じバージョンを使用することができます。
ファイル共有に書き込んだ後で処理または分析できるデータの例として、リソース ログ、メトリック、およびクラッシュ ダンプの 3 つが挙げられます。
Azure Files の詳細については、「Azure Files の概要」を参照してください。
一部の SMB 機能はクラウドでは利用できません。 詳細については、「Features not supported by the Azure File service (Azure File Service でサポートされていない機能)」を参照してください。
Azure Elastic SAN
Azure Elastic 記憶域ネットワーク (SAN) は、大規模データベースとパフォーマンス集中型のミッション クリティカルなアプリケーションの間でのワークロードの最適化および統合に関する問題に対して Microsoft が出した答えです。 Elastic SAN は、SAN のデプロイ、スケーリング、管理、構成を簡略化する完全に統合されたソリューションであり、高可用性などの組み込みのクラウド機能も提供します。
Elastic SAN は、大規模な IO 集中型ワークロードと、SQL や MariaDB などの最上位データベース向けに設計されていて、仮想マシンまたは Azure Kubernetes Service などのコンテナーでのワークロードのホスティングをサポートします。 Elastic SAN ボリュームは、iSCSI プロトコルを介したさまざまなコンピューティング リソースと互換性があります。 Elastic SAN のその他の利点には、デプロイと管理インターフェイスの簡素化が含まれます。 1 つのインターフェイスから複数のコンピューティング リソースのストレージを管理できるため、コストの最適化が可能です。
Azure Elastic SAN の詳細については、「Azure Elastic SAN とは」を参照してください。
Azure Container Storage
Azure Container Storage は Kubernetes と統合し、既存の Azure Storage オファリングを実際のデータ ストレージに利用することで、コンテナー向けに構築されたボリュームのオーケストレーションと管理のソリューションを提供します。 サポートされているバッキング ストレージ オプションのいずれかを選択して、永続ボリューム用のストレージ プールを作成できます。
Azure Container Storage には、次のような大きな利点があります。
ステートフル ポッドの迅速なスケールアウト
ステートフル ワークロードのパフォーマンスの向上
Kubernetes ネイティブのボリューム オーケストレーション
Azure Container Storage の詳細については、「Azure Container Storage とは」を参照してください。
Queue Storage
Azure Queue サービスは、メッセージの保管と取得に使用します。 キューに許容されるメッセージ サイズは最大 64 KB で、1 つのキューに数百万件のメッセージを格納することができます。 一般に、非同期的に処理するメッセージのリストを格納するのがキューの用途となります。
たとえば、画像をアップロードしてそれぞれにサムネイルを作成する機能をユーザーに提供するとしましょう。 もちろん画像のアップロードの際、サムネイルを作成するまでユーザーに待ってもらうことはできます。 しかし、その代わりの方法として、キューを使うこともできます。 ユーザーからのアップロードが完了したら、メッセージをキューに書き込みます。 その後、Azure Functions でキューからメッセージを取得して、サムネイルを作成するのです。 この処理では、各段階を個別にスケーリングすることができるので、用途に応じたチューニングの自由度が高まります。
Azure キューの詳細については、「キューの概要」を参照してください。
Table Storage
Azure Cosmos DB に、新たに Azure Table Storage が加わりました。 Azure Table Storage のドキュメントについては、「Azure Table Storage の概要」を参照してください。 既存の Azure Table Storage サービスに加えて、スループットに最適化されたテーブル、グローバルな分散、自動セカンダリ インデックスを利用できる新しい Azure Cosmos DB for Table プランが追加されています。 新しい Premium エクスペリエンスの詳細とその試行方法については、Azure Cosmos DB for Table に関するページを参照してください。
Table Storage の詳細については、「Azure Table Storage の概要」を参照してください。
Disk Storage
Azure マネージド ディスクは仮想ハード ディスク (VHD) です。 オンプレミス サーバーの物理ディスクと似ていますが、仮想化されたディスクと考えることができます。 Azure マネージド ディスクは、Azure 内のランダムな IO ストレージ オブジェクトであるページ BLOB として格納されます。 マネージド ディスクを "マネージド" と呼ぶ理由は、ページ BLOB、BLOB コンテナー、および Azure ストレージ アカウントを抽象化したものであるためです。 マネージド ディスクでは、ディスクをプロビジョニングするだけで、後の管理は Azure が実行します。
マネージド ディスクの詳細については、「Azure マネージド ディスクの概要」をご覧ください。
Azure NetApp Files
Azure NetApp Files は、エンタープライズ クラスでハイパフォーマンスの従量制課金ファイル ストレージ サービスです。 Azure NetApp Files は、既定で高い可用性を備え、あらゆる種類のワークロードをサポートします。 サービス レベルとパフォーマンス レベルの選択、NetApp アカウント、容量プール、ボリュームの作成、データ保護の管理を行うことができます。
Azure NetApp Files の詳細については、「Azure NetApp Files の概要」を参照してください。
Azure Files と Azure NetApp Files の比較については、「Azure Files と Azure NetApp Files の比較」を参照してください。
ストレージ アカウントの種類
Azure Storage では、数種類のストレージ アカウントが提供されています。 各種類は異なる機能をサポートし、独自の価格モデルがあります。 ストレージ アカウントの種類の詳細については、Azure Storage アカウントの概要に関するページを参照してください。
ストレージ アカウントへのアクセスをセキュリティで保護する
Azure Storage に対するすべての要求が承認される必要があります。 Azure Storage では、次の認証方法がサポートされています。
- BLOB、ファイル、キュー、テーブル データ用の Microsoft Entra 統合。 Azure Storage では、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、Blob、File、Table、 Queue サービスの Microsoft Entra ID による認証と認可をサポートしています。 Microsoft Entra ID を使用した要求の承認は、優れたセキュリティと使いやすさを実現するために推奨されます。 詳細については、「Azure Storage でデータへのアクセスを承認する」を参照してください。 Microsoft Entra アカウント 使用してファイル データへのアクセスを承認するには、「Azure portal でファイル データへのアクセスを承認する」を参照してください。
- Azure Files での SMB を使用した ID ベースの認証 Azure Files では、オンプレミスの Active Directory Domain Services (AD DS)、Microsoft Entra Domain Services、または Microsoft Entra Kerberos (ハイブリッド ユーザー アカウントのみ) を介した SMB (サーバー メッセージ ブロック) 経由の ID ベースの認可がサポートされています。 詳細については、「SMB アクセスに対する Azure Files ID ベース認証サポートの概要」および「Azure Files のデプロイの計画」を参照してください。
- 共有キーによる承認。 Azure Storage の BLOB、ファイル、キュー、テーブルの各サービスでは、共有キーによる承認がサポートされます。 共有キーによる承認を使用するクライアントは、ストレージ アカウントのアクセス キーを使用して署名されたすべての要求を含むヘッダーを渡します。 詳細については、共有キーによる承認に関するページを参照してください。
- Shared Access Signature (SAS) を使用した承認。 Shared Access Signature (SAS) は、ストレージ リソースの URI に追加できるセキュリティ トークンを含む文字列です。 セキュリティ トークンには、アクセスの許可や間隔などの制約をカプセル化します。 詳細については、共有アクセス署名 (SAS) の使用に関するページを参照してください。
- Azure NetApp Files を使用した Active Directory Domain Services。 SMB ボリューム、デュアル プロトコル ボリューム、NFSv4.1 Kerberos ボリュームなどの Azure NetApp Files 機能は、AD DS と共に使用するように設計されています。 詳細については、「Azure NetApp Files に対応した Active Directory Domain Services サイトの設計と計画に関するガイドライン」を参照するか、Azure NetApp Files 用に ADDS LDAP over TLS を構成する方法を確認してください。
暗号化
Azure Storage には、2 種類の基本的な暗号化を使用できます。 セキュリティと暗号化の詳細については、「Azure Storage セキュリティ ガイド」を参照してください。
保存時の暗号化
Azure Storage の暗号化では、組織のセキュリティとコンプライアンスコミットメントを果たせるように、データの保護とセーフガードが行われます。 Azure Storage では、データをストレージ アカウントに保存する前に自動的に暗号化し、取得する前に復号化します。 暗号化、復号化、キー管理の各プロセスは、ユーザーに対して透過的です。 お客様は、Azure Key Vault を使用して自分のキーを管理することを選択することもできます。 詳細については、「保存データ向け Azure ストレージの暗号化」をご覧ください。
Azure NetApp Files のすべてのボリュームは、FIPS 140-2 標準を使用して暗号化されます。 「Azure NetApp Files のセキュリティに関するよくあるご質問」を参照してください。
クライアント側暗号化
Azure Storage のクライアント ライブラリには、クライアント ライブラリのデータをネット上で送信する前に暗号化し、応答を復号化する方法が提供されています。 クライアント側の暗号化によって暗号化されたデータは、保存時も Azure Storage によって暗号化されます。 クライアント側の暗号化の詳細については、Azure Storage での .NET によるクライアント側の暗号化に関するページを参照してください。
Azure NetApp Files のデータ トラフィックは、パブリック エンドポイントが提供されず、データ トラフィックは顧客所有の VNet 内に留まっているので、設計上、本質的にセキュリティが確保されています。 既定では、転送中のデータは暗号化されません。 ただし、(NFS または SMB クライアントを実行している) Azure VM から Azure NetApp Files へのデータ トラフィックは、Azure VM 間のトラフィックと同様に安全です。 NFSv4.1 と SMB3 による転送中のデータの暗号化は、必要に応じて有効にすることができます。 「Azure NetApp Files のセキュリティに関するよくあるご質問」を参照してください。
冗長性
データの持続性を確保するために、Azure Storage はデータの複数のコピーを格納します。 冗長性オプションは、ストレージ アカウントを設定するときに選択します。 詳細については、「Azure Storage の冗長性」と「Azure Files のデータ冗長性」を参照してください。
Azure NetApp Files は、99.99% の可用性を備えたローカル冗長ストレージを提供します。
Azure Storage との間でデータを転送する
Azure Storage へのデータの移動または Azure Storage からのデータの移動には、いくつかのオプションがあります。 どのオプションを選択するかは、データセットとネットワーク帯域幅のサイズによって異なります。 詳細については、「データ転送用の Azure ソリューションを選択する」を参照してください。
Azure NetApp Files には NFS ボリュームと SMB ボリュームがあります。 ファイル ベースのコピー ツールを使用すると、データをサービスに移行することができます。 詳細については、「Azure NetApp Files でのデータの移行と保護に関するよくあるご質問」を参照してください。
価格
データの格納方法とアクセス方法を決めるときには、それに伴うコストも考慮する必要があります。 詳細については、Azure Storage の価格に関するページを参照してください。
Azure NetApp Files クラウド ファイル ストレージ サービスは、プロビジョニングされた容量プールの容量に基づいて 1 時間単位で課金されます。 詳細については、Azure NetApp Files ストレージの価格に関するページを参照してください。
ストレージ API、ライブラリ、ツール
ストレージ アカウント内のリソースには、HTTP/HTTPS 要求を作成できる任意の言語でアクセスできます。 さらに、Azure Storage には主要な複数の言語のプログラミング ライブラリも用意されています。 これらのライブラリを使用すると、同期呼び出しと非同期呼び出し、操作のバッチ処理、例外管理、自動再試行、実行動作などの詳細が処理され、Azure Storage の使用に関するさまざまな側面が簡略化されます。 ライブラリは現在、次の言語およびプラットフォーム用が提供されており、その他についても準備中です。
Azure Storage データ API およびライブラリのリファレンス
- Azure Storage REST API
- .NET 用 Azure Storage クライアント ライブラリ
- Java 用 Azure Storage クライアント ライブラリ
- JavaScript 用 Azure Storage クライアント ライブラリ
- Python 用 Azure Storage クライアント ライブラリ
- Go 用 Azure Storage クライアント ライブラリ
- C++ 用 Azure Storage クライアント ライブラリ
Azure Storage 管理 API およびライブラリのリファレンス
- ストレージ リソース プロバイダー REST API
- .NET 用 Storage Resource Provider クライアント ライブラリ
- Storage Service Management REST API (Classic)
- Azure Files REST API
- Azure NetApp Files REST API
Azure Storage データ移動 API
ツールとユーティリティ
- ストレージ用 Azure PowerShell コマンドレット
- ストレージ用 Azure CLI コマンドレット
- AzCopy コマンド ライン ユーティリティ
- Azure Storage Explorer は、Windows、macOS、Linux で Azure Storage のデータを視覚的に操作できる Microsoft 製の無料のスタンドアロン アプリです。
- Azure Storage 用 Azure Resource Manager テンプレート
次のステップ
Azure Storage を稼働させるには、ストレージ アカウントの作成に関するページを参照してください。