top of page

Cloudflare、Billing APIでHacker Newsに登場も、コスト可視化はなお不完全

8月13日
読了時間: 19分

CloudflareはBillable Usage APIを導入し、Hacker Newsでも取り上げられた。しかし、最も重要なコスト項目は制限付きアルファ版の間、引き続き利用できない。このエンドポイントでは、開発者が標準APIを通じて日次の使用量レコードを取得できる。ただしCloudflareのドキュメントによれば、料金とコストの値は請求システムとの連携が完了するまで提供されない。

この隔たりこそが本件の要点だ。Cloudflareは単に新たな請求画面を追加しているのではない。一般にFinOpsと呼ばれる自動化された財務運用に向け、アカウントの利用状況を機械可読形式へ移行している。現行リリースはその将来に向けた構造を提供するが、名称が示す完全なコスト可視化までは実現していない。

これによりCloudflareは、請求データをプログラムから公開するAWS、Google Cloud、Microsoft Azure、Vercelなどのプロバイダーと並ぶ位置に立つ。こうしたプラットフォームでは、コストAPIやエクスポート機能がクラウドインフラ運用の一部となっている。Cloudflareの顧客も同じ方向性を確認できるようになったが、新しいエンドポイントは成熟した代替手段よりもなお限定的だ。

Cloudflareが実際にリリースしたもの

Billable Usage APIは、日次の従量制アクティビティを構造化レコードへ変換する。ただし初回リリースは、完成したコストシステムではなく未完成の基盤である。

Cloudflareの新しいエンドポイントは、GET /accounts/{account_id}/billable/usageで利用できる。同社のBillable Usage API発表によると、狙いは顧客がCloudflareダッシュボードを手動で確認せずに請求情報を取得できるようにすることだ。

リクエストにはCloudflareアカウント識別子と、必要な請求権限を持つAPIトークンが必要となる。レスポンスには、そのアカウントにおける課金対象メトリクスを含むレコードの配列が返される。各レコードは、1つのメトリクスの1日分を表す。

この日次粒度は重要だ。財務プラットフォーム、社内ダッシュボード、定期実行ジョブは、低レベルのテレメトリーから日次合計を再構築せずとも、日付をまたいで使用量を比較できる。チームは最大10個のメトリクス識別子でリクエストをフィルタリングすることもできる。

Cloudflareはfromおよびtoの日付パラメーターをサポートしている。どちらも指定しない場合、APIは当月の開始日から現在日までをデフォルトとする。クエリ期間の上限は31日であり、リクエストを限定する一方、より長期の履歴分析を複雑にする。

レコードには、使用量が含まれる利用枠内に収まっている場合も含め、すべての従量制消費が含まれる。したがって、メトリクスは請求を発生させずに消費量を報告する場合がある。この違いにより、チームは利用枠を使い切る前に成長を追跡できる。

スキーマには、消費量、消費単位、請求対象期間、請求期間、サービスプロバイダー、製品ファミリー、メトリクス識別子のフィールドが含まれる。Cloudflare固有の拡張機能では、その情報が存在する場合にゾーン、サブスクリプション、製品ファミリーも識別できる。

たとえばWorkersのレコードは、特定の日に消費されたリクエストを記述できる。他のレコードでは、ストレージ、データ転送、コンピューティング時間などの単位が使われる場合がある。正確なディメンションは、基盤となるCloudflare製品によって異なる。

Cloudflareによると、このレスポンスはFOCUSとして知られるFinOps Open Cost and Usage Specificationのバージョン1.3に準拠している。FOCUSは、クラウド請求フィールドの共通名称と意味を定義する。この整合により、組織が複数のプロバイダーを組み合わせる際に必要な変換作業を削減できる。

とはいえ、APIドキュメントには重要な3つのラベルがある。alpha、restricted、incompleteだ。アクセスは普遍的な提供として示されていない。Cloudflareがエンドポイントを開発する間、統合担当者はレスポンスや動作が変更されることも想定する必要がある。

最も重要なのは、エンドポイントのドキュメントが、コストおよび価格フィールドは入力されないと明記している点だ。請求コスト、有効コスト、リストコスト、契約コストといったフィールドはスキーマに存在する場合がある。しかし、Cloudflareがエンドポイントと請求システムの接続を完了するまで、これらは利用できないままとなる。

