TL

Cloud Service

Azure Blob Storage

事実上無制限・高耐久のオブジェクトストレージ。静的サイト配信からバックアップ、データレイクまで何でも入る。AWS の Amazon S3 に相当する Azure の基本ストレージ。

基礎信頼性セキュリティコスト最適化パフォーマンス効率
最終更新: 2026-06-03公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.ファイルを無制限に放り込める高耐久オブジェクトストレージ。
  • 2.保存量に加えトランザクションや取り出しにも課金される。
  • 3.アクセス頻度で層を使い分け、配信は CDN 併用が定石。

解決する課題

サーバーのディスク容量や物理的な冗長化を気にせず、大量の非構造化データを安全に保管できます。

  • ストレージアカウント単位で事実上無制限にファイルを保存
  • 既定で複数のフォールトドメインへ複製(LRS)、設定により別リージョンへも自動複製(GRS)
  • HTTP(S) で直接アクセスでき、静的サイトやメディア配信にそのまま使える
  • アクセス層(Hot / Cool / Cold / Archive) でアクセス頻度に応じてコストを最適化

主要概念と用語

  • ストレージアカウント: Blob/Files/Queues/Tables をまとめる最上位の名前空間。名前はグローバルで一意(https://<account>.blob.core.windows.net
  • コンテナー: BLOB を入れる入れ物(S3 のバケットに相当)。アカウント内に複数作成
  • BLOB(オブジェクト): 保存する実体(データ+メタデータ)。3種類ある
    • ブロック BLOB: 一般的なファイル/オブジェクト用。最大約 190.7 TiB
    • 追加 BLOB: ログなど末尾追記に最適化
    • ページ BLOB: ランダムアクセス用。マネージドディスクの実体(最大 8 TiB)
  • アクセス層: Hot / Cool / Cold / Archive。保存コストと取り出しコスト/レイテンシのトレードオフ
  • 冗長性オプション: LRS / ZRS / GRS / GZRS / RA-GRS。どこまで複製するか
  • 階層型名前空間(HNS): 有効化すると Azure Data Lake Storage Gen2 として、本物のディレクトリと POSIX 風 ACL が使える

仕様・制限・クォータ

  • 1ブロック BLOB は最大約 190.7 TiB(50,000ブロック × 最大4000 MiB)
  • ストレージアカウントの既定容量上限は 5 PiB(申請で拡張可能)
  • 既定で 匿名公開は不可(ストレージアカウントの「BLOB への匿名アクセスを許可」が既定で無効)
  • 読み取り/書き込み/削除は強い整合性(書き込み後ただちに最新が読める)
  • コンテナー名・BLOB 名はパス文字列。「フォルダ」は HNS 無効時は見かけ上の表現

内部の仕組み

Blob Storage はキー(コンテナー名+BLOB 名)から実体を引く分散オブジェクトストアです。データはまずローカルリージョン内で 3つのコピー(LRS)に冗長化され、これが高耐久の基盤になります。HNS が無効なフラット名前空間では images/2026/cat.png のような名前は単なるキーで、/ はディレクトリ風に見せるための区切り文字にすぎません。

冗長性オプションによって複製範囲が変わります。

  • LRS(ローカル冗長): 単一データセンター内で3コピー
  • ZRS(ゾーン冗長): リージョン内の3つの可用性ゾーンへ同期複製
  • GRS(地理冗長): プライマリで LRS、さらに数百km離れたセカンダリリージョンへ非同期複製
  • GZRS: プライマリで ZRS、加えてセカンダリリージョンへ複製(最も堅牢)
  • RA-GRS / RA-GZRS: 上記に加えセカンダリからの読み取りを許可
耐久性 ≠ 可用性、そして地理冗長は非同期

GRS の16ナインは耐久性(データを失わない確率)であり、可用性(アクセスできる割合)とは別指標です。さらにセカンダリへの複製は非同期のため、フェールオーバー時に直近の書き込みが失われる可能性(RPO > 0)があります。RPO を 0 にしたいなら同期複製の ZRS を検討します。

設計パターン / ベストプラクティス

  • 静的サイト配信: Blob の「静的 Web サイト」機能 + Azure CDN / Front Door(このパターンは S3 + CloudFront に相当)
  • データレイク: HNS を有効化した ADLS Gen2 に生データを集約し、Synapse / Databricks / Fabric で分析
  • イベント駆動: BLOB 作成を Event Grid で検知し、Azure Functions を起動(サムネ生成・ETL など)
  • ライフサイクル管理: 一定期間アクセスのない BLOB を Hot → Cool → Cold → Archive へ自動移行し、最終的に削除
  • 不変ストレージ(Immutable / WORM): 改ざん防止が必要なログ・証跡に対し、時間ベース保持またはリーガルホールドを適用

運用・監視・トラブルシュート

  • Azure Monitor / Storage の Metrics で容量・トランザクション・レイテンシ・可用性を監視
  • 診断設定 + Storage Analytics ログでアクセス監査(S3 Server Access Logging 相当)
  • AzCopy で大量データの高速コピー/同期/移行
  • 「403 / AuthorizationFailure」は RBAC ロール未割り当て・SAS の期限切れ/権限不足・ネットワーク規則(ファイアウォール) が大半。「404」はコンテナー名や BLOB パスのミスを疑う

コスト

「保存量(GB)」だけでなく、「トランザクション数」「取り出し(読み取り)」「データ転送(下り)」にも課金されます。アクセス頻度でアクセス層を使い分けます。

アクセス層想定アクセス特徴
Hot高頻度保存単価は高い/取り出しは安い。標準・低レイテンシ
Cool低頻度(30日以上保持)保存安い/取り出し課金あり。即時アクセス可
Coldまれ(90日以上保持)Cool よりさらに保存安い/取り出しは高い。即時アクセス可
Archiveアーカイブ(180日以上)最安。オフライン。読むにはリハイドレート(数時間)が必要

セキュリティ

  • 匿名公開を無効(ストレージアカウント既定)にして意図しない公開を防ぐ
  • アクセス制御は Microsoft Entra ID + RBAC(例: Storage Blob Data Reader/Contributor)を基本とし、最小権限を徹底。一時的な委譲にはユーザー委任 SAS(アカウントキー不要)を使う
  • 保存時暗号化 SSE(Microsoft マネージドキー、既定で常時有効)、必要に応じ Key Vault のカスタマーマネージドキー(CMK)。転送時は TLS を強制(「セキュア転送が必須」を有効化)
  • プライベートエンドポイントでストレージをプライベート IP 化し、パブリックインターネットからの到達を遮断
アンチパターン

アカウントキーをアプリに直書きしたり、コンテナーを匿名公開にして配信するのは NG。アカウントキーが漏れるとアカウント全体を掌握されます。アプリからはマネージド ID + RBAC、一時共有はユーザー委任 SAS(短い有効期限)、配信は CDN / Front Door を使い、ストレージはプライベートのまま安全に公開します。

関連サービス・比較(AWS との対応)

観点Azure Blob StorageAmazon S3
位置づけAzure の基本オブジェクトストレージAWS の基本オブジェクトストレージ
入れ物の単位ストレージアカウント>コンテナーバケット
アクセス層Hot / Cool / Cold / ArchiveStandard / Standard-IA / Glacier 系
地理冗長GRS / GZRS(既定で選択可)CRR(クロスリージョンレプリケーション)
権限付与Entra ID + RBAC / SASIAM / バケットポリシー
データレイクADLS Gen2(HNS 有効化)S3 + Lake Formation / Athena
イベント連携Event Grid → FunctionsS3 Event → Lambda

ハンズオン / CLI例

# リソースグループを作成
az group create --name demo-rg --location japaneast

# ストレージアカウントを作成(地理冗長 GRS、TLS1.2 必須、匿名公開は無効)
az storage account create \
  --name mystorageacct2026 \
  --resource-group demo-rg \
  --location japaneast \
  --sku Standard_GRS \
  --kind StorageV2 \
  --min-tls-version TLS1_2 \
  --allow-blob-public-access false

# コンテナーを作成(Entra ID 認証を使用)
az storage container create \
  --name media \
  --account-name mystorageacct2026 \
  --auth-mode login

# ファイルをアップロード(アクセス層を Cool に指定)
az storage blob upload \
  --account-name mystorageacct2026 \
  --container-name media \
  --name index.html \
  --file ./index.html \
  --tier Cool \
  --auth-mode login

# 暗号化の状態を確認
az storage account show \
  --name mystorageacct2026 \
  --resource-group demo-rg \
  --query "encryption.services.blob" -o json

Azure Service

Azure Blob Storageを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

ストレージ

比較で見る軸

クラウド: Azure / カテゴリ: ストレージ / 難易度: basic

導入後に効く点

保存量に加えトランザクションや取り出しにも課金される。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Azure
カテゴリ
ストレージ
難易度
basic
関連資格
設計柱
reliability / security / cost / performance

判断チェックリスト

  • 自社の用途が「ストレージ / reliability」に近いか確認する。
  • 強みである「ファイルを無制限に放り込める高耐久オブジェクトストレージ。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

ストレージreliabilitysecuritycostperformance

他クラウドの同等サービス

役割が近いサービスです。設計の置き換えや比較検討の参考に。