Azure Storage種類の選び方と考慮すべきポイント


Azure Storageを検討すべき理由

Azure Storageサービスは、クラウドにおける最新のデータストレージ要件に対応しています。例えば、IaaSモデルを採用している場合は、Azure内のVMで使用されるディスクストレージや、大規模なスケーラブルオブジェクトストレージを必要とするアプリケーションのための柔軟なブロブ・ストレージなどがあります。また、Azureでは、特にレガシーアプリケーションを移行する際にファイル共有サービスを必要とするシナリオに対応するためのファイルサービスや、非同期メッセージング用のストレージ、スケーラブルな構造化データを保存するためのNoSQLテーブルも提供しています。

Azure Storageには、次のような主な機能が搭載されています。

●高可用性: デフォルトでは、常に3つのデータコピーが用意されています。また、データセンターや地域をまたいでデータを複製することで、さらに高い復元力を得ることができます。
●セキュリティ: ストレージに書き込まれるすべてのデータはデフォルトで暗号化され、コントロールプレーンへのアクセスはAzure RBACを使用して厳密に制御されています。
●スケーラビリティ:最大5 PBのストレージを提供し、Azureサポートに連絡することでさらに増やすことができます。このため、大規模な拡張性を必要とするストレージを使用するアプリケーションに適しています。
●マネージドサービス:Azure Storageは、マネージドサービスです。つまり、基盤となるインフラ、ハードウェア、アップデート、メンテナンスなどは、すべてAzureプラットフォームが行います。
●アクセスの容易性:.NET、Python、Java、Node.jsなどの一般的な言語で利用可能なライブラリが用意されており、アプリケーションと簡単に統合することができます。また、HTTP/HTTPSやAzure PowerShellやCLI、REST APIなどのツールを使用して、インターネット経由でサービスにアクセスすることができます。

Azureのストレージタイプとその使用時期

Azureで利用できるストレージタイプは、Azure Blobs、Azure Files、Disk Storage、Azure Tables、Azure Queue Storageです。クラウド導入プロセスの重要なステップは、組織のアプリケーションのユースケースに最も適したAzureストレージタイプを特定することです。そのために、さまざまなAzureストレージタイプとそのユースケースを以下に説明します。

Azure Blobs:

最初のAzureストレージタイプは、「ブロブストレージ」と呼ばれるオブジェクトストレージソリューションで、例えば、写真、テキスト、ビデオ、バイナリデータなど、大量の非構造化データの保存に使用できます。ブロブストレージには、「ブロック」「アペンド」「ページ」の3種類があります。

●ブロックブロブは、主にテキストやバイナリデータの保存に使用されます。データはブロックIDで識別されるブロックとして保存され、個別にアクセスできます。
●Append blobは、アプリケーションのロギングデータの保存など、データブロックを追加する必要がある場合に最適です。新しいデータブロックのみを追加でき、既存のブロックを削除または更新することはできません。
●ページブロブは、Azure内のVMの仮想ハードディスクを格納するために使用されます。512バイトのページで構成されており、ディスクに必要な読み取り/書き込み操作に最適化されています。

データは、Blobfuse、AzCopy、Storage SDK、Import/Exportサービスなどのさまざまなツールを使って、Blobストレージにアップロードすることができます。大規模なデータ転送のために、お客様はAzure Data Boxをリクエストして、Azure Storageとの間でデータをインポート/エクスポートすることもできます。

Blob Storageには、Hot、Cool、Archiveの3種類のアクセス層があります。Hot層は、頻繁にアクセスされるデータに使用され、他の2つの層と比較して、ストレージコストは高いが、アクセスコストは低いです。Cold Tierは、30日以上アクセスされずにストレージに残るデータを対象としています。短期バックアップ、古いログデータ、DRデータなどです。Cold層はHot層よりも安価ですが、ストレージへのアクセスコストが高くなります。Archive階層は、最低でも180日間はアクセスされないデータのための階層で、長期バックアップやアーカイブデータなどが対象となります。他の2つの階層と比較して、ストレージコストは最も安いが、データ検索料金は最も高くなります。

Blob Storageは一般的に、アプリケーションの分散データアクセスに使用され、画像やストリーミングオーディオ/ビデオファイルなどの大容量ファイルを保存します。また、バックアップ、DR、アーカイブデータセットの保存にもよく使われます。また、さまざまなソースからの大規模なログデータをBlob Storageにストリーミングして、分析やビジネスインテリジェンスサービスで利用することもできます。

Azure Files

2つ目のAzureストレージタイプは「ファイルストレージ(File Storage)」で、ファイル共有がAzureによってホストされているマネージドファイル共有サービスです。これらのファイル共有には、オンプレミスのLinux、Windows、macOSマシンや、クラウドのSMB/NFSプロトコルでアクセスすることができます。

