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 Gen2 によるビッグ データ分析のサポートも含まれています。
  • 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、およびデュアルプロトコル ボリュームを介してアクセスできます。

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 Gen2 もサポートされています。
アプリケーションでストリーミングとランダム アクセスのシナリオに対応する。

アプリケーションのデータにどこからでもアクセスできるようにする。

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 キュー アプリケーション コンポーネント間の非同期メッセージ キューを可能にします。 アプリケーション コンポーネントを分離し、非同期メッセージングを使用してそれらの間の通信を行いたい場合。
Azure テーブル 構造化された NoSQL データをクラウドに格納し、スキーマなしの設計でキー/属性ストアを実現できるようにします。 Web アプリケーションのユーザー データ、アドレス帳、デバイス情報、サービスに必要なその他の種類のメタデータのような柔軟なデータセットを格納したい場合。

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 コンテナーをマウントすることもできます。

Azure Files

Azure Files では、業界標準のサーバー メッセージ ブロック (SMB) プロトコル、ネットワーク ファイル システム (NFS) プロトコル、および Azure Files REST API を介してアクセスできる高可用性ネットワーク ファイル共有を設定できます。 つまり、複数の VM が、読み取りアクセス権と書き込みアクセス権の両方を使用して同じファイルを共有できます。 また、REST インターフェイスまたはストレージ クライアント ライブラリを使用してファイルを読み取ることもできます。

Azure Files と企業のファイル共有上のファイルとの違いの 1 つは、世界中のどこからでも、ファイルを指し、共有アクセス署名 (SAS) トークンを含む URL を使用して、ファイルにアクセスできることです。 SAS トークンは生成することができます。SAS トークンを使用することで、特定の期間にわたってプライベートな資産への特定のアクセスを許可できます。

ファイル共有は、多くの一般的なシナリオで使用できます。

  • 多くのオンプレミスのアプリケーションでファイル共有が使用されます。 この機能により、データを共有するそれらのアプリケーションを Azure に簡単に移行できます。 オンプレミスのアプリケーションで使用されているのと同じドライブ文字にファイル共有をマウントすることにより、ファイル共有にアクセスするアプリケーションの部分は、(変更があっても) 最小限の変更で動作します。
  • 構成ファイルをファイル共有に格納して、複数の VM からアクセスできます。 グループ内の複数の開発者によって使用されるツールやユーティリティをファイル共有に格納できるため、だれでもそれらを見つけ、同じバージョンを使用することができます。
  • ファイル共有に書き込んだ後で処理または分析できるデータの例として、リソース ログ、メトリック、およびクラッシュ ダンプの 3 つが挙げられます。

Azure Elastic SAN (記憶域ネットワーク)

Azure Elastic 記憶域ネットワーク (SAN) は、大規模データベースとパフォーマンス集中型のミッション クリティカルなアプリケーションの間でのワークロードの最適化および統合に関する問題に対して Microsoft が出した答えです。 Elastic SAN は、SAN のデプロイ、スケーリング、管理、構成を簡略化する完全に統合されたソリューションであり、高可用性などの組み込みのクラウド機能も提供します。

Elastic SAN は、大規模な入出力集中型ワークロードと、SQL、MariaDB などの最上位層データベース向けに設計されており、仮想マシン、または Azure Kubernetes Service などのコンテナーでのワークロードのホストをサポートします。 Elastic SAN ボリュームは、Internet Small Computer Systems Interface (iSCSI) プロトコルを介して、さまざまなコンピューティング リソースとの互換性があります。 Elastic SAN のその他の利点には、デプロイと管理インターフェイスの簡素化が含まれます。 1 つのインターフェイスから複数のコンピューティング リソースのストレージを管理できるため、コストの最適化が可能です。

Azure Container Storage (プレビュー)

Azure Container Storage は Kubernetes と統合し、既存の Azure Storage オファリングを実際のデータ ストレージに利用することで、コンテナー向けに構築されたボリュームのオーケストレーションと管理のソリューションを提供します。 サポートされているバッキング ストレージ オプションのいずれかを選択して、永続ボリューム用のストレージ プールを作成できます。

Azure Container Storage には、次のような大きな利点があります。

  • ステートフル ポッドの迅速なスケールアウト
  • ステートフル ワークロードのパフォーマンスの向上
  • Kubernetes ネイティブのボリューム オーケストレーション

Queue Storage

Azure Queue サービスは、メッセージの保管と取得に使用します。 キューに許容されるメッセージ サイズは最大 64 KB で、1 つのキューに数百万件のメッセージを格納することができます。 一般に、非同期的に処理するメッセージのリストを格納するのがキューの用途となります。

たとえば、画像をアップロードしてそれぞれにサムネイルを作成する機能をユーザーに提供するとしましょう。 もちろん画像のアップロードの際、サムネイルを作成するまでユーザーに待ってもらうことはできます。 しかし、その代わりの方法として、キューを使うこともできます。 ユーザーからのアップロードが完了したら、メッセージをキューに書き込みます。 その後、Azure Functions でキューからメッセージを取得して、サムネイルを作成するのです。 この処理では、各段階を個別にスケーリングすることができるので、用途に応じたチューニングの自由度が高まります。

