ストレージ(Storage:補助記憶装置)にはCDやDVDなど記録メディアを使った装置、ハードディスクやSSDが主に使われていました。しかし、現在ではオンラインストレージ、クラウドストレージが活用されています。物理的な制限がなく、インターネットを通じてあらゆる場所からアクセスできるからです。
「Azure Blob Storage」は、あらゆるデータを扱い、柔軟に保存容量を変えることができるクラウドストレージです。ここでは、データの種類に関する基礎知識から、用途、使い方、料金体系について解説します。
Blobとは何か
Azure Blob Storageの名称にある「Blob」は「Binary Large Object」の略です。簡単にいうと、メールのテキストや音声、静止画像、映像などのオブジェクトを呼びます。
ストレージに格納するオブジェクトには、構造化データと非構造化データがあります。
構造化データとは、ExcelやCSVのファイルのように順序の定められた行と列で構成された規則性のあるデータで、コンピュータでは計算や分析をしやすいことが特長です。
一方で、非構造化データは、例にあげたメールのテキストファイル、音声、画像、映像などのように、Excelファイルのような規則性がありません。ただし、一部にはXMLやJsonのファイルのように規則性のある非構造化データもあります。
非構造化データは、映像など情報量が多くなるほど大容量になります。当初データベースは規則性のある構造化データを扱っていましたが、技術の進歩にしたがって、マルチメディアをデータベースで管理するNoSQLが登場しました。非構造化データはメタデータのタグ付けや、人工知能による自然言語処理、機械学習などで構造化して取り扱えるようになります。したがって、さまざまな分野で活用されています。
Azure Blob Storageは、非構造化データを扱うことが可能です。音声や動画などマルチメディアの活用や、人工知能による非構造化データの分析分野に適している特長があります。
Azure Blob Storageの概要とメリット
非構造化データを扱えるとともに、Azureのメリットとして利用にしたがって、Azure Blob Storageはスケーラブルに容量を変えられます。以下にメリットを整理しました。
世界中どこからでもアクセスできるRESTベースのオブジェクトストレージ
分散システムで複数のソフトウェアを連携させるREST(REpresentational State Transfer)という設計原則を基盤に構築されたストレージで、分散処理の原則から、グローバルなリージョンに対応しています。世界中で数兆個のオブジェクトを格納処理し、平均で1秒あたり数100万件の要求に対応できます。
オブジェクト変更とパフォーマンスおよびコスト管理の柔軟性、確実なデータ保存
Azure Blob Storageは、システムが稼働中であってもインプレースによるデータ編集に対応し、パフォーマンスを向上させながら帯域幅の消費を抑制できます。また、地理的冗長性によって、複数のリージョンでデータをコピーして持続的なビジネスを実現します。オブジェクトの変更時には、すべてのリージョンで検証が行われ、データ整合性が確保されるため、いつでも確実に最新のデータにアクセスできます。
Azure Blob Storageが適している分野
Azure Blob Storageは、次のような用途に適したストレージです。
動画などのコンテンツ配信
世界のどこからでもHTTP/HTTPS経由で格納したオブジェクトにアクセスできます。インターネット経由でブラウザに画像やテキストを配信、リアルタイムのストリーミングによるライブ中継や、ペタバイト単位の大容量の映画を長期的に保存するなど、さまざまな利用が可能です。保存されたビッグデータを解析して、マーケティングの洞察を得る用途にも適しています。ログの書き込みにも利用できます。
自然災害からの復旧(DR)、分析データの格納
自然災害からの復旧(DR:Disaster Recovery)や、事業継続計画(BCP:Business Continuity Plan)が重視されるようになりました。予期せぬ災害時のために確実にデータをレプリケーションやバックアップして復旧のダウンタイムを最小限に抑えるためには、ストレージの性能が重要になります。このような厳しい要件に応えるストレージがAzure Blob Storageです。オンプレミスやAzureで分析するビッグデータの格納にも適しています。
Azure Blob Storageの構成
Azure Blob Storageは、次の3つのリソースから構成されています。
ストレージアカウント
ストレージに格納したビッグデータからひとつの情報に特定できるように、すべてのオブジェクトに対して一意のアカウント名を含むアドレスが割り当てられます。ストレージアカウントには、汎用v2アカウント、汎用v1アカウント、ブロックBLOBストレージアカウント、FileStorageストレージアカウント、BLOB ストレージアカウントがあります。
コンテナー
コンテナーはストレージアカウト内にあります。ファイルシステムのディレクトリのような構造です。BLOBのセットを整理するときに役立ちます。ストレージアカウントに含めることが可能なコンテナー数は無制限です。
BLOB
BLOBはコンテナーに格納します。1つのコンテナーに格納できるBLOBの数は無制限です。約4.7TBまでのテキストとバイナリデータを格納できる「ブロックBLOB」、仮想マシンのログ記録など追加操作に最適な「追加BLOB」、最大8TBのランダムアクセスファイルを格納可能でAzure仮想マシンとして機能する「ページBLOB」があります。
Azure Blob Storageの使い方
Azure Blob Storageを使うには、前提としてAzureサブスクリプションに登録する必要があります。無料アカウントで利用できます。ここではAzure Portalを使ったストレージアカウントの作成、コンテナーの作成、BLOBのアップロードとダウンロードの簡略化した流れを追ってみましょう。
ストレージアカウントを作成する
すべてのAzure Storage サービスにアクセスできる「汎用v2ストレージアカウント」の例をあげます。
まずAzureサブスクリプションでAzure Portalにサインインして、「すべてのサービス」を選択した後、リソースの一覧で「ストレージアカウント」を選択します。ストレージアカウントのウィンドウで「追加」、サブスクリプションを選択、リソースグループの下で「新規作成」を選択して、リソースグループの名前を入力します。
続いてストレージアカウントの設定をします。アカウント名は数字と英文小文字の3~24 文字が使用できます。アカウント名を入力した後で、ストレージの場所を選択し、「確認および作成」を選択、確認後に「作成」を選択して完了です。
コンテナーを作成する
コンテナーの作成には、最初にAzure Portalで新しいストレージアカウントに移動します。左側のメニューを「Blob service」までスクロールして、「BLOB」を選択、次に「+コンテナー」を選択します。続いて新しいコンテナーの名前を入力しますが、英文字または数字で始まり、英文字、数字、ダッシュ(-) の小文字だけが使用可能です。さらにパブリックアクセスのレベルを設定して「OK」を選択します。これで、コンテナーが作成されました。
BLOBをアップロードする、ダウンロードする
「ブロックBLOG」は、ファイル、画像、動画などを格納するために最適なBLOBです。このブロックBLOGを例にアップロードとダウンロードを解説します。
Azure Portal でコンテナーに移動し、BLOB の一覧を表示します。 「アップロード」ボタンを選択して、ローカルファイルからアップロードしたいファイルを選択するとアップロードが行われます。アップロードする際に「認証の種類」を選択します。ダウンロードする場合は、一覧からダウンロードするBLOBを右クリックして「ダウンロード」を選択します。
Azure Blob Storageの料金体系
Azure Blob Storageは、低コストのアーカイブから大規模のアプリケーションまで幅広い用途で使うことができます。また、必要な機能と容量の分だけ支払う従量課金制で、前払いや解約金はありません。多様なニーズに合わせた料金プランが用意されています。
冗長性やリージョンなどストレージの仕様によって費用が異なり、コストをシミュレーションできます。
まとめ
非構造化データを扱えるAzure Blob Storageは、自然災害などの対策という補助的な役割から、動画コンテンツ配信、ビッグデータ解析という積極的なビジネス展開まで、さまざまな活用が考えられます。自由自在に容量などの拡張や縮小ができることも大きなメリットです。