ファイル共有は完全に管理されているため、企業は本格的なファイル共有サーバーの導入や管理の手間をかけずに、オンデマンドでファイル共有を活用することができます。Azure Filesは、Azure Storageサービスの一部であるため、障害からデータを保護するように設計されており、複数のアプリケーションやマシンから同じデータにアクセスする必要がある場合、共有データアクセスの要件を満たすことができます。NFS/SMBを介したアクセスに加えて、Azure Filesのデータは、Azure StorageクライアントライブラリやREST APIを使用してプログラム的にアクセスすることができます。

Azure Filesは、オンプレミスのファイルサーバーの代替品を必要で、クラウドに移行するユーザに適したオプションです。また、アプリケーションがアーキテクチャにファイル共有を必要とするリフトアンドシフトの移行シナリオでも役立ちます。Azure Filesの他の使用例としては、アプリケーションの共有ストレージ、ログストレージ、ステートフルコンテナのパーシステントボリュームなどがあります。

Azure Disk Storage

3つ目のAzureストレージタイプは、「ディスクストレージ」と呼ばれます。Azureディスクは、Azure仮想マシンにブロックレベルのストレージを提供します。Azureは、ディスクサイズとタイプを選択するだけで、必要な仮想ハードディスクをプロビジョニングするマネージドディスクサービスを提供します。ディスクストレージは、OSディスク、データディスク、または一時ディスクとしてVMに取り付けることができます。

マネージドディスクは、99.999%のSLAが保証されており、高い可用性を備えています。また、アベイラビリティセットやアベイラビリティゾーンなどの機能と統合することで、データセンターやゾーンレベルの障害からアプリケーションを保護することができます。Azureディスクに保存されたデータは、デフォルトではサーバーサイドの暗号化を使用して保護されています。また、Windows用のBitLockerとLinux用のDM-Cryptを使用したAzure Disk Encryptionを使用して、VMホストレベルでデータを暗号化することもできます。さらに、Azure RBACを使用してディスクへのコントロールプレーンのアクセスを制限し、許可されたユーザのみがアクセスできるようにすることもできます。また、Azure Backupサービスとの統合により、ディスク上のデータを不慮の削除や破損から保護することができます。

Azure Diskには、標準HDD、標準SSD、プレミアムSSD、ウルトラディスクなど、さまざまな利用シーンに応じた種類があります。ウルトラディスクは、データベースやSAP HANAなどのIOインテンシブ/トランザクションヘビーなワークロードに最高のパフォーマンスを提供します。プレミアムSSDはパフォーマンスが重視される本番環境に推奨されますが、標準SSDは使用頻度の低いアプリケーションや開発/テスト環境に使用することができます。標準のHDDディスクは、あらゆる種類の非重要なワークロードに適しています。

Azure Tables

5番目のストレージタイプであるAzure Tablesは、非リレーショナルな構造化データやNoSQLデータ向けのAzure Storageサービスです。これらは、スキーマレスデータのキーアトリビュートストレージを必要とするユースケースに最も適しています。変化するアプリケーションのニーズに柔軟に対応しながら、このような構造化データをTB単位で保存することができます。クラウド上のマネージドSQLデータベースサービスと比較すると、テーブルストレージは構造化データを保存するための安価な代替手段として機能します。

Azure Tablesは構造化データを保存しますが、外部キー、複雑なジョイント、ストアドプロシージャなどの高度なDB機能を必要としないアプリケーションにのみ適しています。迅速なクエリと検索のためにデータを非正規化して保存することができるシナリオに推奨されます。また、拡張性のあるオンデマンドストレージが必要で、LINQクエリやODataプロトコルを使用してデータにアクセスできる場合には、Azure Tablesを使用することができます。

Azure Queues

そして最後に、Azure Queueストレージは、アプリケーションによって生成された大量のメッセージを保存するための非同期メッセージキューイングサービスです。数百万のメッセージを保存することができ、その上限はAzure Storageの容量制限によってのみ決まります。1つのメッセージは最大64KBで、デフォルトのTTLは7日です。また、TTLを設定して、メッセージが失効しないようにすることもできます。このサービスは、インターネット上のHTTP/HTTPSプロトコルでアクセスできます。

Azure Queuesの対象となるユースケースは、非同期処理で、アプリケーションがこのサービスを使って作業のバックログを作成することができます。企業は、異なるコンポーネント間の非同期メッセージングを必要とする、分離されたアプリケーション・アーキテクチャでキューを使用するのが一般的です。

まとめ


Azure Storageは、さまざまな利用シーンに合わせて利用できる、多様なサービスのポートフォリオを提供します。Azure Disks、Files、Blob、Tables、およびQueueは、現代のクラウドアプリケーションの複雑なストレージニーズのほとんどを満たすことができる、機能豊富で汎用性の高いオプションです。このブログで紹介されているこれらのサービスのガイドは、ユースケースに最適なソリューションを特定するためのスタートに役立ちますように希望します。

株式会社クライムが提供するAzure対応ソリューション

関連トピックス:
カテゴリー: Azure タグ: パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

この記事のトラックバック用URL