つまり初期バージョンは、「アカウントはどれだけ消費したか」には「その消費にいくらかかったか」よりも確実に答えられる。開発者は現在でも使用量レコードを収集できる。しかし、このエンドポイントを請求書やコストダッシュボードの完全なプログラム対応代替手段として扱うことはまだできない。

この条件がAPIの意義を失わせるわけではない。何が変わったのかを明確にするものだ。Cloudflareは、自動化された請求ワークフローに必要なデータ契約と取得経路を公開した。財務面で決定的な値は、依然として未完成の統合の先にある。

Hacker Newsでの注目が重要な理由

Hacker Newsでの反応は、より広範な開発者の要求を反映している。クラウドコストは、請求書が届く前に運用データにならなければならない。

Cloudflare製品は、単にWebサイトの前段に置かれるだけでなく、アプリケーションアーキテクチャの内部に組み込まれるケースが増えている。1つのワークロードにWorkers、R2、D1、Queues、Durable Objects、AIサービス、トラフィックアクセラレーション、セキュリティ機能が含まれることもある。製品ごとに異なる単位で計測される可能性がある。

この組み合わせは可視化の問題を生む。エンジニアは製品分析を確認できる一方、財務チームは請求書や請求ダッシュボードを確認する。どちらのビューも、日々の意思決定に使える共有可能かつクエリ可能なデータソースへ自動的に変わるわけではない。

Cloudflare自身の請求ドキュメントによれば、一般的な請求書には数十の明細項目が含まれる場合がある。1つの製品でも、ストレージ、読み取り、書き込み、取得、地域別アクティビティに関する複数のディメンションが生じ得る。含まれる利用枠は、消費量と請求対象使用量の間にさらなる区別を加える。

ダッシュボードは、人がこの複雑さを調査するには役立つ。しかし、毎時実行し、アカウントを比較し、社内の事業コンテキストを含むアラートを作成しなければならない自動化プロセスには十分ではない。請求データをこうしたワークフローに参加させるのは、プログラムからのアクセスだ。

したがって、Hacker Newsに届いた議論は、控えめな投票数やコメント数が示す以上に重要だ。開発者はクラウドプラットフォームに対し、予算管理、予測可能な計測、使いやすい請求テレメトリーを繰り返し求めてきた。アプリケーションが自動的にスケールする場合、こうした要求はさらに切実になる。

WorkersとR2上で顧客向けサービスを運用するチームを考えてみよう。トラフィックの増加は、リクエスト、操作、保存データを同時に増やし得る。チームは、その変化が健全な顧客活動、悪用的なトラフィック、あるいは効率の悪いリリースのどれを反映しているかを把握する必要がある。

日次APIレコードは、データウェアハウスやオブザーバビリティシステムに投入できる。エンジニアはデプロイと次の使用期間を関連付けられる。財務チームは変更を製品またはサブスクリプションに割り当てられる。プロダクトマネージャーは、インフラ消費量と顧客行動を比較できる。

APIは異常検知も支援できる。定期プロセスは各メトリクスの通常の日次範囲を学習できる。正確な通貨計算を行わなくても、請求期間が終了する前に急な逸脱をフラグできる。

この最後の条件は重要だ。使用量の異常は有用なシグナルだが、コストの異常と同義ではない。単位ごとに、異なる利用枠、料金ブロック、割引、コミットメント、契約料金が存在する可能性がある。

Cloudflareはすでに、対象となる従量課金アカウント向けに請求対象使用量ダッシュボードを提供している。使用量ダッシュボードには、日次の使用量料金、製品別内訳、請求期間合計が表示される。また、月次請求書を生成するシステムからデータを取得している。

APIが変えるのは、基盤となる情報だけではなくインターフェースでもある。ダッシュボードは、請求ページを開く人のために設計されている。APIは、レコードを継続的に取得、保存、比較し、行動するソフトウェアのために設計されている。

