Blob Storage:クラウド向けオブジェクト ストレージ
画像、動画、バックアップなどの非構造化データを Blob コンテナーに保存し、ホット、クール、アーカイブのアクセス レベルについて理解します。
「Blob Storage:クラウド向けオブジェクト ストレージ」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。
Azure Blob Storage とは
Azure Blob Storage(Binary Large Object)は、リレーショナル データベースのスキーマに適合しない非構造化データを大量に保存するための Azure のオブジェクト ストレージ ソリューションです。画像、動画、音声ファイル、PDF ドキュメント、ログ ファイル、バックアップ、アプリケーション バイナリなどがその例です。Blob Storage には、HTTP/HTTPS REST API、Azure SDK、または Azure CLI を使用してアクセスします。Azure で最も広く利用されているサービスの 1 つであり、多くのデータ レイク、メディア、バックアップ アーキテクチャの基盤となっています。
Blob Storage の階層構造
Blob Storage は 3 つのレベルの階層で構成されています。Storage Account → Container → Blob。コンテナーは最上位レベルのフォルダーのようなもので、関連する BLOB をグループ化し、その中にあるすべてのデータに対するアクセス ポリシーを定義します。BLOBは、コンテナー内に保存される個々のオブジェクト(ファイル)です。BLOB 名には、フォルダー階層を仮想的に表すスラッシュ(/)を含めることができます(例: images/2024/photo.jpg)。ただし、Blob Storage は基本的にフラットな構造であり、スラッシュは BLOB 名の一部であって、実際のディレクトリではありません。
# Upload a file to a Blob container
az storage blob upload \
--account-name mystorageacct \
--container-name images \
--name 'photos/2024/sunset.jpg' \
--file ./sunset.jpgBLOB の種類
Azure Blob Storage は 3 種類の BLOB をサポートしています。Block blobs — 最も一般的な種類で、ドキュメント、画像、動画の保存に適しています。データはブロックに分割され、並列でアップロードされます。最大サイズは約 190 TB です。Append blobs — ログ ファイルの書き込みなど、追加のみの操作に最適化されています。新しいデータは常に末尾に追加されます。Page blobs — 512 バイトのページの集合で、ランダムな読み取りと書き込みに最適化されています。Azure VM のマネージド ディスクで基盤となるストレージ メカニズムとして使用されます。迷った場合は block blobs を使用してください。汎用的なオブジェクト ストレージではこれが既定です。
BLOB のアクセス層
Blob Storage には、ストレージ コストとアクセス コストのバランスを取る 3 つのアクセス層があります。Hot tier — ストレージ コストは最も高く、アクセス コストは最も低い層です。頻繁にアクセスするデータに使用します。Cool tier — ストレージ コストは低く、アクセス コストは高い層で、最低 30 日間の保存が必要です。月次レポートなど、アクセス頻度の低いデータに使用します。Archive tier — ストレージ コストが最も低く(Hot tier より約 95% 安価)、データにアクセスする前に数時間の再水和が必要です。ほとんどアクセスしない長期的なコンプライアンス アーカイブに使用します。アカウント レベルで既定の層を設定し、BLOB ごとに上書きすることもできます。
# Set blob access tier to Cool
az storage blob set-tier \
--account-name mystorageacct \
--container-name backups \
--name monthly-report.zip \
--tier Coolライフサイクル管理ポリシー
数百万個の BLOB のアクセス層を手動で管理するのは現実的ではありません。ライフサイクル管理ポリシーを使用すると、この処理を自動化できます。ルールを定義して、BLOB を経過期間や最終アクセス日に基づいて低頻度アクセス用の層へ移動したり、削除したりできます。たとえば、30日間変更されていない BLOB をクール層に移動し、180日後にアーカイブ層へ移動して、365日後に削除する、といった設定が可能です。これにより、手動操作なしで、時間の経過に応じてストレージのコストを自動的に最適化できます。ライフサイクル ポリシーは JSON で定義し、ストレージ アカウント レベルで適用します。そのため、アカウント内のすべての BLOB が影響を受けます。
BLOB のアクセス制御
既定では、コンテナー内のすべての BLOB はプライベートであり、適切なアクセス許可を持つ認証済みユーザーだけがアクセスできます。コンテナーのアクセス レベルを Blob(個々の BLOB を読み取り可能)または Container(コンテナーの一覧表示とすべての BLOB の読み取りが可能)に設定すると、コンテナーと BLOB をパブリックにできます。よりきめ細かく、期間を限定したアクセスには、Shared Access Signatures (SAS)を使用します。SAS は、アカウント キーを共有することなく、特定のリソースに対して指定した期間だけ、読み取り、書き込み、削除などの権限を付与する暗号化トークンを含む URL です。
# Generate a SAS token for read-only access to a blob (expiring in 1 hour)
az storage blob generate-sas \
--account-name mystorageacct \
--container-name images \
--name photo.jpg \
--permissions r \
--expiry 2024-12-31T00:00:00Z静的 Web サイトのホスティング
Azure Blob Storage では、静的 Web サイトをホストできます。HTML、CSS、JavaScript、画像ファイルを、サーバー側のコードなしで、ストレージ アカウントから HTTP/HTTPS 経由で直接配信できます。ストレージ アカウントで静的 Web サイトのホスティングを有効にし、インデックス ドキュメント(例: index.html)とエラー ドキュメントを指定して、専用の $web コンテナーに静的ファイルをアップロードします。ストレージ アカウントの URL が Web サイトの URL になります。Azure CDNと組み合わせると、カスタム ドメイン、HTTPS、世界中のエッジでのキャッシュに対応でき、世界中のユーザーにサイトを高速に提供できます。
# Enable static website hosting
az storage blob service-properties update \
--account-name mystorageacct \
--static-website \
--index-document index.html \
--404-document 404.htmlバックアップのための Blob Storage
Blob Storage はアプリケーションやデータベースのバックアップの保存先として適しています。高い耐久性(LRS で99.999999999%、GRS ではさらに高い耐久性)、高可用性、大容量データに対する高いコスト効率を備えており、特にクール層やアーカイブ層で効果を発揮します。多くの Azure バックアップ サービス(VM 用 Azure Backup、SQL Database の自動バックアップなど)は、内部で Blob Storage にデータを保存しています。また、スケジュールされたジョブの一部として、Azure CLI や SDK を使用してデータベースを直接 BLOB にダンプするバックアップ スクリプトを作成することもできます。
Azure Data Lake Storage Gen2
Azure Data Lake Storage Gen2 (ADLS Gen2)は、BLOB ストレージを基盤とし、階層型名前空間機能を追加したサービスです。これにより、ディレクトリの名前変更や削除などの操作がアトミックかつ効率的に実行されます。これはビッグデータ分析ワークロードに不可欠です。ストレージ アカウントで階層型名前空間を有効にすると、そのアカウントは ADLS Gen2 に変わり、Azure Synapse Analytics、Azure Databricks、HDInsightとネイティブに統合できます。BLOB ストレージ API と HDFS プロトコルの両方をサポートしているため、既存の Hadoop ベースのツールやフレームワークと互換性があります。
Blob Storage の料金
Blob Storage の料金は3つの要素で構成されます。ストレージ料金は1か月あたりの GB 単位で、アクセス層によって異なります(米国東部ではホットが約 0.018ドル/GB、クールが約 0.01ドル/GB、アーカイブが約 0.001ドル/GB)。操作料金は読み取りおよび書き込み操作10,000回あたりの料金で、低頻度アクセス用の層ほど高くなります。データ転送料金は、受信(アップロード)は無料ですが、送信(インターネットへのダウンロード)には料金がかかります。大規模なデータセットでは、アクセス層の選択が総コストに大きく影響します。アクセス頻度の低いデータをホット層からクール層に移動すると、通常はストレージ料金を半分程度にでき、アーカイブ層では95%削減できる場合があります。
不変 BLOB ストレージ
金融や医療などの規制対象業界では、SEC Rule 17a-4 や HIPAA などの規制に準拠するため、データを書き込み一度、読み取り多数(WORM)形式で保存する必要があります。Azure Blob Storage の不変性ポリシーを使用すると、指定した保持期間中、BLOB を変更または削除できないようにロックできます。利用できるポリシーの種類は2つあります。時間ベースの保持(指定した日付まで BLOB をロック)と、リーガル ホールド(解除されるまで BLOB を無期限にロック)です。一度ロックすると、保持期間中はストレージ アカウント管理者であっても BLOB を削除できません。
クイックチェック
このレッスンで学んだ Microsoft Azure Fundamentals (AZ-900) の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、次のことを学びました。Blob Storage は、ストレージ アカウント、コンテナー、BLOB という階層で整理された非構造化データ用のオブジェクト ストアです。ホット、クール、アーカイブという3つのアクセス層によって、さまざまな使用パターンに応じてストレージ コストとアクセス コストのバランスを取れます。また、ライフサイクル管理ポリシーによって、BLOB を経過期間に基づいて低コストの層へ自動的に移動したり、削除したりできます。次は、ファイル共有とメッセージの分離に使用する Azure Files と Queue Storage について学びます。
よくある質問
「Blob Storage:クラウド向けオブジェクト ストレージ」レッスンは無料ですか?
はい。「Blob Storage:クラウド向けオブジェクト ストレージ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。
「Blob Storage:クラウド向けオブジェクト ストレージ」で何を学びますか?
画像、動画、バックアップなどの非構造化データを Blob コンテナーに保存し、ホット、クール、アーカイブのアクセス レベルについて理解します。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Azure Fundamentalsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「Blob Storage:クラウド向けオブジェクト ストレージ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAzure Fundamentalsレッスンでコードを書いて実行できますか?
はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Azure Storage Accounts
- Blob Storage:クラウド向けオブジェクト ストレージ
- Azure Files と Queue Storage
- ディスク ストレージとストレージ セキュリティ