次の方法で共有


Azure Blob Storage の概要

Azure Blob Storage は、Microsoft のクラウド用オブジェクト ストレージ ソリューションです。 Blob Storage は、テキスト データやバイナリ データなどの大量の非構造化データを格納するために最適化されています。 非構造化データとは、テキストやバイナリ データなど、特定のデータ モデルや定義に準拠していないデータです。

Blob Storage について

Blob Storage は次の目的で設計されています。

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

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

また、クライアントは、SSH ファイル転送プロトコル (SFTP) を使用して Blob Storage に安全に接続し、ネットワーク ファイル システム (NFS) 3.0 プロトコルを使用して Blob Storage コンテナーをマウントすることもできます。

Azure Data Lake Storage Gen2 について

Blob Storage では、クラウド向けの Microsoft のエンタープライズ ビッグ データ分析ソリューションである Azure Data Lake Storage Gen2 がサポートされています。 Azure Data Lake Storage Gen2 には、階層型ファイル システムと、次のような Blob Storage の利点が用意されています。

  • 低コストで階層化されたストレージ
  • 高可用性
  • "強固" 整合性
  • ディザスター リカバリー機能

Data Lake Storage Gen2 の詳細については、「 Azure Data Lake Storage Gen2 の概要」を参照してください。

Blob Storage リソース

Blob Storage には、次の 3 種類のリソースが用意されています。

  • ストレージ アカウント
  • ストレージ アカウント内のコンテナー
  • コンテナー内の BLOB

次の図は、これらのリソース間の関係を示しています。

ストレージ アカウント、コンテナー、BLOB 間の関係を示す図

ストレージ アカウント

ストレージ アカウントは、データ用の一意の名前空間を Azure 内に用意します。 Azure Storage に格納するすべてのオブジェクトには、一意のアカウント名を含むアドレスがあります。 アカウント名と Blob Storage エンドポイントの組み合わせによって、ストレージ アカウント内のオブジェクトのベース アドレスが形成されます。

たとえば、ストレージ アカウントの名前が mystorageaccount の場合、Blob Storage の既定のエンドポイントは次のようになります。

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

次の表では、Blob Storage でサポートされているさまざまな種類のストレージ アカウントについて説明します。

ストレージ アカウントの種類 パフォーマンスレベル Usage
汎用 v2 Standard BLOB、ファイル共有、キュー、テーブル用の Standard タイプのストレージ アカウント。 Blob Storage またはその他の Azure Storage サービスのいずれかを使用するほとんどのシナリオに推奨されます。
ブロック BLOB Premium ブロック BLOB と追加 BLOB 用の Premium タイプのストレージ アカウント。 トランザクション レートが高く、比較的小さなオブジェクトが使用されるシナリオ、またはストレージ待ち時間が一貫して短いことが要求されるシナリオに推奨されます。 プレミアムブロックBLOBアカウントのワークロードについて、より詳しく知る
ページ BLOB Premium ページ BLOB に特化した Premium Storage アカウントの種類。 Premium ページ BLOB アカウントのワークロードについて詳しく知る...

ストレージ アカウントの種類の詳細については、 Azure ストレージ アカウントの概要に関するページを参照してください。 従来のストレージ アカウントの種類については、「レガシ ストレージ アカウントの種類」を参照してください。

ストレージ アカウントを作成する方法については、「ストレージ アカウント の作成」を参照してください。

Containers

コンテナーは、ファイル システム内のディレクトリと同様に、BLOB のセットを整理します。 ストレージ アカウントには無制限の数のコンテナーを含めることができます。また、コンテナーには無制限の数の BLOB を格納できます。

コンテナー名は、コンテナーまたはその BLOB のアドレス指定に使用される一意の URI (Uniform リソース識別子) の一部であるため、有効な DNS 名である必要があります。 コンテナーに名前を付けるときは、次の規則に従います。

  • コンテナー名の長さは 3 ~ 63 文字にする必要があります。
  • コンテナー名は英文字または数字で始まり、英小文字、数字、ダッシュ (-) 文字のみを含めることができます。
  • 2 つ以上の連続するダッシュ文字は、コンテナー名には使用できません。

コンテナーの URI は次のようになります。

https://myaccount.blob.core.windows.net/mycontainer

コンテナーの名前付けの詳細については、「コンテナー、 BLOB、およびメタデータの名前付けと参照」を参照してください。

ブロブス

