Azure Blob Storageとは? 

「Azure Blob Storage」は、Microsoftが提供するクラウド用オブジェクトストレージで非構造化データを保存することに最適化されたサービスです。非構造化データとは特定のデータモデルや定義に従っていない、テキストファイル、画像、音声、動画などのデータのことをいいます。Azure Blob Storageはバックアップやアーカイブデータやビデオやオーディオをストリーミング配信するためのデータを格納するためなどに使用されています。 

Azure Blob Storageの特徴と利点 

Azure Blob Storageは大容量の非構造化データの安全に保存、管理、アクセスするためのサービスです。以下でAzure Blob Storageの特徴や利点を紹介します。 

  1. 冗長性と高可用性:データをレプリケートすることで障害が起きてもデータが安全に保たれ、サービスを継続的に利用できます。レプリケートにはいくつか種類があり、 同データセンタ内に複製されるものや別リージョンに複製されるものなど様々あります。
  1. データ格納:Azure Blob StorageのBlobはデータを格納する基本単位です。Blobには3つの種類があり、データによってBlobを使い分けることでアップロードなどの効率を上げることができます。またペタバイト規模のデータを保存できるように設計されており、高いスケーラビリティを提供してくれます。 
  1. データ管理のしやすさ:ストレージアカウント、ストレージアカウント内のコンテナ、コンテナ内のBlobの3種類のリソースでデータを格納、管理します。コンテナ、Blobなどの一覧とそれに関連したプロパティを表示、レポートを作成するBlobインベントリという機能あります。さらにBlobやBlobのメタデータに対して行われる変更のログを提供してくれる変更フィードという機能もあります。 
  1. 柔軟な料金体系:保存するデータの使用頻度や保存時間によってプランを変更することによりコストのバランスをとることができます。 
  1. セキュリティ:保存するデータが自動的に暗号化されます。Blobやコンテナごとに暗号化をする機能もあります。さらにSSHファイル転送プロトコルを使用してBlob Storageに安全にアクセスできます。 
  1. アクセス:Blob Storage内のオブジェクトにHTTP/HTTPS経由で世界中から接続できます。また、Azure CLIやさまざまなプログラミング言語のライブラリを使用してアクセスすることもできます。 
  1. 統合:Azureのほかのサービスとのシームレスな統合を提供しています。Azure Data Lake Storage Gen2との統合により、分析及び処理ワークロードをサポートしています。 

Azure Blob Storageの価格・料金 

Azure Blob Storageの料金はアクセス層、データの保存、操作、転送量、その他機能の使用で決定します。 

なお、本章で解説する料金は2024年7月時点の東日本リージョンの情報です。最新の情報やより詳細な情報については、公式情報をご確認下さい。 

データ容量の料金は従量課金制と1年間または3年間の予約制で料金が異なり、予約制は従量課金制よりコストが抑えられます。 

従量制課金(1GBあたり) Premium ホット クール コールド アーカイブ 
最初の 50 テラバイト (TB)/月 ¥35.01408/GB ¥3.2124/GB ¥1.76677/GB ¥0.72277/GB ¥0.32124/GB 
次の 450 TB/月 ¥35.01408/GB ¥3.0839/GB ¥1.76677/GB ¥0.72277/GB ¥0.32124/GB 
予約年数 1年間予約 3年間予約 
 ホット クール アーカイブ ホット クール アーカイブ 
100 TB/月 ¥269,727 ¥148,355 ¥29,273 ¥217,098 ¥133,878 ¥26,975 
1 PB /月 ¥2,627,301 ¥1,445,014 ¥286,310 ¥2,088,370 ¥1,296,810 ¥262,731 

データの転送、操作については書き込み、読み取りなどどのような操作を行うかによって追加される料金が変わります。 

操作とデータ転送 Premium ホット クール コールド アーカイブ 
書き込み操作 (10,000 単位)1 ¥5.3003 ¥10.4400 ¥20.8800 ¥37.5840 ¥23.7711 
読み取り操作 (10,000 単位)3 
優先度が高い読み取りのアーカイブ (10,000 あたり)5 
¥0.4241 ¥0.8031 ¥2.0880 ¥20.8800 ¥1,148.3973
 ¥15,137.9639 
反復読み取り操作 (10,000 あたり)3 ¥5.3100 ¥0.8352 ¥0.8352 ¥0.8352 ¥0.8352 
反復書き込み操作 (100 件)4 該当なし ¥10.4400 ¥10.4400 ¥10.4400 ¥10.4400 
データ取得 (GB あたり)4 
優先度が高い取得のアーカイブ (GB あたり)5 
Free Free ¥1.6062 ¥4.8185 ¥3.5336 
¥23.2892 
データ書き込み (GB あたり) Free Free Free Free Free 
インデックス (GB/月) 該当なし ¥4.6579 該当なし 該当なし 該当なし 
削除 (無料) 以外のその他すべての操作 (10,000 件あたり) ¥0.4241 ¥0.8031 ¥0.8031 ¥1.2111 ¥0.8031 

