Azure Blob Storage のコストを計画および管理する

この記事は、Azure Blob Storage のコストを計画および管理するのに役立ちます。 まず、Azure 料金計算ツールを使用して、コストを見積もります。 ストレージ アカウントを作成したら、必要な分だけ支払うようにアカウントを最適化します。 コスト管理機能を使用して、予算を設定し、コストを監視します。 また、予測コストを確認し、支出の傾向を監視して、対処した方がよい領域を識別することもできます。

Blob Storage のコストは、Azure の請求にある月額料金の一部でしかないことにご注意ください。 この記事では、Blob Storage のコストを見積もり、管理する方法について説明しますが、サード パーティのサービスを含め、Azure サブスクリプションで使用されるすべての Azure サービスとリソースに対して課金されます。 Blob Storage のコスト管理に慣れたら、同様の方法を適用して、サブスクリプションで使用されているすべての Azure サービスのコストを管理できます。

コストの見積もり

Azure Storage アカウントを作成し、データの転送を開始する前にコストを見積もるには、Azure 料金計算ツール を使用します。

  1. [Azure 料金計算ツール] ページで、 [ストレージ アカウント] タイルを選択します。

  2. ページを下方向にスクロールして、見積りの [ストレージ アカウント] セクションを見つけます。

  3. ドロップダウン リストからオプションを選択します。

    これらのドロップダウン リストの値を変更すると、コストの見積り額が変化します。 その見積り額は、上部の隅と見積りの下部に表示されます。

    Screenshot showing your estimate

    [種類] ドロップダウン リストの値を変更すると、このワークシートに表示されている他のオプションも変更されます。 [詳細] セクションのリンクを使用して、各オプションの意味とこれらのオプションがストレージ関連の操作の価格にどのように影響するかを確認します。

  4. 残りのオプションを変更して、それらが見積もりに与える影響を確認します。

サポート ツールとガイド

以下のリソースは、Azure Blob Storage の使用コストを予測するのにも役立ちます。

Azure Blob Storage の詳細な課金モデルを理解する

Azure Blob Storage は、新しいリソースをデプロイする際にコストが発生する Azure インフラストラクチャ上で実行されます。 その他のインフラストラクチャ コストが追加で発生する可能性があることを理解しておくことが重要です。

Azure Blob Storage の料金のしくみ

Blob Storage リソースを作成または使用すると、以下のように料金が発生します。

測定 単位
データ ストレージ GB/月
Operations トランザクションあたり
データ転送 GB あたり
メタデータ GB あたり/1 か月あたり1
BLOB インデックス タグ タグあたり2
Change Feed ログに記録された変更 1 件あたり2
暗号化スコープ 1 か月あたり2
クエリの高速化 スキャン 1 GB あたり & 返された結果 1 GB あたり

1 階層型名前空間があるアカウントにのみ適用されます。
2 この機能を有効にした場合のみ適用されます。

このほか、データ トラフィックによりネットワーク関連のコストが発生する可能性があります。 「帯域幅の価格」を参照してください。

請求期間終了時に、各測定の料金が合計されます。 請求書には、Azure Blob Storage に関して発生したすべてのコストが 1 つのセクションに表示されます。 測定ごとに個別の行項目があります。

データ ストレージとメタデータは、1 か月ごとに GB 単位で課金されます。 格納期間が 1 か月未満のデータとメタデータについては、1 日あたりの GB 数のコストを計算することによって、月ごとの請求額に対する影響を試算することができます。 使用する期間が 1 か月未満の暗号化スコープのコストを試算する際にも、これとほぼ同じアプローチが使えます。 日数は月ごとに異なります。 そのため、月額のコストを月ごとの日数で割るようにすると、その月のコストを最大限正確に見積もることができます。

ストレージ ユニット

Azure Blob Storage では、ストレージ容量を表すために次の基数 2 の測定単位が使用されます: KiB、MiB、GiB、TiB。 測定単位として GB を含む請求書の品目 (たとえば、GB ごと/月ごと) は、Azure Blob Storage によってバイナリ GB (GiB) として計算されます。 たとえば、[格納データ (GB/月)]1 を示す請求書の品目は、1 か月あたり 1 GiB の使用量に対応します。 次の表では、各基数 2 の単位について説明します。

頭字語 単位 定義
KiB キビバイト 1,024 バイト
MiB メビバイト 1,024 KiB (1,048,576 バイト)
GiB ギビバイト 1024 MiB (1,073,741,824 バイト)
TiB テビバイト 1024 GiB (1,099,511,627,776 バイト)

各測定の単価を把握する

単価を見つけるには、正しい価格ページを開き、適切なファイル構造を選びます。 次に、冗長性、リージョン、通貨に適切なフィルターを設定してください。 各測定の価格が、表形式で表示されます。 価格は、アカウントの他の設定 (データの冗長性オプション、アクセス層、パフォーマンス レベルなど) に応じて異なります。

正しい価格ページとファイル構造は、主にデータの読み取りと書き込みのコストにとって重要です。データを保存するコストは、それらの選択によって実質的に変更されないためです。 データの読み取りと書き込みのコストを正確に見積もるには、まず、データの読み取りと書き込みに使用する ストレージ アカウント エンドポイント クライアント、アプリケーション、およびワークロードを決定します。

BLOB サービス エンドポイントに対する価格要求

BLOB サービス エンドポイントの形式は https://<storage-account>.blob.core.windows.net であり、Blob Storage と対話するツールおよびアプリケーションによって使用される最も一般的なエンドポイントです。

要求は、次のいずれかのソースから生成できます。

これらの要求の正しい価格ページは、ブロック BLOB の価格ページです。

このエンドポイントへの要求は、階層型名前空間があるアカウントでも発生する場合があります。 実際、NFS 3.0 および SFTP プロトコルを使用するには、まずアカウントの階層型名前空間機能を有効にする必要があります。

アカウントで階層型名前空間機能が有効になっている場合は、[File Structure] (ファイル構造) ドロップダウン リストが [Hierarchical Namespace (NFS v3.0, SFTP Protocol)] (階層型名前空間 (NFS v3.0、SFTP プロトコル)) に設定されていることを確認してください。 それ以外の場合は、[Flat Namespace] (フラット型名前空間) に設定されていることを確認してください。

Data Lake Storage エンドポイントへの価格要求

Data Lake Storage エンドポイントの形式は https://<storage-account>.dfs.core.windows.net であり、分析ワークロードおよびアプリケーションで使用される最も一般的なエンドポイントです。 このエンドポイントは、通常、階層型名前空間があるアカウントで使用されますが、そうでない場合もあります。

要求は、次のいずれかのソースから生成できます。

これらの要求の正しい価格ページは、Azure Data Lake Storage Gen2 の価格ページです。

アカウントで階層型名前空間機能が有効になっていないが、クライアント、ワークロード、またはアプリケーションでアカウントの Data Lake Storage エンドポイントを介して要求を行うことを期待する場合は、[File Structure] (ファイル構造) ドロップダウン リストを [Flat Namespace] (フラット型名前空間) に設定してください。 それ以外の場合は、[階層構造の名前空間] に設定されていることを確認します。

各操作の価格を検索する

AzCopy や Azure Storage Explorer などのツールによって行われた各要求は、REST 操作の形式でサービスに到着します。 これは、Azure Storage クライアント ライブラリを利用するカスタム アプリケーションにもあてはまります。

各操作の価格を判別するには、まず、''種類'' という観点でその操作がどのように分類されるかを判別する必要があります。 これは、価格ページには、個々の操作ではなく、操作の種類によってのみ価格が一覧表示されるためです。 各操作が操作の種類にどのようにマップされるかについては、「各 REST 操作を価格にマップする」を参照してください。

Azure Blob Storage で Azure 前払いを使用する

Azure Blob Storage の料金は、Azure 前払い (旧称: 年額コミットメント) のクレジットを使用して支払うことができます。 ただし、Azure 前払いのクレジットを使用して、サードパーティの製品やサービス (Azure Marketplace からのものを含む) の料金を支払うことはできません。

コストを最適化する

コストを削減するには、これらのオプションを使用することを検討してください。

  • 既存のコンテナーと BLOB を分析する

  • ストレージ容量を予約する

  • データをアクセス層にまとめる

  • アクセス層間でデータを自動的に移動する

このセクションでは、各オプションについて詳しく説明します。

既存のコンテナーと BLOB を分析する