Azure Storage では、次の 3 種類の BLOB がサポートされています。

  • ブロック BLOB にはテキスト とバイナリ データが格納されます。 ブロック BLOB は、個別に管理できるデータ のブロックで構成されます。 ブロック BLOB は、最大で約 190.7 TiB を格納できます。
  • 追加 BLOB は、ブロック BLOB と同様にブロックで構成されますが、追加操作用に最適化されています。 追加 BLOB は、仮想マシンからのデータのログ記録などのシナリオに最適です。
  • ページ BLOB には、 最大 8 TiB のサイズのランダム アクセス ファイルが格納されます。 ページ BLOB は仮想ハード ドライブ (VHD) ファイルを格納し、Azure 仮想マシンのディスクとして機能します。 ページ BLOB の詳細については、「Azure ページ BLOB の概要」を参照してください。

さまざまな種類の BLOB の詳細については、「 ブロック BLOB、追加 BLOB、ページ BLOB について」を参照してください。

BLOB の URI は次のようになります。

https://myaccount.blob.core.windows.net/mycontainer/myblob

または

https://myaccount.blob.core.windows.net/mycontainer/myvirtualdirectory/myblob

BLOB に名前を付ける場合は、次の規則に従います。

  • BLOB 名には、任意の組み合わせの文字を含めることができます。
  • Azure Storage の BLOB の場合、BLOB 名の長さは 1 文字以上にする必要があり、1,024 文字を超えることはできません。
  • BLOB 名では大文字と小文字が区別されます。
  • URL の予約文字は適切にエスケープしてください。
  • BLOB 名を構成するパス セグメントの数には制限があります。 パス セグメントは、ディレクトリまたは仮想ディレクトリに対応する連続する区切り文字 (スラッシュ /など) の間の文字列です。 次のパス セグメントの制限は、BLOB 名に適用されます。
    • ストレージ アカウントで階層型名前空間 が有効になっていない 場合、BLOB 名を構成するパス セグメントの数は 254 を超えることはできません。
    • ストレージ アカウントで階層型名前空間が有効になっている場合、BLOB 名を構成するパス セグメントの数が 63 を超えることはできません (コンテナー名とアカウント ホスト名のパス セグメントを含む)。

ドット (.)、スラッシュ (/)、またはこの 2 つの文字のシーケンスあるいは組み合わせで終わる BLOB 名は使用しないでください。 パス セグメントはドット (.) で終わる必要はありません。

BLOB の名前付けの詳細については、「 コンテナー、BLOB、およびメタデータの名前付けと参照」を参照してください。

Blob Storage へのデータの移動

既存のデータを Blob Storage に移行するためのソリューションが多数存在します。

  • AzCopy は、Blob Storage との間、コンテナー間、またはストレージ アカウント間でデータをコピーする、Windows および Linux 向けの使いやすいコマンド ライン ツールです。 AzCopy の詳細については、「 AzCopy v10 を使用したデータの転送」を参照してください。
  • Azure Storage データ移動ライブラリは、Azure Storage サービス間でデータを移動するための .NET ライブラリです。 AzCopy ユーティリティは、データ移動ライブラリを使用して構築されています。 詳細については、データ移動ライブラリの リファレンス ドキュメント を参照してください。
  • Azure Data Factory では、アカウント キー、Shared Access Signature、サービス プリンシパル、または Azure リソースのマネージド ID を使用して、Blob Storage との間でデータをコピーできます。 詳細については、「 Azure Data Factory を使用して Azure Blob Storage との間でデータをコピーする」を参照してください。
  • Blobfuse は、Azure Blob Storage の仮想ファイル システム ドライバーです。 BlobFuse を使用して、Linux ファイル システムを介してストレージ アカウント内の既存のブロック BLOB データにアクセスできます。 詳細については、「 BlobFuse とは - BlobFuse2 (プレビュー)」を参照してください。
  • Azure Data Box サービスを使用すると、大規模なデータセットまたはネットワーク制約によってネットワーク経由でのデータのアップロードが非現実的になる場合に、オンプレミスのデータを Blob Storage に転送できます。 データ サイズに応じて、 Microsoft から Azure Data Box DiskAzure Data Box、または Azure Data Box Heavy デバイスを要求できます。 その後、それらのデバイスにデータをコピーし、それらを Microsoft に返送して Blob Storage にアップロードできます。
  • Azure Import/Export サービスでは、指定したハード ドライブを使用して、ストレージ アカウントとの間で大量のデータをインポートまたはエクスポートできます。 詳細については、「Azure Import/Export サービスとは」を参照してください。

次のステップ