Azureストレージとは?
Azureストレージは、Microsoft社が提供するクラウドサービスAzure上のストレージサービスです。
クラウドストレージは、クラウドサービスを使っていくうえで不可欠であり、高い可用性やセキュリティ、耐久性が求められています。今回はAzureストレージの概要や料金を紹介しつつ、5つのサービスの比較やストレージアカウントの選び方を紹介していきます。
Azureストレージでできること
Azureストレージでは、Azure上でサービスを運用するために必要なデータを長期にわたって保存することができます。データ形式は利用するサービスに応じて下記がサポートされています。
・一般的なファイル単位でのデータ格納を行うファイルストレージ
・高速でデータの読み書きを行うことができるブロックストレージ
・データ1つ1つにURLが発行され、大規模データの管理に向いているオブジェクトストレージ
・メッセージングに特化したキューストレージ
・NoSQL形式の構造化データを格納するテーブルストレージ
加えて、予期せぬ障害や災害によるデータ消失を防ぐため、データ複製を行う冗長性オプションも用意されています。オプションの中ではデータ格納場所から物理的に離れた格納場所にもデータ複製できるセカンダリリージョン冗長性もサポートされており、高い信頼性を担保できます。
利用方法
Azureストレージを利用するためには、ストレージアカウントを作成する必要があります。ストレージアカウントを作るためにはAzure Portalへアクセスしなければならないのですが、マイクロソフトアカウントもしくはGitHubアカウントが必要ですので、注意が必要です。
Azure Portalからストレージアカウント作成画面へ移行できましたら、アカウントの種類を決めていきます。ここで決めたアカウント種類によって、アクセスできるサービスやストレージ性能が決まるので、作成する前にストレージに何を求めるかを明確にしておきましょう。
ストレージ料金の目安
クラウドストレージを利用するにあたって、その利用料金は誰もが気になるところです。Azureストレージも多くのクラウドサービスと同様、利用サービスやオプション有無によって細かく金額が決められており、複雑な料金体系となっています。しかし、Azureストレージの公式サイトにて料金計算ツールが公開されており、誰でも毎月の使用料をシミュレートすることができます。
例えば、オブジェクトストレージであるAzure BLOBストレージをアクセス層ホットで使用量1000GBの場合、他のオプション項目がデフォルトであれば月額20ドル程度になります。ただし、データの読み書き回数や追加使用量で追加料金が発生することには注意が必要です。
5種類のストレージサービスを比較
Azureストレージを利用するにあたってまず決めなければならないのは、どのサービスを利用するかです。現在、5つのサービスが提供されており、それぞれどのような機能を持ち、どのような用途を想定しているかを紹介していきます。
Azure BLOB
Binary Large Objectの略であるBLOBは、テキストやバイナリなどの非構造化データを格納することができるストレージです。オブジェクトストレージであるため、大規模なデータを個別に管理することができ、画像や動画などのメディアファイルにも対応しています。用途としては、データを直接ブラウザへ配信するようなアプリケーションが想定されています。
ビッグデータ解析に特化したData Lake Storage Gen2というタイプも選択することが可能となっています。
Azure ファイル
Windowsで標準的に使用されているSMBプロトコルを利用してファイル共有を行えるストレージであり、ファイルストレージの形式をとっています。SMBを利用しているあらゆるアプリケーションからアクセス可能な点が特徴です。用途としては、オンプレミスのファイルサーバーの置き換えや補完を行ったり、他のアプリケーションをクラウドにリフトアンドシフトすることが想定されています。
Azure キュー
アプリケーションで分離されたコンポーネント間のメッセージングに特化したストレージで、キューストレージの形式をとっています。送信側が受信側へ非同期でメッセージを送ることができるようになるという特徴があります。Webサーバーが処理に時間がかかるようなプロセスをバックエンドアプリケーションに引き渡すような状況で真価を発揮します。
Azure テーブル
NoSQLの構造化データを格納するためのテーブルストレージ形式がとられたストレージです。NoSQLに対応していることから、大量のユーザーデータに高速でアクセスすることが可能となっています。用途としては、そのままNoSQLデータベースとして利用されることが想定されています。
Azure ディスク
ブロックストレージ形式がとられたこのストレージはAzure VM(仮想マシン)向けのサービスです。ディスクストレージと他のストレージとの違いは、管理ディスクか非管理ディスクのどちらかを選択しなければならない点です。非管理ディスクはユーザー自身がVHD(仮想ハードディスク)のアカウントを管理しなければなりませんが、管理ディスクではAzureが管理を行うため、パフォーマンスを向上させることができます。
ストレージアカウントの作り方
使用したいサービスを決めたら、次はストレージアカウントを作成していきます。サービスごとに選択できるアカウント種類やオプション項目が異なるため、ここでは利用サービスを考慮しつつ、順を追ってアカウントの作り方を説明していきます。
ストレージアカウントの種類を選択
まずはストレージアカウントの種類を選択します。アカウントは「汎用 v2 」、「汎用 v1 」、「BLOB ストレージ」の3種類がありますが、「BLOB ストレージ」に関してはBLOBストレージでしか使用することはできません。BLOB以外の使用も想定している場合には「汎用」を選ぶことになります。
加えて、「汎用 v1 」は最新のAzure機能にアクセスできない可能性があるようですので、基本的には「汎用 v2」を選択していくことになります。
BLOBストレージはアクセス層も選択
BLOBストレージサービスを使用する場合には、アクセス層を選択する必要があります。アクセス層には、ホット、クール、アーカイブの3種類があり、以下の特徴を持っています。
・ホット:ストレージコストが高いもののアクセスコストが安く、頻繁にアクセスのあるデータに最適
・クール:ホットとは逆にストレージコストが安く、アクセスコストが高くなっているので、バックアップデータに最適
・アーカイブ:クールよりもアクセス頻度の低いデータを想定しており、さらにストレージコストが安くなるが、アクセスにコストだけでなく時間もかかるようになる。
自身の用途に応じて選択するとよいでしょう。
パフォーマンスレベルの選択
パフォーマンスレベルの選択はStandardかPremiumの2種類を選択することができますが、AzureテーブルとAzureキューでは選択することはできなくなっています。Standardは速度に制約があるものの、容量あたりのコストを下げることができます。一方、Premiumは高いIOPSや高速でデータにアクセスできることが可能ですが、その分高コストになる可能性があります。
冗長性オプションの選択
冗長性のオプションはディスクで管理ディスクを選択した場合を除き、全てのサービスで選択する必要があります。最大6種類のオプション項目がありますが、
・ローカル冗長(LRS):単一のデータセンターで3回複製
・ゾーン冗長(ZRS):ある地域の3つのデータセンターで同期
・geo 冗長(GRS):お互いに数100キロ離れた地域にあるデータセンターで同期
の3種に大きく分けることができます。
最も冗長性の低いLRSですら99.999999999%の持続性が提供されているため、よほど重要なデータでなければLRSで十分と言えます。
Azureストレージを便利に使うために
ここまででAzureストレージを使うための準備は整いました。実際に使用していく前に知っておくと便利なツールを紹介します。
Azure Storage Explorerを活用する
Azure Storage Explorerは、OSを問わずに使用できるAzureストレージのリソース管理ツールです。BLOBを始めとした各サービスに対応しており、GUIを使った直感的な操作を行うことができます。さらに、役割ベースでアクセス管理にも対応しています。Azureを利用しているユーザーであれば、無料で利用することが可能となっています。
Azuriteによるローカル環境でのテスト
Azureには、ローカル環境でAzureストレージを動かしたい方のためのエミュレータが用意されています。Azuriteは、オープンソースでかつクロスプラットフォームに対応したエミュレータです。こちらも無料で使用することができますが、インストール手順がやや複雑なので公式ページを参考に進めた方がよいでしょう。
似たエミュレータにAzureストレージエミュレータがありますが、Windowsでしか使えず、開発も停滞しているためMicrosoft公式より非推奨とされています。
正しく仕組みを理解してAzureストレージを使いこなそう
AzureストレージはAzureを利用している方にとって、なくてはならないものです。ただし、提供するサービスの違いやストレージアカウントの作り方が通常のクラウドストレージと違って複雑であり、悩む方も多いのではないでしょうか。しかし、裏を返せばそれだけ機能が充実しているとも言うことができます。本記事がAzureストレージをこれから利用していく方の参考になれば幸いです。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから