Azure Blob Storage のコストを計画および管理する
この記事は、Azure Blob Storage のコストを計画および管理するのに役立ちます。
最初に、各課金メーターと、各メーターの価格を調べる方法をよく理解します。 その後、Azure 料金計算ツールを使ってコストを見積もることができます。 コスト管理機能を使用して、予算を設定し、コストを監視します。 また、予測コストを確認し、支出の傾向を監視して、対処した方がよい領域を識別することもできます。
Blob Storage のコストは、Azure の請求にある月額料金の一部でしかないことにご注意ください。 この記事では、Blob Storage のコストを見積もり、管理する方法について説明しますが、サード パーティのサービスを含め、Azure サブスクリプションで使用されるすべての Azure サービスとリソースに対して課金されます。 Blob Storage のコスト管理に慣れたら、同様の方法を適用して、サブスクリプションで使用されているすべての Azure サービスのコストを管理できます。
Azure Blob Storage の詳細な課金モデルを理解する
Azure Blob Storage は、新しいリソースをデプロイする際にコストが発生する Azure インフラストラクチャ上で実行されます。 その他のインフラストラクチャ コストが追加で発生する可能性があることを理解しておくことが重要です。
Azure Blob Storage の料金のしくみ
Blob Storage リソースを作成または使用すると、次のメーターについて課金されます。
測定 | 単位 |
---|---|
データ ストレージ | GB/月 |
インデックス | GB あたり/1 か月あたり1 |
操作 | トランザクションあたり |
データ転送 | GB あたり2 |
データの取得 | GB あたり3 |
BLOB インデックス タグ | タグあたり4 |
Change Feed | ログされる変更あたり4 |
SSH ファイル転送プロトコル (SFTP) | 1 時間あたり4 |
BLOB インベントリ | スキャンされた 100 万オブジェクトあたり4 |
暗号化スコープ | 1 か月あたり4 |
クエリの高速化 | スキャン 1 GB あたり & 返された結果 1 GB あたり |
ポイントインタイム リストア処理済みデータ | 復元された MB あたり |
1 階層型名前空間があるアカウントにのみ適用されます。
2 データを別のリージョンにコピーする場合にのみ適用されます。
3 クール、コールド、アーカイブのアクセス層にのみ適用されます。
4 この機能を有効にした場合のみ適用されます。
請求期間終了時に、各測定の料金が合計されます。 請求書には、Azure Blob Storage に関して発生したすべてのコストがひとつのセクションに表示されます。 測定ごとに個別の行項目があります。
データ ストレージとインデックスのメーター
データ ストレージとメタデータは、1 か月ごとに GB 単位で課金されます。 ほとんどのメタデータは、BLOB の一部として格納され、プロパティおよびキーと値のペアを含みます。 アーカイブ アクセス層で BLOB に関連付けられているメタデータは、コールド アクセス層では個別に格納されます。 これにより、ユーザーは BLOB とそのプロパティ、メタデータ、インデックス タグの一覧を取得できます。 メタデータのサイズは 8 KB を超えないので、そのコストはストレージ容量全体の割合としてはそれほど大きくありません。
BLOB のインデックス タグは、サブ リソースとしてホット アクセス層に格納され、独自の課金メーターがあります。 インデックス メーターは、階層型ファイル構造内のオブジェクトに関連付けられているアクセス制御リスト (ACL) など、その構造を容易にするために必要な領域について課金するための手段として、階層型名前空間を使用するアカウントにのみ適用されます。 インデックスに関連付けられているデータは、常にホット アクセス層に格納されます。
格納期間が 1 か月未満のデータとメタデータについては、1 日あたりの GB 数のコストを計算することによって、月ごとの請求額に対する影響を試算することができます。 日数は月ごとに異なります。 そのため、月額のコストを月ごとの日数で割るようにすると、その月のコストを最大限正確に見積もることができます。
Azure Blob Storage では、ストレージ容量を表すために次の基数 2 の測定単位が使用されます: KiB、MiB、GiB、TiB。 請求の明細には測定単位として GB が含まれますが、それらの単位は Azure Blob Storage によってバイナリ GB (GiB) として計算されます。 たとえば、[格納データ (GB/月)] の 1 を示す請求書の品目は、1 か月あたり 1 GiB の使用量に対応します。 次の表では、各基数 2 の単位について説明します。
頭字語 | 単位 | 定義 |
---|---|---|
KiB | キビバイト | 1,024 バイト |
MiB | メビバイト | 1,024 KiB (1,048,576 バイト) |
GiB | ギビバイト | 1,024 MiB (1,073,741,824 バイト) |
TiB | テビバイト | 1,024 GiB (1,099,511,627,776 バイト) |
ストレージのコスト計算方法について詳しくは、「データを格納するためのコスト」をご覧ください。
操作メーター
クライアントによって行われた各要求は、REST 操作の形式でサービスに届きます。 リソース ログを監視し、データに対して実行されている操作を確認できます。
価格ページには、個々の操作の価格は表示されず、代わりに操作の "種類" の価格が一覧表示されます。 操作の価格を確認するには、最初にその操作が分類されている種類を確認する必要があります。 "ログされた操作" を "REST 操作" にトレースしてから、操作の "種類" にトレースするには、「各 REST 操作を価格にマップする」をご覧ください。
操作の種類の横に表示される価格は、各操作に対して支払う価格ではありません。 ほとんどの場合、それは 10,000
操作の価格です。 個々の操作の価格を得るには、その価格を 10,000
で除算します。 たとえば、書き込み操作の価格が $0.055
である場合、個々の操作の価格は $.0555
/ 10,000
= $0.0000055
です。 ファイルをアップロードするためのコストは、アップロードの完了に必要な書き込み操作の数に、個々のトランザクションのコストを掛けると、見積もることができます。 詳しくは、「Azure Blob Storage を使用するコストを見積もる」をご覧ください。
データ転送メーター
Azure リージョンから出て行くすべてのデータに対し、データ転送とネットワーク帯域幅の料金が発生します。 これらの料金は、一般に、アカウントが geo 冗長ストレージ用に構成されているシナリオや、別のリージョンのアカウントにデータをコピーするようにオブジェクト レプリケーション ポリシーが構成されているシナリオで発生します。 ただし、これらの料金は、オンプレミスのクライアントにダウンロードされるデータにも適用されます。 ネットワーク帯域幅の価格は、Azure Storage の価格ページには表示されません。 ネットワーク帯域幅の価格を確認するには、「帯域幅の価格」をご覧ください。
機能関連のメーター
Blob Storage の機能を有効にするためのコストはありません。 有効にした後でパッシブな料金が発生する機能は 3 つだけです (SFTP のサポート、暗号化スコープ、BLOB インデックス タグ)。 それ以外のすべての機能については、機能の出力が占めるストレージ領域と、機能を使った結果として実行された操作に対して課金されます。 たとえば、バージョン管理を有効にした場合、請求書にはバージョンを格納するためのコストと、バージョンを一覧表示または取得する操作を実行するためのコストが反映されます。 一部の機能では、メーターが追加されています。 完全な一覧については、この記事の「Azure Blob Storage の料金のしくみ」セクションをご覧ください。
それらの機能の使用期間が 1 か月未満の場合は、時間ベースのメーターを日割り計算できます。 たとえば、暗号化スコープは月単位で課金されます。 使用期間が 1 か月未満の暗号化スコープについては、1 日あたりのコストを計算して、毎月の請求に対する影響を試算できます。 日数は月ごとに異なります。 そのため、月額のコストを月ごとの日数で割るようにすると、その月のコストを最大限正確に見積もることができます。
各メーターの単価を確認する
単価を見つけるには、正しい価格ページを開き、適切なファイル構造を選びます。 次に、冗長性、リージョン、通貨に適切なフィルターを設定してください。 各測定の価格が、表形式で表示されます。 価格は、アカウントの他の設定 (データの冗長性オプション、アクセス層、パフォーマンス レベルなど) に応じて異なります。
正しい価格ページとファイル構造は、主にデータの読み取りと書き込みのコストにとって重要です。データを保存するコストは、それらの選択によって実質的に変更されないためです。 データの読み取りと書き込みのコストを正確に見積もるには、まず、データの読み取りと書き込みに使用する ストレージ アカウント エンドポイント クライアント、アプリケーション、およびワークロードを決定します。
BLOB サービス エンドポイントへの要求
BLOB サービス エンドポイントの形式は https://<storage-account>.blob.core.windows.net
であり、Blob Storage と対話するツールおよびアプリケーションによって使用される最も一般的なエンドポイントです。
要求は、次のいずれかのソースから生成できます。
Azure Storage クライアント ライブラリの Blob Storage REST API または Blob Storage API を使用するクライアント
ネットワーク ファイル システム (NFS) 3.0 にマウントされたコンテナーへの転送
SSH ファイル転送プロトコル (SFTP) を使用して行われた転送
WASB ドライバーを使用する Hadoop ワークロード
これらの要求の正しい価格ページは、ブロック BLOB の価格ページです。
このエンドポイントへの要求は、階層型名前空間があるアカウントでも発生する場合があります。 実際、NFS 3.0 および SFTP プロトコルを使用するには、まずアカウントの階層型名前空間機能を有効にする必要があります。
アカウントで階層型名前空間機能が有効になっている場合は、[File Structure] (ファイル構造) ドロップダウン リストが [Hierarchical Namespace (NFS v3.0, SFTP Protocol)] (階層型名前空間 (NFS v3.0、SFTP プロトコル)) に設定されていることを確認してください。 それ以外の場合は、[フラット型名前空間] に設定されていることを確認します。
Data Lake Storage エンドポイントへの要求
Data Lake Storage エンドポイントの形式は https://<storage-account>.dfs.core.windows.net
であり、分析ワークロードおよびアプリケーションで使用される最も一般的なエンドポイントです。 このエンドポイントは、通常、階層型名前空間があるアカウントで使用されますが、そうでない場合もあります。
要求は、次のいずれかのソースから生成できます。
Azure Blob File System (ABFS) ドライバーを使用する Hadoop ワークロード
Azure Storage クライアント ライブラリの Data Lake Storage REST API または Data Lake Storage API を使うクライアント
これらの要求の正しい価格ページは、「Azure Data Lake Storage の価格」ページです。
アカウントで階層型名前空間機能が有効になっていなくても、クライアント、ワークロード、またはアプリケーションがアカウントの Data Lake Storage エンドポイントを介して要求を行うことが予想される場合は、[ファイル構造] ドロップダウン リストを [フラット型名前空間] に設定します。 それ以外の場合は、[階層型名前空間] に設定されていることを確認します。
コストの見積もり
Azure Storage アカウントを作成し、データの転送を開始する前にコストを見積もるには、Azure 料金計算ツール を使用します。
[Azure 料金計算ツール] ページで、 [ストレージ アカウント] タイルを選択します。
ページを下方向にスクロールして、見積りの [ストレージ アカウント] セクションを見つけます。
ドロップダウン リストからオプションを選択します。
これらのドロップダウン リストの値を変更すると、コストの見積り額が変化します。 その見積り額は、上部の隅と見積りの下部に表示されます。
[種類] ドロップダウン リストの値を変更すると、このワークシートに表示されている他のオプションも変更されます。 [詳細] セクションのリンクを使用して、各オプションの意味とこれらのオプションがストレージ関連の操作の価格にどのように影響するかを確認します。
残りのオプションを変更して、それらが見積もりに与える影響を確認します。
ヒント
コストの予想と予測については、次の詳細なガイドを参照してください。
Azure Blob Storage で Azure 前払いを使用する
Azure Blob Storage の料金は、Azure 前払い (旧称: 年額コミットメント) のクレジットを使用して支払うことができます。 ただし、Azure 前払いのクレジットを使用して、サードパーティの製品やサービス (Azure Marketplace からのものを含む) の料金を支払うことはできません。
コストを最適化する
既に Blob Storage を使用してしばらく経っている場合は、コンテナーの内容を定期的に確認して、コストを削減する機会を特定する必要があります。 BLOB が運用環境でどのように格納され、整理され、使用されるかを理解することで、それらの BLOB の可用性、パフォーマンスとコストのトレードオフをより適切に最適化できます。 既存のコンテナーと BLOB を明細化して分析するには、次のいずれかの記事を参照してください。
- チュートリアル: BLOB インベントリ レポートを分析する
- チュートリアル: Databricks を使用してコンテナーの統計情報を計算する
- Azure Storage インベントリを使用してコンテナーあたりの BLOB の数と合計サイズを計算する
将来必要な容量をモデル化できる場合は、Azure Storage の予約容量を使ってコストを節約できます。 Azure Storage の予約容量はほとんどのアクセス層で利用でき、1 年間または 3 年間の予約をコミットすると、Standard ストレージ アカウントのブロック BLOB と Azure Data Lake Storage のデータの容量が値引きされます。 予約を行うと、予約期間に一定量のストレージ容量が提供されます。 Azure Storage の予約容量を利用すると、ブロック BLOB と Azure Data Lake Storage のデータの容量コストを大幅に削減できます。 詳細については、「予約容量を使用して 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 のコストをコスト分析で表示するには、次の操作を行います。
Azure portal にサインインします。
[コストの管理と請求] ウィンドウを開き、メニューから [Cost management] (コスト管理) を選択してから、 [コスト分析] を選択します。 その後、特定のサブスクリプションのスコープを [スコープ] ドロップダウンから変更できます。
Azure Storage のコストのみを表示するには、 [フィルターの追加] 、 [サービス名] の順に選択します。 次に、リストから [ストレージ] を選択します。
Azure Storage のみのコストを表示する例を次に示します。
前の例では、サービスの現在のコストが表示されます。 また、Azure リージョン (場所) 別およびリソース グループ別のコストも表示されます。 他のフィルターを追加することもできます (例: 特定のストレージ アカウントのコストを表示するフィルター)。
コスト データのエクスポート
また、ストレージ アカウントにコスト データをエクスポートすることもできます。 これは、自分や他のユーザーがコストに関する追加のデータ分析を行う必要がある場合に便利です。 たとえば、財務チームは、Excel や Power BI を使用してデータを分析できます。 日単位、週単位、または月単位のスケジュールでコストをエクスポートし、カスタムの日付範囲を設定することができます。 コスト データのエクスポートは、推奨されるコスト データセット取得方法です。
驚くような請求にならないようにする
アカウントの既定のアクセス層の変更などの一部のアクションでは、予想していなかったコストが発生する可能性があります。 各機能に関する記事には、予期しないコストを回避する方法について説明していますが、この表では一般的な原因を示します。
カテゴリ | 操作 | 請求書への潜在的な影響 |
---|---|---|
アクセス層 | 既定のアクセス層の設定を変更する | アカウントにアクセス層と思われる BLOB が多数含まれている場合、この設定を変更すると、多額のコストが発生する可能性があります。 ストレージ アカウントの既定のアクセス層の設定を変更すると、アクセス層を明示的に設定していない、アカウント内のすべての BLOB に適用されます。 汎用 v2 アカウントで既定のアクセス層の設定をホットからクールに切り替えると、アクセス層と思われるすべての BLOB に対する書き込み操作 (10,000 件ごと) に料金が発生します。 汎用 v2 アカウントでクールからホットに切り替えると、読み取り操作 (10,000 件単位) とデータ取得 (1 GB 単位) の両方の料金が発生します。 詳細については、「既定のアカウント アクセス層の設定」を参照してください。 |
アクセス層 | アーカイブからのリハイドレート | アーカイブからの優先度の高いリハイドレートは、通常の請求よりも高くなる可能性があります。 Microsoft では、緊急データ復元の状況で使用するために、高優先度のリハイドレートの予約を推奨します。 詳細については、「リハイドレートの優先度」を参照してください。 |
アクセス層 | BLOB の削除、上書き、または別の層への移動 | BLOB のコピー操作を使って BLOB を更新するツールまたはアプリケーションは、BLOB を上書きします。 BLOB は、層で要求されている最小日数が経過する前に削除、上書き、または異なる層に移動された場合、早期削除のペナルティの対象になります。 |
データ保護 | BLOB の論理的な削除を有効にする | BLOB を上書きすると、BLOB スナップショットが発生する可能性があります。 BLOB が削除される場合とは異なり、これらのスナップショットの作成はログに記録されません。 これは、予期しないストレージ コストにつながる可能性があります。 頻繁に上書きされるデータを、論理的な削除が有効になっていないアカウントに配置するかどうかを検討します。 詳細については、「論理的な削除が有効になっている場合の上書きの処理方法」を参照してください。 |
データ保護 | BLOB のバージョン管理を有効にする | BLOB のすべての書き込み操作で、新しいバージョンが作成されます。 BLOB の論理的な削除を有効にする場合と同様に、頻繁に上書きされるデータを、バージョン管理が有効になっていないアカウントに配置する必要があるかどうかを検討してください。 詳細については、「書き込み操作でのバージョン管理」を参照してください。 |
監視 | Storage Analytics ログ (クラシック ログ) を有効にする | アイテム保持ポリシーが設定されていない場合、時間が経つと Storage Analytics のログがアカウントにたまる可能性があります。 ログが蓄積され、予期しない容量の料金が発生しないように、アイテム保持ポリシーを必ず設定してください。 詳細については、「ログ データの保持期間を変更する」を参照してください。 |
プロトコル | SSH ファイル転送プロトコル (SFTP) サポートの有効化 | SFTP エンドポイントを有効にすると、時間単位のコストがかかります。 パッシブな料金を避けるには、SFTP を活発に使ってデータを転送するときにのみ、それを有効にすることを検討します。 SFTP サポートを有効にしてから無効にする方法のガイダンスについては、「SSH ファイル転送プロトコル (SFTP) を使用して Azure Blob Storage に接続する」を参照してください。 |
よく寄せられる質問 (FAQ)
次のステップ
- Azure Storage での価格のしくみについて詳しく説明します。 「Azure Storage の価格の概要」を参照してください。
- BLOB とコンテナーが運用環境でどのように格納され、整理され、使用されるかを理解することで、コストとパフォーマンスのトレードオフをより適切に最適化できます。 「チュートリアル: BLOB インベントリ レポートを分析する」を参照してください。
- 予約容量を使用して Blob Storage のコストを最適化する。
- Microsoft Cost Management を使用してクラウドへの投資を最適化する方法について説明します。
- コスト分析を使用してコストを管理する方法について詳細に説明します。
- 予期しないコストを回避する方法について説明します。
- Cost Management のガイド付き学習コースを受講します。