表にあるホット、クール、コールド、アーカイブはホットアクセス層、クールアクセス層、コールドアクセス層、アーカイブアクセス層と呼ばれるものです。 

料金表からわかる通り、以下の左からストレージコストが高く、アクセスコストに関しては左から安くなります。 

ホットアクセス層-クールアクセス層-コールドアクセス層-アーカイブアクセス層 

そのため処理中のデータをホットアクセス層におき、処理後のデータをクールアクセス層に移動させるなど、データのアクセスや変更を頻繁に行うかどうかを考え、アクセス層を選択することによってコストを抑えることが可能です。 

また、ホットアクセス層とクール、コールドアクセス層は同様の持続性、データ取得待機時間、スループットの性能ですが、アーカイブアクセス層はデータを取得するのに待機時間が必要になります。これらとは別にPremiumと呼ばれるものもあり、こちらに関してはほかに比べて低遅延、高パフォーマンス、高料金のものがあります。 

上記のデータ容量、操作、転送以外にAzure Blob Storageの機能を使用することで料金がかかります。最新の情報は公式ページを確認してください。 

Azure Blob Storageの使い方 

簡単なAzure Blob Storageの使用方法を紹介します。大まかな流れとしてAzure Blob Storageの作成、ブラウザ上からファイルをアップロード、Azure CLIを使用したファイルのアップロードという順番で紹介していきたいと思います。 

まず、Azureにログインし、ストレージ アカウントのページを開きます。 

ストレージ アカウント

ストレージ アカウントのページの+作成をクリックします。 

ストレージ アカウント

本記事はテスト用のストレージアカウントを作成するので設定値はデフォルトで行います。作成するストレージアカウントの名前を入力し、確認と作成をクリックします。 

Blob設定

ストレージアカウントのページで先ほど設定した名称のストレージアカウントをクリックします。 

Blob設定

左のタブのコンテナをクリックし、+コンテナをクリックし、新たなテスト用コンテナを作成します。 

作成するコンテナの名前を入力し、作成をクリックします。 

コンテナ設定

一度テストとしてこのブラウザページから先ほど作成したコンテナにテスト用ファイルをアップロードします。作成されたコンテナのページに飛び、アップロードをクリックします。 

Blobアップロード

テストファイルを画像の箇所にドラッグアンドドロップし、アップロードをクリックします。 

Blobアップロード

そうすると以下の画像のようにファイルがアップロードされます。 

Blobアップロード

次にAzure CLIを使用し、ファイルをアップロードしてみます。 

まず、Azure CLIのインストールから行います。ダウンロードページに飛びAzure CLIのMSIをダウンロードします 

Azure CLI


以下の画像のようにインストール画面が表示されるのでI accept the terms in the License Agreementのチェックボックスをクリックし、Installボタンをクリックし、インストールを行います。 

Azure CLI

完了すると以下のような画面が表示されるのでFinishをクリックします。 

Azure CLI

以下のas storageコマンドを使用してファイルをアップロードします。 

az storage blob upload --account-name <ストレージアカウント名> --account-key <アクセスキー> -c <コンテナ名> --file <アップロードするファイルパス> --name <アップロード後ファイル名> 

オプションに入力する内容は以下の通りです。 
–account-name <ストレージアカウント名>:アップロード先のストレージアカウントの名前 
–account-key <アクセスキー>:アクセスキーを使用することで、ログインすることなくファイルをアップロードできます。 アクセスキーの確認方法は後程説明します。
-c <コンテナ名>:アップロード先のコンテナの名前 
–file <アップロードするファイルパス>:アップロードするファイルのパス 
–name <アップロード後ファイル名>:アップロードしたファイルの名前 

<アクセスキー>内容の確認方法はブラウザからストレージアカウントのページに飛び、作成したストレージアカウントをクリックします。そこから左のタブの検索欄にアクセスキーと入力し、アクセスキーをクリックします。 
キーの表示をクリックすることで–account-keyに入力する内容が表示されます。 

アクセスキー設定

テストファイル2.txtというファイルを試しにアップロードしてみます。 
コマンドを実行すると以下のように出力されます。 

ブラウザ上からもアップロードされたことが確認できます。 

Blobアップロード

このようにAzure CLIを使用することでスクリプトなどを作成することでWindowsサーバやLinuxサーバのログやバックアップしておきたいファイルを定期的にアップロードするといった使用方法や、javaやpythonなどに用意されたライブラリを使用することで作成したアプリケーションのデータをAzure Blob Storageに保存するなど様々な使用方法があります。 

まとめ 

本記事では、Azure Blob Storageについて紹介しました。Azure Blob Storageが多種多様な非構造化データを安全かつ効率的に管理できることがご理解いただけたかと思います。 

本記事では紹介できていないAzureのほかのサービスとの統合やさまざまな接続方法を知ることで幅広いAzure Blob Storageの使用方法が見つかると思うので、より詳細な情報を調べてみてはいかがでしょうか。