Azure ストレージ サービスについて説明する
Azure Storage プラットフォームには、次のデータ サービスが含まれています。
- Azure BLOB:テキストおよびバイナリ データのための高度にスケーラブルなオブジェクト ストア。 また、Data Lake Storage Gen2 によるビッグ データ分析のサポートも含まれています。
- Azure Files:クラウドまたはオンプレミスのデプロイ用のマネージド ファイル共有。
- Azure キュー:アプリケーション コンポーネント間の信頼性の高いメッセージングのためのメッセージング ストア。
- Azure ディスク: Azure VM のためのブロック レベルのストレージ ボリューム。
- Azure テーブル: 構造化された非リレーショナル データ向けの NoSQL テーブル オプション。
Azure Storage の利点
アプリケーション開発者と IT プロフェッショナルにとって、Azure Storage サービスには次の利点があります。
- 持続性と高可用性。 冗長性により、一時的なハードウェア障害が発生したとしてもデータが安全であることが保証されます。 地域的な災害または自然災害から保護するために、データ センターまたは地理的リージョンにまたがってデータをレプリケートすることもできます。 この方法でレプリケートされたデータは、予期しない停止が発生した場合に高可用性が維持されます。
- セキュリティ保護。 Azure Storage アカウントに書き込まれたすべてのデータがサービスによって暗号化されます。 Azure Storage では、データにアクセスできるユーザーをきめ細かく制御できます。
- スケーラブル。 Azure Storage には、今日のアプリケーションのデータ ストレージとパフォーマンスに関するニーズを満たすために、高度にスケーラブルな設計が採用されています。
- 管理されている Azure では、お客様に代わって、ハードウェアのメンテナンス、更新プログラム、および重大な問題への対処が行われます。
- アクセス可能。 Azure Storage 内のデータには、世界中のどこからでも HTTP または HTTPS 経由でアクセスできます。 Microsoft では、.NET、Java、Node.js、Python、PHP、Ruby、Go などのさまざまな言語の Azure Storage 用のクライアント ライブラリと、成熟した REST API を提供しています。 Azure Storage では、Azure PowerShell または Azure CLI によるスクリプトの実行がサポートされます。 また、Azure Portal と Azure Storage Explorer により、データを操作するための使いやすい視覚的ソリューションが提供されます。
Azure BLOB
Azure Blob Storage は、クラウド向けのオブジェクト ストレージ ソリューションです。 これには、データやバイナリ データなどの大量のデータを格納できます。 Azure Blob Storage は構造化されていません。つまり、保持できるデータの種類に制限はありません。 Blob Storage は、数千の同時アップロード、大量のビデオデータ、絶えず増大するログ ファイルを管理でき、インターネット接続でどこからでもアクセスできます。
BLOB は一般的なファイル形式に限定されません。 BLOB には、科学機器からストリーミングされたギガバイト単位のバイナリ データ、別のアプリケーションに対する暗号化されたメッセージ、開発中のアプリ向けのカスタム形式のデータなどを格納できます。 ディスク ストレージに勝る BLOB ストレージの利点の 1 つは、ディスクについての考慮や管理を開発者が行う必要がないことです。 データは BLOB としてアップロードされ、物理ストレージのニーズは Azure によって処理されます。
BLOB ストレージは、次の目的に最適です。
- 画像またはドキュメントをブラウザーに直接配信する。
- 分散アクセス用にファイルを格納する。
- ビデオおよびオーディオをストリーミング配信する。
- バックアップと復元、ディザスター リカバリー、アーカイブのためのデータを格納する。
- オンプレミス サービスまたは Azure ホステッド サービスで分析するデータを格納する。
BLOB ストレージへのアクセス
Blob Storage 内のオブジェクトは、HTTP または HTTPS を介して世界中のどこからでもアクセスできます。 ユーザーまたはクライアント アプリケーションは、URL、Azure Storage REST API、Azure PowerShell、Azure CLI、または Azure Storage クライアント ライブラリを介して BLOB にアクセスできます。 ストレージ クライアント ライブラリは、.NET、Java、Node.js、Python、PHP、Ruby など、さまざまな言語で利用できます。
BLOB ストレージ層
クラウドに格納されているデータは、急激なペースで増加する可能性があります。 ストレージのニーズが拡大する中でコストを管理するには、アクセスの頻度や予定保有期間などの属性に基づいてデータを整理する方法が効果的です。 クラウドに格納されるデータは、有効期間を通じてどのように生成、処理、アクセスされるかに基づいて処理が異なる場合があります。 有効期間を通じて活発にアクセスおよび変更されるデータもあれば、 有効期間の初期に頻繁にアクセスされ、古くなるにつれて大幅にアクセスが減るデータもあります。 また、クラウド内でアイドル状態のままとなり、格納されてからはほとんどアクセスされないデータもあります。 これらのさまざまなアクセス ニーズに対応するために、Azure にはいくつかの "アクセス層" が用意されています。これを使用すると、ストレージ コストとアクセス ニーズのバランスを取ることができます。
Azure Storage には、BLOB ストレージ用のさまざまなアクセス層が用意されているため、最もコスト効率の高い方法でオブジェクト データを格納することができます。 利用できるアクセス層:
- ホット アクセス層: 頻繁にアクセスされるデータ (たとえば Web サイトの画像) を格納するように最適化されています。
- クール アクセス層: アクセスされる頻度が低く、30 日以上格納されるデータ用に最適化されています (例: 顧客に対する請求書)。
- コールド ストレージ層: アクセス頻度が低く、90 日間以上保管されるデータの格納に適しています。
- アーカイブ アクセス層: ほとんどアクセスされず、180 日以上格納され、待ち時間の要件が柔軟であるデータに適しています (例: 長期のバックアップ)。
次の考慮事項は、さまざまなアクセス層に当てはまります。
- アカウント レベルでは、ホット、クール、およびコールド アクセス層を設定できます。 アーカイブ アクセス層はアカウント レベルでは使用できません。
- ホット、クール、コールド、およびアーカイブの各層は、アップロード中またはアップロード後に BLOB レベルで設定できます。
- クールおよびコールド アクセス層内のデータは、可用性が若干低くても、ホット データと同程度の高い持続性、取得待ち時間、およびスループット特性が要求されます。 クールおよびコールド データの場合、ホット データと比較して可用性のサービス レベル アグリーメント (SLA) が若干低く、アクセス コストが高めですが、その代わりストレージ コストが低くなります。
- アーカイブ ストレージにはデータがオフラインで格納され、ストレージ コストは最も低くなりますが、データのリハイドレートとアクセスのコストが最も高くなります。
Azure Files
Azure Files ストレージでは、業界標準のサーバー メッセージ ブロック (SMB) またはネットワーク ファイル システム (NFS) プロトコルを介してアクセスできる、フル マネージドのファイル共有がクラウド上で提供されます。 Azure Files のファイル共有は、クラウドまたはオンプレミスのデプロイにより、同時にマウントできます。 SMB Azure ファイル共有には、Windows、Linux、および macOS クライアントからアクセスできます。 NFS Azure ファイル共有には、Linux または macOS クライアントからアクセスできます。 さらに、SMB Azure ファイル共有は、Azure File Sync によって Windows サーバーにキャッシュされ、データが使用されている場所の近くに高速アクセスすることができます。
Azure Files の主な利点:
- 共有アクセス: Azure ファイル共有では、業界標準の SMB プロトコルおよび NFS プロトコルがサポートされています。そのため、アプリケーションの互換性を気にせずに、オンプレミスのファイル共有を Azure ファイル共有にシームレスに置き換えることができます。
- フル マネージド: Azure ファイル共有は、ハードウェアまたは OS を管理することなく、作成できます。 つまり、重要なセキュリティ アップグレードの際にサーバー OS に修正プログラムを適用したり、故障したハード ディスクを交換したりする作業は必要ありません。
- スクリプトとツール PowerShell コマンドレットと Azure CLI を使用すると、Azure アプリケーションの管理の一部として Azure ファイル共有を作成、マウント、管理することができます。 Azure portal と Azure Storage Explorer を使用して、Azure ファイル共有を作成および管理できます。
- 回復性: Azure Files は、当初から、常に使用できることを目的にして構築されています。 オンプレミスのファイル共有を Azure Files に置き換えることで、夜間に起きてローカルの停電またはネットワークの問題に対処する必要がなくなります。
- プログラミングのしやすさ: Azure で実行されているアプリケーションは、ファイル システム I/O API を介して共有内のデータにアクセスできます。 そのため、開発者は、既存のコードとスキルを利用し、既存のアプリケーションを移行することができます。 システム IO API の他に、Azure Storage クライアント ライブラリまたは Azure Storage REST API も使用できます。
Azure キュー
Azure Queue storage は、多数のメッセージを格納するためのサービスです。 いったん格納されると、HTTP または HTTPS を使用し、認証された呼び出しを介して世界中のどこからでもメッセージにアクセスできます。 キューには、ストレージ アカウントの容量で保持できるもの (数百万通) と同じ数のメッセージを含めることができます。 各メッセージの許容される最大サイズは 64 KB です。 キューは通常、非同期的な処理用に作業のバックログを作成するために使用されます。
キュー ストレージを Azure Functions などのコンピューティング関数と組み合わせて、メッセージを受信したときにアクションを実行できます。 たとえば、顧客がフォームを Web サイトにアップロードした後にアクションを実行する場合などです。 Web サイトの [送信] ボタンを使用して、キュー ストレージへのメッセージをトリガーできます。 その後、Azure Functions を使用して、メッセージを受信した後にアクションをトリガーできます。
Azure ディスク
Azure Disk Storage (Azure マネージド ディスク) は、Azure VM で使用するために Azure によって管理されるブロックレベルのストレージ ボリュームです。 概念的には、物理ディスクと同じですが、仮想化されています。物理ディスクよりも高い回復性と可用性を提供します。 マネージド ディスクでは、ディスクをプロビジョニングするだけで、あとの管理は Azure が実行します。
Azure テーブル
Azure Table Storage は、大量の構造化データを格納します。 Azure テーブルは、Azure クラウドの内部および外部からの認証された呼び出しを受け付ける NoSQL データストアです。 これにより、Azure テーブルを使用してハイブリッドまたはマルチクラウド ソリューションを構築し、データを常に使用可能な状態にすることができます。 Azure のテーブルは、構造化された非リレーショナル データを格納するのに最適です。