既に Blob Storage を使用してしばらく経っている場合は、コンテナーの内容を定期的に確認して、コストを削減する機会を特定する必要があります。 BLOB が運用環境でどのように格納され、整理され、使用されるかを理解することで、それらの BLOB の可用性、パフォーマンスとコストのトレードオフをより適切に最適化できます。

既存のコンテナーと BLOB を明細化して分析するには、次のいずれかの記事を参照してください。

ストレージ容量を予約する

Azure Storage の予約容量を使用して BLOB データのストレージ コストを節約できます。 Azure Storage の予約容量により、1 年間または 3 年間の予約を行うと、Standard ストレージ アカウントのブロック BLOB および Azure Data Lake Storage Gen2 データの容量を割引できます。 予約を行うと、予約期間に一定量のストレージ容量が提供されます。 Azure Storage の予約容量により、ブロック BLOB と Azure Data Lake Storage Gen2 データの容量コストを大幅に削減できます。

詳細については、「予約容量を使用して BLOB ストレージのコストを最適化する」を参照してください。

データをアクセス層にまとめる

コスト効率に優れたアクセス層に BLOB データを配置することで、コストを削減できます。 データの使用に関するコストを最適化するように設計された 3 つの層から選択します。 たとえば、"ホット" 層のストレージ コストは高くなりますが、アクセス コストは低くなります。 そのため、データに頻繁にアクセスする場合は、ホット層が最もコスト効率の高い選択肢になる可能性があります。 データにアクセスする頻度が少ない場合は、データを格納するコストを削減すると同時に、データにアクセスするコストが発生するため、"コールド" または "アーカイブ" 層が最も意味がある可能性があります。

次の記事のいずれかを参照してください。

アクセス層間でデータを自動的に移動する

ライフサイクル管理ポリシーを使用して、コストを最も節約するために定期的に階層間でデータを移動します。 これらのポリシーによって、指定したルールを使用してデータをに移動できます。 たとえば、BLOB が 90 日以内に変更されていない場合、BLOB をアーカイブ層に移動するルールを作成することができます。 データのアクセス層を調整するポリシーを作成することによって、ニーズに最もコストのかからないストレージ オプションを設計できます。

詳細については、Azure Blob Storage のライフサイクルの管理に関するページを参照してください

予算を作成する

予算を作成してコストを管理し、異常な支出や超過出費のリスクについて関係者に自動的に通知するアラートを作成できます。 アラートは、予算とコストのしきい値と比較した支出に基づきます。 予算とアラートは、Azure サブスクリプションとリソース グループに対して作成されるため、全体的なコスト監視戦略の一環として役立ちます。 ただし、これらはより高いレベルでコストを追跡するように設計されているため、Azure Storage のコストなど、個々の Azure サービスのコストを管理する機能が限定されていることがあります。

コストを監視する

Azure Storage で Azure リソースを使用する場合、コストが発生します。 リソース使用のユニット コストは、期間 (秒、分、時間、日数) やユニット使用量 (バイト、メガバイトなど) によって異なります。Azure Storage の使用を開始するとただちにコストが発生します。 コストは、Azure portal の [コスト分析] ペインで確認できます。

コスト分析を使用すると、さまざまな期間について、Azure Storage のコストをグラフや表で表示できます。 たとえば、日単位、現在の月、以前の月、年単位などがあります。 予算や予想コストを基準としてコストを表示することもできます。 長期にわたるより長い期間のビューに切り替えると、支出の傾向を特定し、超過出費が発生した可能性のある時期を確認するのに役立ちます。 予算を作成したら、それを超えた場合を簡単に確認できます。

Note

コスト分析では、さまざまな種類の Azure アカウントがサポートされています。 サポートされているアカウントの種類の完全な一覧については、「Understand Cost Management data (Cost Management データの概要)」を参照してください。 コスト データを表示するには、少なくとも Azure アカウントの読み取りアクセス許可が必要です。 Microsoft Cost Management データに対するアクセス権の割り当てについては、データに対するアクセス権の割り当てに関するページを参照してください。

Azure Storage のコストをコスト分析で表示するには、次の操作を行います。

  1. Azure portal にサインインします。

  2. [コストの管理と請求] ウィンドウを開き、メニューから [Cost management] (コスト管理) を選択してから、 [コスト分析] を選択します。 その後、特定のサブスクリプションのスコープを [スコープ] ドロップダウンから変更できます。

    Screenshot showing scope

  3. Azure Storage のコストのみを表示するには、 [フィルターの追加][サービス名] の順に選択します。 次に、リストから [ストレージ] を選択します。

    Azure Storage のみのコストを表示する例を次に示します。

    Screenshot showing filter by storage