Table Storage

Azure Cosmos DB に、新たに Azure Table Storage が加わりました。 既存の Azure Table Storage サービスに加えて、スループットに最適化されたテーブル、グローバルな分散、自動セカンダリ インデックスを利用できる新しい Azure Cosmos DB for Table プランが追加されています。

Disk Storage

Azure マネージド ディスクは仮想ハード ディスク (VHD) です。 オンプレミス サーバーの物理ディスクと似ていますが、仮想化されたディスクと考えることができます。 Azure マネージド ディスクは、Azure 内のランダムな入出力ストレージ オブジェクトであるページ BLOB として格納されます。 マネージド ディスクを "マネージド" と呼ぶ理由は、ページ BLOB、BLOB コンテナー、および Azure ストレージ アカウントを抽象化したものであるためです。 マネージド ディスクでは、ディスクをプロビジョニングするだけで、後の管理は Azure が実行します。

Azure NetApp Files

Azure NetApp Files は、エンタープライズ クラスでハイパフォーマンスの従量制課金ファイル ストレージ サービスです。 Azure NetApp Files は、既定で高い可用性を備え、あらゆる種類のワークロードをサポートします。 サービス レベルとパフォーマンス レベルの選択、NetApp アカウント、容量プール、ボリュームの作成、データ保護の管理を行うことができます。

ストレージ アカウントへのアクセスをセキュリティで保護する

Azure Storage に対するすべての要求が承認される必要があります。 Azure Storage では、次の認証方法がサポートされています。

  • BLOB、ファイル、キュー、テーブル データ用の Microsoft Entra 統合。 Azure Storage では、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、Blob、File、Table、 Queue サービスの Microsoft Entra ID による認証と認可をサポートしています。 Microsoft Entra ID を使用した要求の承認は、優れたセキュリティと使いやすさを実現するために推奨されます。
  • Azure Files での SMB を使用した ID ベースの認証 Azure Files では、オンプレミスの Microsoft Entra Domain Services または Microsoft Entra Kerberos (ハイブリッド ユーザー アカウントのみ) を介した SMB (サーバー メッセージ ブロック) 経由の ID ベースの承認がサポートされています。
  • 共有キーによる承認。 Azure Storage の BLOB、ファイル、キュー、テーブルの各サービスでは、共有キーによる承認がサポートされます。 共有キーによる承認を使用するクライアントは、ストレージ アカウントのアクセス キーを使用して署名されたすべての要求を含むヘッダーを渡します。 ストレージ リソースの URI に添付されます。 セキュリティ トークンには、アクセスの許可や間隔などの制約をカプセル化します。
  • Azure NetApp Files を使用した Microsoft Entra Domain Services。 SMB ボリューム、デュアル プロトコル ボリューム、NFSv4.1 Kerberos ボリュームなどの Azure NetApp Files 機能は、Microsoft Entra Domain Services で使用するように設計されています。

暗号化

Azure Storage で使用できる暗号化には、保存時の暗号化クライアント側の暗号化の基本的な 2 種類があります。

1.保存時の暗号化

Azure Storage の暗号化では、組織のセキュリティとコンプライアンスコミットメントを果たせるように、データの保護とセーフガードが行われます。 Azure Storage では、データをストレージ アカウントに保存する前に自動的に暗号化し、取得する前に復号化します。 暗号化、復号化、キー管理の各プロセスは、ユーザーに対して透過的です。 お客様は、Azure Key Vault を使用して自分のキーを管理することを選択することもできます。

2.クライアント側暗号化

Azure Storage のクライアント ライブラリには、クライアント ライブラリのデータをネット上で送信する前に暗号化し、応答を復号化する方法が提供されています。 クライアント側の暗号化によって暗号化されたデータは、保存時も Azure Storage によって暗号化されます。

Azure NetApp Files のデータ トラフィックは、パブリック エンドポイントが提供されず、データ トラフィックは顧客所有の VNet 内に留まっているので、設計上、本質的にセキュリティが確保されています。 既定では、転送中のデータは暗号化されません。 ただし、Azure VM (ネットワーク ファイル システムまたはサーバー メッセージ ブロック クライアントを実行中) から Azure NetApp Files へのデータ トラフィックは、他の Azure VM 間トラフィックと同程度に安全です。 NFSv4.1 と SMB3 による転送中のデータの暗号化は、必要に応じて有効にすることができます。

冗長性

データの持続性を確保するために、Azure Storage はデータの複数のコピーを格納します。 冗長性オプションは、ストレージ アカウントを設定するときに選択します。

Azure NetApp Files は、99.99% の可用性を備えたローカル冗長ストレージを提供します。

Azure Storage との間でデータを転送する

Azure Storage へのデータの移動または Azure Storage からのデータの移動には、いくつかのオプションがあります。 どのオプションを選択するかは、データセットとネットワーク帯域幅のサイズによって異なります。

Azure NetApp Files には NFS ボリュームと SMB ボリュームがあります。 ファイル ベースのコピー ツールを使用すると、データをサービスに移行することができます。