メインコンテンツへスキップ

クラウドコストを予測する

予測機能は、履歴データを使用して将来のクラウド支出を予測します。クラウドリソース使用量を正確に予測することで、リソースのアロケーションを他の FinOps 機能と整合させ、適切なビジネス判断につなげることができます。

参照

DoiT の予測

DoiT は、信頼性が高く柔軟に設定できる拡張された予測機能を提供します。機械学習モデルはさまざまなタイプの時系列データに対応するために複数の予測モデルを取り入れており、異なる粒度レベルでの予測を可能にします。

クラウドコストを予測することには、いくつかの利点があります。

  • コスト最適化: 将来のクラウド利用を予測することで、コストを最適化できる領域を特定できます。例えば、未使用リソースの停止、インスタンスの適切サイズ化などの改善が考えられます。

  • 予算策定の改善: 正確な予測により、クラウド費用に関する現実的な予算を作成し、リソースを効果的にアロケーションして、予期せぬコスト超過を回避できます。

  • 意思決定の高度化: 予測は、クラウド利用に関するより良い意思決定を行うための有用なデータを提供します。例えば、クラウドリソースをスケールアップする方がコスト効率に優れているか、オンプレミスインフラへの投資が適切かを判断できます。

  • FinOps のベストプラクティス: クラウドコスト予測は、FinOps の中核となる原則です。クラウドコストを予測することで、クラウド投資から最大限の価値を引き出していることを確認できます。

精度

すべての時間間隔における精度向上のため、予測システムのデータ処理とモデリング機能を継続的に改善しています。予測の精度には主に次の2つの要因が影響します。

  • 季節性: 特に時間単位や日単位などの関連する時間間隔では、曜日や時間帯によって繰り返し発生するコストの変動が見られます。そのようなパターンを検出した場合は、予測に組み込むことで精度を高めます。

  • 外れ値の処理: 一般に時系列は、トレンド、季節性(該当する場合)、残差に分解できます。残差誤差に含まれる外れ値は、系列全体を代表しない形で予測に影響を与える可能性があります。このような外れ値の影響を軽減し、データ内の本質的なパターンをより適切に捉えます。

Historical data time range はモデルの学習ウィンドウであり、モデルの精度に影響します。時間範囲を設定する際は、次の点を考慮してください。

  • ウィンドウを現在の挙動に合わせる: より長い履歴は、現在の挙動を反映している場合には有利です。ただし、ある時点で支出パターンが大きく変化した場合(例: マイグレーション、新しいワークロード、コスト最適化など)は、現在の挙動が安定して続いているより短い期間の方が適しています。

  • 支配的なパターンの少なくとも1サイクルを含める: 週次パターン(平日/週末の違いなど)がある場合は、少なくとも2~3週間を含めてください。月次の季節性がある場合は、少なくとも2~3か月を含めてください。履歴期間が短くなるほど、予測はより投機的になります。

予測には信頼区間(上限値と下限値)が含まれており、先の期間を予測するほど幅が広がります。トレーニングデータの粒度は日次であり、より詳細であるため、四半期ごとの予測よりも月次予測に依拠するようにしてください。

履歴データ

デフォルトでは、予測設定はレポートの Time RangeTime Interval に基づいて時間間隔が自動入力されます。

Historical data time range または Forecast horizon を選択し、Last 7 daysNext 14 days などのプリセット、または開始日と終了日を明示したカスタムの Fixed Dates を使って時間範囲を設定します。

期間

選択した時間間隔について、システムは少なくとも2つのデータポイントを必要としますが、それだけでは大まかな予測にとどまります。より信頼性の高い結果を得るには、以下の最小推奨値を使用してください。

時間間隔ごとにサポートされる期間数には上限があります。カスタム日付範囲を使用する場合は、選択したすべての期間の合計の長さが、以下の制限内に収まる必要があります。

Time periodMaximum historical periods for the forecastMaximum forecast periodsMinimum recommended historical periods
Hourly10001000168
Daily50010030
Weekly100524
Monthly36123
Quarterly1244
Annual633

粒度

DoiT の予測は、2 つの粒度レベルをサポートします。

  • Forecast totals only: 個々のディメンションを分解せずに、全体の予測を提供します。

  • Forecast per grouping: レポートの Group by 設定に含まれる各ディメンションごとに予測を提供します。

レポートが多数のディメンション(例えば十数個以上)でグループ化されている場合は、Forecast totals only オプションを推奨します。

そのような場合に Forecast per grouping を選択すると、レポートが過度に複雑になる可能性があります。これは特に、レポートで指定した Time Range の最後の期間において問題になりやすくなります。最後の期間に履歴データと予測の両方が含まれる場合、各ディメンション(グルーピング)は2つの部分を表示します。つまり、これまでの実績値(履歴)と予測値です。

Forecast per grouping を使用する場合、各グループは範囲内に十分なデータポイントを持つ必要があります。スパースなグループでは、予測と信頼区間にノイズが増えます。履歴が限られている場合は、通常、Forecast totals only(またはグループ数を減らして粒度を粗くする方)がより信頼性があります。

以下の例で、粒度レベルの違いによる差異を確認できます。

例: サービスコストを予測する

この例では、次の方法を説明します。

  • カスタム日付範囲で複数サービスの支出を予測する Cloud Analytics レポートを作成する。

  • 予測設定を変更して、全体の予測とサービス別の内訳の両方を表示する。

サービスコストを予測するには、次の手順を実行します。

  1. DoiT コンソールで新しいレポートを作成します。

  2. Time Range では、現在の月を含む直近4か月を選択し、Time Interval では Month を選択します。

    実際には、ビジネス上の目的に応じてこれらの設定を変更できますが、予測期間の制限を考慮する必要があります。

  3. Group by オプションで Service を選択し、関心のあるサービスのみが含まれるようにフィルターします。

  4. Forecast の横にあるプラスアイコンを選択して新しい予測を追加するか、Compact mode の場合はツールバーの予測アイコンを選択します。

    Forecast settings ダイアログでは、レポートの Time RangeTime Interval に基づき、推奨の時間間隔が自動入力されます。

    Forecast settings window

  5. Historical data time range > Fixed Dates を選択し、1か月と1週間の範囲(この例では Dec 01, 2025 から Mar 08, 2026)に設定します。Forecast horizon を選択して、4か月に設定します。

    これらの間隔はビジネス上の目的に応じて設定できますが、予測期間の制限を念頭に置いてください。

    Forecast settings set dates

  6. Apply を選択して設定を保存し、レポートを実行します。

    下のスクリーンショットは、Forecast totals only の粒度を使用した結果を示しています。列の上にマウスカーソルを移動すると、関連する数値が表示されます。

    Report with total forecast granularity

  7. サービスごとに予測をブレイクダウンするには、Forecast settings を選択し、粒度を Forecast per grouping に変更して適用し、レポートを再度実行します。

    Report with total forecast granularity

    レポートの Time Range の最後の期間である 2026-03 の列では、各サービスに実績値と予測値の2つのセグメントがあることに注意してください。

    Report with total forcast granularity