format_list_bulleted
【Azure】Azure Blob Storageについて解説(AZ-900,AZ-104)
最終更新日時:2023-02-04 08:06:36



Azure Blob(Binary Large Objects) Storage は、Microsoft Azureで提供されるストレージサービスの中で最も一般的に使われているサービスです。

用途

ユーザーまたはクライアント アプリケーションは、世界のどこからでも、HTTP/HTTPS 経由で Blob Storage 内のオブジェクトにアクセスできます。 Azure Storage REST API、Azure PowerShell、Azure CLI、または Azure Storage クライアント ライブラリを使用して、Blob Storage 内のオブジェクトにアクセスできます。

Azure Storageクライアントライブラリを使用して、Blob Storage内のオブジェクトにアクセスできます。

  • 画像やドキュメントをブラウザに公開
  • 分散アクセス用にファイルを格納
  • ビデオや音楽のストリーミング配信
  • ログのファイル書き込み
  • バックアップと復元、ディザスターリカバリー、アーカイブのためのデータを格納
  • オンプレミスサービスまたはAzureホステッドサービスで分析するデータを格納

Azure Blob Storageのリソース

ストレージアカウント

Azureのストレージサービスを使用するためのアカウントです。

ストレージアカウントの名前が「abcde」の時、Blob Storageの公開URLは以下のようになります。

http://abcde.blob.core.windows.net

コンテナー

Blob Storageを使用するための擬似的なフォルダです。ストレージアカウント直下にファイルを配置できないため、擬似的にコンテナーを作成し、その配下にファイルを格納します。なお、コンテナ内にサブのコンテナーを作成することはできません。


BLOB

コンテナー内に格納されるファイルです。コンテナー作成後に、ファイルをBLOBとしてアップロードします。その内容に応じて、BLOBの種類とアクセス層を選択します。

リソースの構造は下記のようになっています。

blobのリソース

コンテナー作成時にはパブリックアクセスレベルというパラメータを構成しますが、これはアクセス権に関するパラメータで下記3つの選択肢があります。

  1. プライベート:インターネット経由での匿名アクセス禁止。Azure内部から使用する際に使用
  2. BLOB:インターネット経由でのファイルアクセスが可能。しかし、コンテナー内のファイル一覧の取得は不可。
  3. コンテナー:インターネット経由でのファイル・ファイル一覧の取得が可能

2に関しては、「https://SampleAccount.blob.core.windows.net/Images/imag.jpg」で画像の取得を行います。また3に関しては、「https://SampleAccount.blob.core.windows.net/Images?restype=container&comp=list」でコンテナのファイル一覧を取得します。


BLOBの種類

Azure Blob Storageには3つの種類があり、どちらを使用するか選択する必要があります。

ブロックBLOB

一般的なファイルや画像、ビデオなどのデータをクラウドに格納するほとんどの場合に適しています。ブロックBLOBはブロックIDによって識別されるブロックで構成されます。既定値として、ブロックBLOBが選択されています。

ページBLOB

ページBLOBは512バイトのページの集まりであり、Azureの仮想マシンや、VHD(Virtual Hard Disk)ファイルを格納先として使用されます。ディスクストレージとも呼ばれ、Azure仮想マシンで使用する仮想ディスク(IaaS)のプラットフォームのバックボーンでもあります。

追加BLOB

ブロックBLOBと似ていますが、追加操作に最適化されており、追加BLOBで許可される変更はBLOBの末尾へのブロック追加だけです。そのため、仮想マシンのログや監査ログの格納に適しています。また、ブロックBLOBとは異なり、ブロックIDを公開しません。


ブロックBLOB用のデータアクセス層

Azure Blob Storageはデータにアクセスするためのコスト(アクセスコスト)とデータを保存するためのコスト(ストレージコスト)があります。また、そのコストは3つデータアクセス層によってそれぞれ異なります。そのため、全く使わないデータをより安く保存することが可能です。さらに、最初の2週間は頻繁いアクセスしていたが、その後、数週間アクセスしていないデータをストレージコストの安いアクセス層に移動することも可能です。下記に記載しているのはデータアクセス層の3つです。

*こちらはBLOBの種類で、ブロックBLOBが選択された際のみです。

ホットアクセス層

  • ストレージアカウント内のオブジェクトへの頻繁なアクセスに対応するように最適化
  • ストレージコストは最も高く、アクセスコストは最も安い

クールアクセス層

  • 少なくとも30日以上保管されるデータの格納に最適化
  • ホットアクセス層と保存コストが安く、アクセスコストが高い

アーカイブ層

  • 少なくとも180日以上保管されるデータの格納に最適化
  • どの層よりも保存コストが安く、アクセスコストが高い
  • アーカイブのファイルの読み取りやダウンロードを行うためには、ホットアクセス層またはクールアクセス層に切り替える必要がある。(この切り替え操作をリハイドレートと呼ばれ数時間かかる)

Azure Storage冗長オプション

プライマリリージョンでの冗長性

ローカル冗長ストレージ(LRS)

  • プライマリリージョンの単一の物理的な場所内で、データを3回コピー
  • 最もコストがかからないレプリケーションオブション
  • ゾーン冗長ストレージ(ZRS)
  • 3つの可用性ゾーン間でデータを同期的にコピー


セカンダリリージョンでの冗長性

geo冗長ストレージ(GRS)

  • ローカル冗長ストレージを使用して、プライマリリージョンに3回コピー
  • その後、セカンダリリージョンに3回コピー


geoゾーン冗長ストレージ(GZRS)

  • ZRS を使用して、プライマリ リージョンの 3 つの Azure 可用性ゾーン間でデータを同期的にコピーします。
  • その後、セカンダリ リージョンの 1 つの物理的な場所にデータを非同期的にコピーします。
  • セカンダリ リージョン内のデータは、LRS を使用して同期的に 3 回コピーされます。

まとめ

Azure Blob Storageについて紹介しました。AZ-900やAZ-104に頻出の内容なので、理解して、暗記しましょう。