前の例では、サービスの現在のコストが表示されます。 また、Azure リージョン (場所) 別およびリソース グループ別のコストも表示されます。 他のフィルターを追加することもできます (例: 特定のストレージ アカウントのコストを表示するフィルター)。

コスト データのエクスポート

また、ストレージ アカウントにコスト データをエクスポートすることもできます。 これは、自分や他のユーザーがコストに関する追加のデータ分析を行う必要がある場合に便利です。 たとえば、財務チームは、Excel や Power BI を使用してデータを分析できます。 日単位、週単位、または月単位のスケジュールでコストをエクスポートし、カスタムの日付範囲を設定することができます。 コスト データのエクスポートは、推奨されるコスト データセット取得方法です。

驚くような請求にならないようにする

アカウントの既定のアクセス層の変更などの一部のアクションでは、予想していなかったコストが発生する可能性があります。 各機能に関する記事には、予期しないコストを回避する方法について説明していますが、この表では一般的な原因を示します。

カテゴリ 操作 請求書への潜在的な影響
アクセス層 既定のアクセス層の設定を変更する アカウントにアクセス層と思われる BLOB が多数含まれている場合、この設定を変更すると、多額のコストが発生する可能性があります。

ストレージ アカウントの既定のアクセス層の設定を変更すると、アクセス層を明示的に設定していない、アカウント内のすべての BLOB に適用されます。 汎用 v2 アカウントで既定のアクセス層の設定をホットからクールに切り替えると、アクセス層と思われるすべての BLOB に対する書き込み操作 (10,000 件ごと) に料金が発生します。 汎用 v2 アカウントでクールからホットに切り替えると、読み取り操作 (10,000 件単位) とデータ取得 (1 GB 単位) の両方の料金が発生します。

詳細については、「既定のアカウント アクセス層の設定」を参照してください。
アクセス層 アーカイブからのリハイドレート アーカイブからの優先度の高いリハイドレートは、通常の請求よりも高くなる可能性があります。 Microsoft では、緊急データ復元の状況で使用するために、高優先度のリハイドレートの予約を推奨します。

詳細については、「リハイドレートの優先度」を参照してください。
データ保護 BLOB の論理的な削除を有効にする BLOB を上書きすると、BLOB スナップショットが発生する可能性があります。 BLOB が削除される場合とは異なり、これらのスナップショットの作成はログに記録されません。 これは、予期しないストレージ コストにつながる可能性があります。 頻繁に上書きされるデータを、論理的な削除が有効になっていないアカウントに配置するかどうかを検討します。

詳細については、「論理的な削除が有効になっている場合の上書きの処理方法」を参照してください。
データ保護 BLOB のバージョン管理を有効にする BLOB のすべての書き込み操作で、新しいバージョンが作成されます。 BLOB の論理的な削除を有効にする場合と同様に、頻繁に上書きされるデータを、バージョン管理が有効になっていないアカウントに配置する必要があるかどうかを検討してください。

詳細については、「書き込み操作でのバージョン管理」を参照してください。
監視 Storage Analytics ログ (クラシック ログ) を有効にする アイテム保持ポリシーが設定されていない場合、ストレージ分析ログは時間の経過とともにアカウントに蓄積される可能性があります。 ログが蓄積され、予期しない容量の料金が発生しないように、アイテム保持ポリシーを必ず設定してください。

詳細については、「ログ データの保持期間を変更する」を参照してください。
プロトコル SSH ファイル転送プロトコル (SFTP) サポートの有効化 SFTP エンドポイントを有効にすると、時間単位のコストがかかります。 パッシブ料金を回避するには、SFTP をアクティブに使用してデータを転送する場合にのみ、SFTP を有効にすることを検討してください。

SFTP サポートを有効にしてから無効にする方法のガイダンスについては、「SSH ファイル転送プロトコル (SFTP) を使用して Azure Blob Storage に接続する」を参照してください。

よく寄せられる質問 (FAQ)

「コストの管理に関する FAQ」を参照してください

次のステップ