この変化は、Cloudflareに対し、他の運用APIと同様に請求データを信頼できるものにする圧力をかける。顧客は安定したスキーマ、文書化されたレイテンシー、履歴の継続性、明確な権限、請求書との照合を期待するようになる。ベータ版の請求機能は、もはや使い捨てのダッシュボードウィジェットのようには振る舞えない。

また、顧客組織内の責任分担も変わる。請求データをコード経由で利用できるようになれば、チームはそれをデプロイレビューやインシデント対応に統合できる。コスト可視化は、月次の財務タスクではなく、エンジニアリング運用の一部となる。

だからといって、すべての顧客がカスタムFinOpsプラットフォームを構築すべきという意味ではない。小規模チームにとっては、ダッシュボードと予算アラートの方が依然として大きな価値をもたらす場合がある。APIが最も重要なのは、すでにテレメトリーを一元化しているか、複数アカウントを運用している組織だ。

こうした組織にとって、エンドポイントは欠けていた橋渡しを提供する。Cloudflareの消費量を、社内の所有権データ、デプロイ記録、サービスカタログと接続できる。発表は、すべてのフィールドを提供する前から、Cloudflareがその要件を認識していることを示している。

真の仕組みは共有請求スキーマにある

Cloudflareにとって最も重要な選択はFOCUSへの準拠だ。共通スキーマにより、そのレコードを他のクラウドプロバイダーと並べて利用できるようになるためである。

クラウド請求フォーマットはこれまで、各プロバイダーの製品や会計システムを中心に発展してきた。フィールド名、調整ルール、リソース識別子、期間はしばしば異なる。複数のプロバイダーを組み合わせるチームは、比較する前にそれらの違いを正規化しなければならない。

FOCUSは、共通のデータ仕様によってこの問題に対応する。請求コスト、有効コスト、消費量、価格算定数量、請求対象期間、サービスカテゴリ、請求通貨といった概念を定義する。プロバイダーは共有コアを捨てることなく、拡張フィールドを追加できる。

Cloudflareはこのパターンに従っている。レスポンスには標準のFOCUS概念に加え、x_で始まるカスタムフィールドが含まれる。これらの拡張は、製品ファミリー、請求対象メトリクス識別子、ゾーンを含むCloudflare固有の詳細を表す。

このバランスは理にかなっている。ユニバーサルスキーマでは、すべてのプロバイダーの製品モデルを予測することはできない。拡張機能は有用な詳細を保持し、標準フィールドはFinOpsソフトウェアに予測可能な基盤を与える。

マルチクラウドチームにとって、これはプロバイダー固有の変換数を減らせる可能性がある。同じパイプラインで、複数データセットにまたがる請求対象期間、消費量、製品グループを識別できる。Cloudflareのレコードにも検証は必要だが、完全に独自の語彙から始める必要はない。

FOCUSへの準拠は、サードパーティーツールにもより明確な統合対象を与える。コストプラットフォームは、エンドポイントを見る前から恒久的なCloudflareマッピングを考案する必要はない。共通フィールドを取り込み、帰属分析の改善に役立つ場合には拡張機能のサポートを追加できる。

Cloudflareだけがこの道を選んでいるわけではない。Google CloudはBigQueryを通じてFOCUS請求エクスポートを提供している。FOCUSエクスポートは、正規化された使用量およびコスト情報を含む不変のデータセットを作成する。

Vercelは、同じFOCUSバージョンを使用する請求料金エンドポイントを導入した。そのAPIは日次レコードを返し、FinOpsシステムへの取り込みを簡素化することを目指している。両社とも開発者中心のアプリケーションワークロードを提供するため、特に関連性の高い比較となる。

AWSは成熟したプログラム対応のコストおよび使用量クエリを提供しているが、そのCost Explorerインターフェースは独自のリクエストおよびレスポンスモデルを使用する。Cost Explorer APIは、期間、メトリクス、フィルター、グループ化ディメンションをサポートしている。

Microsoftは、複数の組織スコープでコスト管理クエリも提供している。主要プロバイダーごとに提供方法、履歴、鮮度、粒度は異なる。それでも、プログラムから請求情報にアクセスできることは、今やクラウドにおける標準的な期待となっている。

CloudflareのAPIは現在、その期待に対して決定的な一点で後れを取っている。スキーマにはコストの概念が定義されているものの、実際のレスポンスではまだ値が埋められていない。標準化された空のフィールドは、利用可能な標準化コストデータと同じではない。

これが中心となる仕組みであり、同時に大きな逆転でもある。Cloudflareは、本格的なFinOpsワークフローを支えられるスキーマを選択した。alpha版では当初、そのスキーマのうち使用量側を公開し、金額側は後回しにしている。

コスト統合が実現する前でも、この設計は価値を生み得る。組織は認証、取り込み、保存、メトリクスマッピングの構築を始められる。製品ファミリーやゾーンが社内サービスとどう対応するかも検証できる。

チームはalphaレスポンスを、自前のアダプターの背後に隔離すべきだ。Cloudflareのフィールドに関する前提を、ダッシュボードや自動化全体に広げるべきではない。小規模な正規化レイヤーがあれば、スキーマ変更を吸収し、不足している任意フィールドにも対処できる。

このパターンは、あらゆる外部APIに対する優れたエンジニアリング実践を反映している。追加フィールドや名称変更された拡張によって厳格なシリアライザーが壊れ得る制限付きalphaでは、とりわけ重要になる。利用側は未知のフィールドを許容し、必須フィールドを明示的に検証すべきだ。

履歴保存にも注意が必要だ。APIは1回のクエリを31日間に制限している。四半期ごとの傾向を求めるチームは、リクエストを繰り返すか、自らのデータウェアハウスに記録を保持しなければならない。

日次コレクターを使えば、サービスの成熟を待つ間にも永続的な履歴を作成できる。正規化済みレコードとともに生レスポンスも保存すべきだ。Cloudflareがフィールドの意味を変更したり、コストデータを後から補完したりした場合に、後続の修正を可能にするためである。

その結果生まれるワークフローは、ダッシュボードのデモほど華やかではない。しかし、より有用だ。安定した日次取り込み、明確な所有者マッピング、請求書との照合こそが、プログラムからのコスト可視化が意思決定を変えるかを左右する。

すでにローカルの技術記録を保持している組織は、コストイベントをデプロイの文脈やインシデントノートと結び付けられる。検索可能なエンジニアリングナレッジベースは、使用量の急増がいつ起きたかだけでなく、なぜ起きたかも記録できる。

その文脈により、請求分析が説明のないグラフの山になることを防げる。成功したリリース後のコスト増加と、暴走したプロセスによる増加では、必要な対応が異なる。APIは証拠を提供し、社内記録は意図を提供する。

APIが依然として解決しないこと

Cloudflareのエンドポイントは計測を改善するが、完全なコスト台帳、支出上限、または暴走した使用量に対する確実な保護をまだ提供するものではない。

欠落しているコストフィールドが、最も明確な制約だ。Cloudflareのスキーマには、FOCUSが想定する複数の金額概念が含まれている。ドキュメントでは、請求統合が完了するまでそれらのフィールドは未提供のままであると明示的に警告している。

この注意書きは、ほぼすべての高度なユースケースに影響する。チームは、生の消費量に公開料金を掛けるだけで請求額への影響を正確に計算することはできない。含まれる利用枠、個別契約条件、価格変換、割引、修正、サブスクリプションによって、結果は変わり得る。

Cloudflareが消費量と価格適用量を区別しているのはこのためだ。消費量は、生の計測アクティビティを表す。価格適用量は、価格ルールの対象となる量を反映する。この2つの値は、常に交換可能とは限らない。

APIには、請求が発生しないレコードを含む無料枠の使用量も含まれる。これは予測には有用だ。しかし、すべての消費を支出としてラベル付けする統合を誤らせる可能性がある。

開発者は、推定コストを請求済みコストとして表示すべきではない。社内ツールが推定値を作成する場合は、その計算であることを明確に示し、プロバイダー報告値とは分けて扱うべきだ。照合は、権威ある請求データを待たなければならない。

制限付きalphaは、第二の問題ももたらす。すなわち可用性だ。Cloudflareは、このエンドポイントをすべての顧客向けの普遍的で安定したインターフェースとして位置付けていない。統合担当者は、本番依存関係を設計する前に、アカウントの利用資格と必要な権限を確認する必要がある。

第三の問題はアカウントカバレッジだ。文書化されたエンドポイントは、1つのCloudflareアカウントのレコードを返す。多数のアカウントを持つ組織は、それらを列挙し、各データセットを取得し、その境界をまたぐ認可を管理しなければならない。

CloudflareのAPIリファレンスには、組織レベルの使用量エンドポイントも掲載されている。ただし、同じくalphaかつ制限付きという位置付けだ。チームは、それが統合の問題を解決すると想定する前に、実際の可用性とレスポンスの意味を検証すべきだ。

31日間という範囲は、もう一つの運用要件を生む。APIは日次または月次の監視には使えるが、長期アーカイブではない。信頼できる履歴比較を望む顧客には、継続的な収集が必要となる。

データ鮮度も同じく重要だ。日次レコードは使用後に到着することがあり、修正によって後の請求結果が変わる可能性もある。自動化では取得時刻を記録し、過去の日付を再取得できるようにすべきだ。

この新しいAPIは、厳格な支出上限でもない。使用量を読み取っても、Workerを停止したり、R2操作を拒否したり、AIワークロードを無効化したりはしない。自動応答には、別途制御ロジックとサポートされる製品アクションが必要になる。

この違いは、予算管理についての会話ではしばしば見落とされる。監視は、消費がしきい値を超えたことをチームに知らせる。強制は、それ以上の消費を防ぐ。Billable Usage APIが主に進めるのは監視である。

顧客は、使用量をポーリングしてアプリケーションの動作を変えるサーキットブレーカーを構築できるかもしれない。しかし、その設計には遅延、API障害モード、重要サービスを無効化するリスクが伴う。また、使用量レコードが十分に速く届くことにも依存する。

Cloudflareの既存の予算アラートは、別の通知経路を提供する。アラートは、利用量ベースの支出が設定したしきい値を超えた際に、対象となる顧客へ警告できる。ただし、それ以上の消費が停止することを必ずしも保証するものではない。

ダッシュボードにもスコープ上の制約がある。Cloudflareによれば、対象は固定サブスクリプション料金ではなく、使用量ベースの超過料金だ。また、エンタープライズ契約アカウントではなく、従量課金アカウント向けに文書化されている。

こうした制約は、「コスト可視化」には正確な表現が必要である理由を示している。Cloudflareとのアカウント全体にわたる金銭関係には、固定プラン、サブスクリプション、使用料金、クレジット、税金、契約条件が含まれ得る。1つの使用量エンドポイントですべてのカテゴリを捉えることはできない。

配賦も、未解決のレイヤーだ。ゾーン識別子は消費をドメインに結び付ける助けになるが、すべての製品が1つのゾーンに明確に対応するわけではない。共有アカウントやサービスでは、依然として社内タグや所有権ルールが必要になる場合がある。

したがってCloudflareは、エンドポイントがJSONを返すかどうかだけで評価されるべきではない。顧客が必要とするのは、値が埋められたコスト、予測可能なアクセス、文書化された鮮度、安定した識別子、最終請求書との一致だ。

Hacker Newsでの語られ方は、この発表がクラウドコスト不安への完成した答えであるかのように聞こえるかもしれない。ドキュメントが示すのは、より限定的な話だ。Cloudflareは重要なデータ面を開放したが、最も価値の高い財務フィールドは依然として今後の作業として予定されている。

これはリリースを軽視する理由ではない。慎重に統合する理由である。alphaユーザーは形状を検証し、不足している配賦情報を報告し、使用量レコードを確定した財務上の真実として扱わずに検証できる。

Hacker Newsローンチ後に注目すべき3つのシグナル

Cloudflareが請求統合を完了し、信頼できるアクセスを広げ、顧客が出力を照合できることを証明して初めて、このAPIは意味のあるFinOps製品となる。

第一のシグナルは、値が埋められたコストデータだ。Cloudflareのドキュメントではすでに、請求済みコスト、実効コスト、契約コスト、リストコストのフィールドが定義されている。それらが到来すれば、エンドポイントは使用量監視から実際の財務分析へと進む。

詳細はリリースそのものと同じくらい重要になる。Cloudflareは、利用枠、割引、修正、価格期間がどのように表示されるかを説明しなければならない。顧客は、APIレコードを請求書上の対応する使用料金まで追跡できるべきだ。

それらの値が請求ダッシュボードおよび確定請求書と一致すれば、中核となる約束はより強固になる。Cloudflareが推定値や遅延した部分的な値しか公開しない場合、チームには依然として並行した照合システムが必要になる。

第二のシグナルは、安定した運用保証を伴う可用性の拡大だ。制限付きalphaは急速に変更される可能性があり、重要なアカウント種別を除外することもある。本番利用者には、明確な利用資格、権限、バージョニング、鮮度に関する期待、サポート範囲が必要だ。

Cloudflareが、このエンドポイントを従量課金アカウントと契約アカウントの両方で利用可能にするかを注視したい。特に複数チームが製品や個別契約条件を共有する場合、エンタープライズ顧客はプログラム可能な配賦を最も強く必要とすることが多い。

組織エンドポイントにも注目すべきだ。信頼できる組織全体のレスポンスがあれば、アカウントごとのオーケストレーションを減らせる。顧客自身でアカウント在庫の結合を維持することなく、より大きな顧客が統合されたCloudflareコストビューを構築する助けになる。

アクセスの拡大は、これがプラットフォーム機能であるという主張を強める。制限付きフェーズが長引くなら、Cloudflareが依然として請求モデル間の根本的な差異を解決していることを示唆するだろう。

第三のシグナルは、実際のエコシステム導入だ。FinOpsプラットフォーム、社内開発者ポータル、オブザーバビリティベンダーは、大規模な個別修正なしにレコードを取り込む必要がある。FOCUSとの整合性はそれを容易にするはずだが、結果を左右するのは実装の詳細である。

有用な証拠としては、公開された統合、リファレンスパイプライン、安定したソフトウェア開発キットのサポート、請求書照合に関する顧客報告が挙げられる。エンドポイントが技術的に利用可能なままであっても、頻繁なスキーマ破壊の証拠は信頼を損なう。

顧客の行動も別の手掛かりを与える。チームがダッシュボードを再現するためだけにAPIを使うなら、その影響は限定的なままだ。より大きな価値は、コストレコードをデプロイ、サービス、所有者、ビジネス活動と結び付けることから生まれる。

その統合は、日常的なエンジニアリング判断を変え得る。チームはリリース前後の使用量を比較できる。異常をサービス所有者にルーティングできる。運用レビューにコスト変動を含めることもできる。

Cloudflareは、製品カタログが拡大しても日次レコードが理解可能なままであることを示す必要もある。Workers、ストレージ、データベース、AI、ネットワーキング、セキュリティサービスは、それぞれ異なる請求ディメンションを用いる。一貫した製品ファミリーとメトリクス識別子が、自動化がカタログ変更を乗り越えられるかを左右する。

Hacker Newsから来た開発者にとって、実務的な次の一歩は慎重な実験だ。アクセスを確認し、小さな日付範囲を取得し、生レスポンスを保存し、各メトリクスを社内所有者にマッピングする。欠けている金額フィールドは、ゼロではなく欠落として扱うべきだ。

そのうえで、データが安全に何をトリガーできるかを判断する。通知は自動停止よりも運用リスクが低い。ダッシュボードは、強制ループよりも遅延したレコードを受け入れやすい。

Cloudflareの発表は、人間だけが行う請求確認から、ソフトウェアで読める使用量への現実的な転換を示している。ただし、予想外の請求をなくしたり、完全なコスト台帳を提供したりするものではまだない。

より鋭い問いは、注目が薄れた後に何が起きるかだ。Cloudflareはコストフィールドを埋め、より幅広いアカウントモデルをサポートし、安定したFOCUSデータセットを維持するのか。その結果によって、Billable Usage APIが運用インフラになるのか、それともHacker Newsで語られる興味深いalphaのままなのかが決まる。

 
 

無料で始めましょう

ローカルファーストのパーソナル知識管理付きAIアシスタント

より良いAI体験のために、

remio は現在、 Windows 10+ (x64)M-Chip Mac のみをサポートしています。

仕事のAIパートナー
remioでもっと仕事が進む

計画・作成・仕上げまで
すべてをひとつに

bottom of page