彈性節費方案

彈性 Savings Plans (FSP) 是依支出計算的承諾使用折扣 (CUD),可協助您節省 Google Cloud用量費用。簽訂 FSP 後,您必須在訂閱期間 (1 年或 3 年) 內,承諾每月在符合資格的產品 (包括第一方、開放原始碼和參與計畫的第三方模型) 達到最低支出門檻。只要承諾使用,符合資格的用量即可享有折扣。

FSP 為依支出計算的 CUD 推出兩項新功能:

標準依支出計算的承諾使用折扣 (CUD) 採用每小時授權時間範圍,而 FSP 則採用每月授權時間範圍。非常適合用量模式不穩定或難以預測的工作負載。

尋找符合條件的 SKU

Gemini Enterprise FSP 適用於符合資格的 Google Cloud 生成式 AI 模型和產品,包括第一方模型 (例如 Gemini)、開放原始碼模型即服務產品,以及透過 Vertex AI 和 Cloud Marketplace 提供的參與第三方基礎模型。如要查看適用 SKU 的完整清單,請參閱「Gemini Enterprise Flexible Savings Plan Eligible SKUs」頁面。

彈性節費方案的運作方式

購買彈性節省方案時,您必須承諾在 1 年或 3 年內,每月支出特定金額。系統會監控您的用量,並套用折扣後的適用計費模式費率。

如果您將每月承諾使用金額用於符合資格的產品,就不必支付 FSP 費用。使用符合資格的產品時,系統會從 FSP 承諾使用合約扣抵費用。

範圍和定價

FSP 範圍和定價適用下列規則:

  • 訂閱方案期限限制:如果訂閱方案期限超過 1 個月,FSP 就無法提供折扣。舉例來說,如果您訂閱了 1 年期的產品,就無法享有 FSP 折扣。
  • 支付較優惠的費率:對於所有符合資格的產品和訂閱項目,您一律支付較低 (較優惠) 的費率。如果這份承諾使用合約中的產品已有議定價格,則會套用最低價格。FSP 絕不會將任何產品的價格調高至標準隨選費率以上。詳情請參閱「支付更優惠的費率」。
  • 不符合折扣資格的產品:部分產品不適用 FSP 折扣,但仍會從 FSP 扣除費用。如需這些價格,請參閱價目表報表。

Gemini Enterprise 定價

1 年期彈性 Savings Plan 提供 10% 折扣,3 年期彈性 Savings Plan 則提供 20% 折扣,適用於「Gemini Enterprise 彈性 Savings Plan 適用 SKU」頁面中的所有 SKU,但下列 SKU 除外。這些 SKU 不會從 FSP 獲得任何額外折扣,但仍會扣除 FSP 承諾使用金額:

產品 說明 SKU ID
佈建輸送量 Vertex AI:佈建輸送量 3 個月 13D9-6212-6E17
佈建輸送量 Vertex AI:佈建輸送量 1 年 9192-74A6-DE45
佈建輸送量 Agent Platform 模型:佈建輸送量 3 個月 (非全球) F878-80F5-63BF
佈建輸送量 Agent Platform 模型:佈建輸送量 1 年 (非全球) 2106-EA10-F9CC
佈建輸送量 Vertex AI 開放原始碼模型即服務:佈建輸送量 3 個月 1E0D-E522-0E12
佈建輸送量 Vertex AI 開放原始碼模型即服務:佈建輸送量 1 年 6009-4CB8-85D6
全量微調 第一方基礎模型全量微調服務 1 年承諾使用合約 88CB-4A51-012D
全量微調 第一方基礎模型全量微調服務 3 年承諾使用合約 0280-9537-E40B
全量微調 推論全量微調第一方模型 (1 年承諾使用合約) 74E1-4528-1F94
全量微調 推論全量微調第一方模型 3 年承諾使用合約 26B4-6E81-10C0
Speech-to-Text Speech-to-Text 裝置端語言訂閱 9886-4062-830D
Speech-to-Text Speech-to-Text 裝置端 Serving Library 訂閱方案 BEF8-431D-9BF4
Text-to-Speech Text-to-Speech 裝置端 Serving Library 訂閱方案 3D6B-450F-BA51
Text-to-Speech Text-to-Speech 裝置端語音訂閱 80AF-473F-9A8D
Gemini Enterprise 應用程式 Gemini Business:訂閱 - 一個月約期 D03F-9D37-4753
Gemini Enterprise 應用程式 Gemini Business:訂閱 - 一年期 FE0D-41B2-9575
Gemini Enterprise 應用程式 Gemini Enterprise Business 版:預付訂閱方案 - 一個月期 FA2D-55B2-023F
Gemini Enterprise 應用程式 Gemini Enterprise Business 版:預付訂閱費用 - 一年約 FB43-B23B-BD15
Gemini Enterprise 應用程式 Gemini Enterprise Standard:訂閱 - 一個月期 0532-C2F0-1DF0
Gemini Enterprise 應用程式 Gemini Enterprise Standard:訂閱 - 一年期 B3D3-B9E1-610F
Gemini Enterprise 應用程式 Gemini Enterprise Plus:訂閱 - 一個月期 4EDF-A125-F89E
Gemini Enterprise 應用程式 Gemini Enterprise Plus:訂閱 - 一年期 5657-9AD2-26F6
Gemini Enterprise 應用程式 Gemini Enterprise Frontline:訂閱 - 一個月期 C3B7-10E2-45EE
Gemini Enterprise 應用程式 Gemini Enterprise Frontline:訂閱 - 一年約 070B-47E2-47B3
Gemini Enterprise 應用程式 Gemini Enterprise Standard 新興市場方案:訂閱 - 一個月期 54F6-590C-84B5
Gemini Enterprise 應用程式 Gemini Enterprise Standard 新興市場方案:訂閱 - 一年約 C853-D67D-D911
Gemini Enterprise 應用程式 Gemini Notebook Enterprise:訂閱 - 一個月期 BF82-0F2F-7FA3
Gemini Enterprise 應用程式 Gemini Notebook Enterprise:訂閱 - 一年期 8597-66F8-5FF1

第三方模型和私密優惠

Gemini Enterprise Flexible Savings Plan 支援透過 Vertex AI 和 Cloud Marketplace 提供的參與第三方 (3P) 基礎模型。

與私密優惠互動

FSP 和私密優惠的互動方式遵循下列規則:

  • 福利套用階層:
    1. 私密優惠折扣:如果您透過私密優惠購買符合 FSP 資格的第三方產品,並享有合作夥伴定價折扣,則適用折扣價格和私密優惠條款。此外,折扣後的支出會扣除每月 FSP 承諾使用金額。
    2. 私密優惠 CUD 抵免額:如果您透過私密優惠購買符合 FSP 資格的第三方產品,並獲得抵免額,則購買私密優惠或分期付款的費用,會從每月 FSP 承諾使用合約中扣除。請注意,使用購買的抵免額不會額外扣抵每月 FSP 承諾使用金額。
Enterprise 協議承諾使用額度

根據 FSP 購買第三方模型的支出,會從貴組織的企業承諾使用合約中扣除,並須遵守標準 Cloud Marketplace 扣除規則和企業協議中定義的合約上限。

授權期間

授權期間是指系統根據承諾使用金額,衡量用量的週期。如果您未在授權期間內用完所有承諾使用金額,系統會向您收取剩餘金額。未充分使用的 FSP 承諾使用合約不會延續。

FSP 支援每月授權期。也就是說,您可以在當月內使用承諾支出。不過,結帳系統會評估您的用量,並按小時套用 FSP 折扣。

舉例來說,如果您每月承諾使用金額為 $100 美元,系統會每小時檢查一次用量。如果您在第 1 小時有符合資格的用量,系統會套用折扣,並計入 $100 美元的承諾使用合約。這個過程會持續一整個月,直到達到 $100 美元的上限或當月結束為止。如果用量在月底前超過 $100 美元,後續用量會按照預設計費模式費率計費。

過度使用的承諾使用合約 (超出承諾用量)

如果某個月的合格用量超過承諾的每月金額,FSP 會涵蓋不超過上限的用量,其餘部分則會按照標準隨選費率,或這份承諾使用合約中任何產品的議定價格計費。

  • 機制:系統會將 FSP 折扣費率套用至與每月承諾使用金額相等的使用量。
  • 費用:當月用量超過限制時,會按照標準隨選價格 (「預設」計費模式) 或議定價格,收取承諾使用合約內任何產品的費用。超出的部分不適用任何 FSP 折扣。

使用率偏低 (未達承諾使用量)

如果當月符合資格的用量低於承諾使用金額,您仍須支付全額費用。

  • 不累計:未使用的承諾使用餘額「不會」累計至下個月。
  • 費用:您必須支付購買的完整月承諾使用金額。月底時,系統會針對未使用的承諾使用合約部分收取承諾使用合約費用。

折扣套用方式

在 FSP 範圍內,折扣會依下列順序套用:

  1. 使用時間:系統會先套用較早使用時段的費用。
  2. 折扣等級:接下來,系統會套用在指定用量小時內,相對於隨選定價折扣百分比最高的用量。這種貪婪選擇可確保承諾使用金額優先提供最高的節省率。
  3. 按比例套用:如果多項資源的用量在一小時內共用相同的折扣百分比,則承諾使用合約會按比例套用至該折扣等級和用量小時內的所有費用。

如果訂閱項目在 FSP 涵蓋範圍內,訂閱福利會優先套用至用量。訂閱費用會計入 FSP 支出承諾,但 FSP 不會對訂閱價格提供額外折扣。

支付更優惠的費率

系統會套用預設計費模式價格、第三方私密優惠和 FSP 計費模式價格中的最低價格。

開始時間和按比例計算

購買 FSP 後,承諾使用合約會根據購買時間生效:

  • 在 :00 至 :49 (每小時的前 50 分鐘) 購買:從下一個小時開始。
  • 在 :50 至 :59 (每小時最後 10 分鐘) 購買:跳過一小時,從下下個小時開始。

所有啟用和授權期間界線均以太平洋時間 (PT) (America/Los_Angeles) 為準。

月中購買時的每月按比例計費

如果您在月中購買 FSP 並立即啟用,初始授權期會按當月剩餘天數比例計算:

  1. 按比例計算的第一個月:從啟用時間戳記到當月月底 (太平洋時間當月最後一天的晚上 11:59:59),您會獲得按比例計算的支出授權。該月剩餘天數的承諾使用費和使用率偏低門檻,會按照該月已過時數的比例調整。
  2. 後續日曆月:從下個日曆月的第一天凌晨 12 點 (太平洋時間) 開始,每個授權期都會與 1 年或 3 年約期的剩餘時間對齊
  3. 最後一個月按比例計算:從當月開始到合約結束日,您會獲得按比例計算的支出授權。該部分月份的承諾使用費用和使用率偏低門檻,會依據當月已過時數的比例調整。

舉例來說,假設您購買 1 年期 FSP,每月承諾使用金額為 $3,000 美元,並於太平洋時間 4 月 16 日凌晨 12:00 啟用 (4 月共有 30 天,剩餘 15 天)。4 月的承諾使用合約費用按比例計算為 $1,500 美元 ($3,000 美元 × 15/30)。

取消、遷移和更正

購買後,您無法取消或修改 FSP。在合約期間,您必須支付議定的月費。如果您不小心購買了使用承諾,或是在設定使用承諾時發生錯誤,請向 Cloud Billing 支援團隊尋求協助。

折扣和費用的歸因

FSP 採用比例歸因模式,與其他依支出計算的承諾使用折扣 (CUD) 相同。費用每小時歸因一次。費用會根據各專案消耗的符合資格總用量,按比例計入 Cloud Billing 帳戶中的專案。詳情請參閱「承諾使用折扣費用和抵免額的歸因」。

購買彈性費用節省方案

您可以使用 Google Cloud 控制台 (自助服務) 直接購買 FSP。

如要購買彈性 Savings Plan,您需要與承諾使用合約期限相關聯的優惠 ID。如要查看優惠 ID,請參閱「找出要購買的優惠」。

設定 FSP 時,請指定:

  • 訂閱期限 (1 年或 3 年)。
  • 每月授權期間的承諾使用金額。
  • FSP 的名稱。這個名稱不得與任何 FSP 和承諾使用折扣 (CUD) 重複。

查看彈性節費方案

您可以在 Google Cloud 控制台的「Committed use discounts (CUDs)」(承諾使用折扣 (CUD)) 頁面中,查看有效和過往彈性 Savings Plans。

這個頁面提供兩個層級的詳細資料 (「Aggregated view」(匯總檢視畫面) 和「Instance view」(執行個體檢視畫面)),協助您管理承諾使用合約。如要進一步瞭解這些檢視畫面,請參閱「查看承諾使用合約」。

在「Instance view」(執行個體檢視畫面) 中,您可以查看授權視窗的細目。

監控及分析彈性節費方案

您可以使用標準 Cloud Billing FinOps 工具,監控及管理 FSP:

  • 費用報表:查看 FSP 承諾使用合約費用和隨選費用。您可以區隔 FSP 涵蓋的費用和用量。
  • 費用表報表:查看 FSP 費用的詳細明細,核對月結單。
  • 將 Cloud Billing 資料匯出至 BigQuery:將帳單資料匯出至 BigQuery,以程式輔助方式追蹤使用中的 FSP、歷來成效和使用率指標 (您可以使用查詢範例分析這類資料)。

查詢範例

使用下列查詢範例,透過匯出至 BigQuery 的 Cloud Billing 資料,分析彈性 Savings Plans (FSP)。

計算承諾使用合約可省下的費用

承諾使用折扣是指承諾使用產生的淨節省金額。

計算可省下的費用

使用下列查詢,計算節省的金額。

當月用量費用持續累計中 (開放期間)

開放視窗是指正在累積用量費用的帳單週期月份。

使用這項查詢,計算當前帳單週期月份的節省金額,以及仍在累積的使用費。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      DATE(TIMESTAMP_TRUNC(usage_start_time, DAY, 'US/Pacific'))
        BETWEEN 'START_DATE' AND 'END_DATE'
  ),
  flexible_saving_plan_cost_data AS (
    SELECT
      *,
      COALESCE(
        NULLIF(consumption_model.applied_subscription_instance_id, ''),
        subscription.instance_id) AS cud_subscription_instance_id
    FROM cost_data
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  )
SELECT
  cud_subscription_instance_id,
  consumption_model.id AS consumption_model_id,
  SUM(cost_at_effective_price_default) - SUM(cost) AS commitment_savings
FROM flexible_saving_plan_cost_data
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE:查詢範圍的開始日期,格式為 YYYY-MM-DD。
  • END_DATE:查詢範圍的結束日期,格式為 YYYY-MM-DD。
月結帳單週期結束後,已完成的月份 (結算期)

已完成的月份 (已關閉的期間) 代表帳單週期已結束,不再主動產生費用,且所有用量費用都已由結帳系統處理完畢,最終費用和節省金額都已列入帳單週期月份開立的任何月結單。

使用這項查詢,計算已完成帳單週期月份的節省金額。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      DATE(TIMESTAMP_TRUNC(usage_start_time, DAY, 'US/Pacific'))
        BETWEEN 'START_DATE' AND 'END_DATE'
  ),
  flexible_saving_plan_cost_data AS (
    SELECT
      COALESCE(
        NULLIF(consumption_model.applied_subscription_instance_id, ''),
        subscription.instance_id) AS cud_subscription_instance_id,
      consumption_model.id AS consumption_model_id,
      cost_at_effective_price_default,
      cost,
      (
        SELECT SUM(credit.amount)
        FROM UNNEST(credits) credit
        WHERE credit.type = 'FEE_UTILIZATION_OFFSET'
      ) AS row_fee_utilization_offset
    FROM cost_data
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  )
SELECT
  cud_subscription_instance_id,
  consumption_model_id,
  SUM(cost_at_effective_price_default)
    -   (SUM(cost)
    +   IFNULL(SUM(row_fee_utilization_offset), 0)) AS commitment_savings
FROM flexible_saving_plan_cost_data
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE:查詢範圍的開始日期,格式為 YYYY-MM-DD。
  • END_DATE:查詢範圍的結束日期,格式為 YYYY-MM-DD。

計算節省費用百分比

使用下列查詢計算節省百分比。

當月 (開放期間)

使用這項查詢,計算當月的節省百分比。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      DATE(TIMESTAMP_TRUNC(usage_start_time, DAY, 'US/Pacific'))
        BETWEEN 'START_DATE' AND 'END_DATE'
  ),
  flexible_saving_plan_cost_data AS (
    SELECT
      *,
      COALESCE(
        NULLIF(consumption_model.applied_subscription_instance_id, ''),
        subscription.instance_id) AS cud_subscription_instance_id
    FROM cost_data
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  )
SELECT
  cud_subscription_instance_id,
  consumption_model.id AS consumption_model_id,
  SAFE_DIVIDE(
    (SUM(cost_at_effective_price_default) - SUM(cost)),
    SUM(cost_at_effective_price_default)) AS commitment_savings
FROM flexible_saving_plan_cost_data
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE:查詢範圍的開始日期,格式為 YYYY-MM-DD。
  • END_DATE:查詢範圍的結束日期,格式為 YYYY-MM-DD。
已完成的月份 (已關閉的視窗)

使用這項查詢,計算已完成帳單週期月份的節省百分比。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      DATE(TIMESTAMP_TRUNC(usage_start_time, DAY, 'US/Pacific'))
        BETWEEN 'START_DATE' AND 'END_DATE'
  ),
  flexible_saving_plan_cost_data AS (
    SELECT
      COALESCE(
        NULLIF(consumption_model.applied_subscription_instance_id, ''),
        subscription.instance_id) AS cud_subscription_instance_id,
      consumption_model.id AS consumption_model_id,
      cost_at_effective_price_default,
      cost,
      (
        SELECT SUM(credit.amount)
        FROM UNNEST(credits) credit
        WHERE credit.type = 'FEE_UTILIZATION_OFFSET'
      ) AS row_fee_utilization_offset
    FROM cost_data
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  )
SELECT
  cud_subscription_instance_id,
  consumption_model_id,
  SAFE_DIVIDE(
    (SUM(cost_at_effective_price_default)
      -   (SUM(cost) + IFNULL(SUM(row_fee_utilization_offset), 0))),
    SUM(cost_at_effective_price_default)) AS commitment_savings
FROM flexible_saving_plan_cost_data
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE:查詢範圍的開始日期,格式為 YYYY-MM-DD。
  • END_DATE:查詢範圍的結束日期,格式為 YYYY-MM-DD。

計算承諾使用率

承諾使用率會衡量您使用承諾的成效。

當月 (開放期間)

使用這項查詢,計算當月的用量。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      usage_start_time BETWEEN 'START_DATE_TIME'
        AND 'END_DATE_TIME'
  ),
  flexible_saving_plan_cost_data AS (
    SELECT
      *,
      IF(sku.description NOT LIKE '%Flexible Savings Plan%', TRUE, FALSE)
        AS is_cud_usage_sku,
      COALESCE(
        NULLIF(consumption_model.applied_subscription_instance_id, ''),
        subscription.instance_id) AS cud_subscription_instance_id
    FROM cost_data
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  ),
  cud_subscriptions AS (
    SELECT
      subscription.instance_id AS cud_subscription_instance_id,
      subscription.display_name AS subscription_display_name,
      subscription.entitlement_period AS subscription_entitlement_period,
      term AS subscription_term,
      consumption_model.id AS consumption_model_id,
      commitment_amount.value AS commitment_amount,
    FROM `PROJECT.DATASET.cud_subscriptions_export`
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  ),
  cud_usage AS (
    SELECT
      COALESCE(
        fsp_cost.cud_subscription_instance_id,
        fsp_subs.cud_subscription_instance_id) AS cud_subscription_instance_id,
      COALESCE(fsp_cost.consumption_model_id, fsp_subs.consumption_model_id)
        AS consumption_model_id,
      IF(fsp_cost.is_cud_usage_sku, fsp_cost.cost, 0) AS cud_usage_cost,
      fsp_subs.subscription_display_name AS subscription_display_name,
      fsp_subs.subscription_entitlement_period
        AS subscription_entitlement_period,
      fsp_subs.subscription_term AS subscription_term,
      SAFE_DIVIDE(
        fsp_subs.commitment_amount,
        NULLIF(fsp_cost.currency_conversion_rate, 1)) AS commitment_amount,
    FROM
      flexible_saving_plan_cost_data AS fsp_cost
    FULL JOIN cud_subscriptions AS fsp_subs
      USING (cud_subscription_instance_id, consumption_model_id)
  )
SELECT
  cud_subscription_instance_id,
  consumption_model_id,
  subscription_display_name,
  subscription_entitlement_period,
  subscription_term,
  SAFE_DIVIDE(SUM(cud_usage_cost), commitment_amount)
    AS commitment_utilization_rate
FROM cud_usage
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE_TIME:查詢範圍的開始日期和時間,格式為 YYYY-MM-DD HH:MM:SS。
  • END_DATE_TIME:查詢範圍的結束日期和時間,格式為 YYYY-MM-DD HH:MM:SS。

月結帳單週期結束後,已完成的月份 (結算期)

使用這項查詢,計算已完成帳單週期月份的使用率。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      usage_start_time BETWEEN 'START_DATE_TIME'
        AND 'END_DATE_TIME'
  ),
  flexible_saving_plan_cost_data AS (
    SELECT
      COALESCE(
        NULLIF(consumption_model.applied_subscription_instance_id, ''),
        subscription.instance_id) AS cud_subscription_instance_id,
      consumption_model.id AS consumption_model_id,
      currency_conversion_rate,
      (
        SELECT SUM(credit.amount)
        FROM UNNEST(credits) credit
        WHERE credit.type = 'FEE_UTILIZATION_OFFSET'
      ) AS row_fee_utilization_offset
    FROM cost_data
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  ),
  cud_subscriptions AS (
    SELECT
      subscription.instance_id AS cud_subscription_instance_id,
      subscription.display_name AS subscription_display_name,
      subscription.entitlement_period AS subscription_entitlement_period,
      term AS subscription_term,
      consumption_model.id AS consumption_model_id,
      commitment_amount.value AS commitment_amount,
    FROM `PROJECT.DATASET.cud_subscriptions_export`
    WHERE
      consumption_model.id IN ('BBB5-D209-3835', 'C109-C9C0-A044')
  ),
  cud_usage AS (
    SELECT
      COALESCE(
        fsp_cost.cud_subscription_instance_id,
        fsp_subs.cud_subscription_instance_id) AS cud_subscription_instance_id,
      COALESCE(fsp_cost.consumption_model_id, fsp_subs.consumption_model_id)
        AS consumption_model_id,
      fsp_cost.row_fee_utilization_offset,
      fsp_subs.subscription_display_name AS subscription_display_name,
      fsp_subs.subscription_entitlement_period
        AS subscription_entitlement_period,
      fsp_subs.subscription_term AS subscription_term,
      SAFE_DIVIDE(
        fsp_subs.commitment_amount,
        NULLIF(fsp_cost.currency_conversion_rate, 1)) AS commitment_amount,
    FROM
      flexible_saving_plan_cost_data AS fsp_cost
    FULL JOIN cud_subscriptions AS fsp_subs
      USING (cud_subscription_instance_id, consumption_model_id)
  )
SELECT
  cud_subscription_instance_id,
  consumption_model_id,
  subscription_display_name,
  subscription_entitlement_period,
  subscription_term,
  SAFE_DIVIDE(IFNULL(SUM(row_fee_utilization_offset), 0), commitment_amount)
    AS commitment_utilization_rate
FROM cud_usage
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE_TIME:查詢範圍的開始日期和時間,格式為 YYYY-MM-DD HH:MM:SS。
  • END_DATE_TIME:查詢範圍的結束日期和時間,格式為 YYYY-MM-DD HH:MM:SS。

調整購買金額

根據未涵蓋的歷來用量,使用這些查詢來判斷最佳 FSP 承諾使用合約規模。

步驟 1:找出符合資格的 SKU 和折扣費率

這項查詢會從雲端定價匯出作業中,擷取符合 FSP 資格的 SKU 及其相關折扣費率。

WITH PricingExport AS (
  SELECT
    sku.id AS sku_id,
    sku.description AS sku_description,
    REPLACE(
      cmp.consumption_model, 'consumptionModels/', '') AS consumption_model_id,
    cmp.consumption_model_display_name,
    cmp.list_price.tiered_rates[SAFE_OFFSET(0)].usd_amount
      AS internal_list_price,
    cmp.billing_account_price.tiered_rates[SAFE_OFFSET(0)].usd_amount
      AS consumption_model_discounted_price
  FROM
    `PROJECT.DATASET.cloud_pricing_export`,
    UNNEST(consumption_model_prices) AS cmp
  WHERE
    DATE(_PARTITIONTIME) = 'PARTITION_DATE'
),
PricingWithOnDemandPrices AS (
  SELECT
    *,
    MAX(
      CASE
        WHEN consumption_model_display_name = 'Default' THEN internal_list_price
      END) OVER (PARTITION BY sku_id) AS on_demand_list_price
  FROM
    PricingExport
)
SELECT
  sku_id,
  sku_description,
  consumption_model_id,
  consumption_model_display_name,
  on_demand_list_price,
  consumption_model_discounted_price,
  SAFE_DIVIDE(
    (on_demand_list_price - consumption_model_discounted_price),
    NULLIF(on_demand_list_price, 0)) * 100 AS discount_rate
FROM
  PricingWithOnDemandPrices
WHERE consumption_model_display_name != 'Default'
ORDER BY
  consumption_model_display_name,
  sku_id;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • PARTITION_DATE:要查詢的 Cloud 定價匯出資料表分區日期。

步驟 2:將折扣費率套用至未涵蓋的歷來用量

使用這項查詢,將步驟 1 找到的折扣費率套用至歷來未涵蓋的用量,估算潛在的 FSP 費用。

WITH
  cost_data AS (
    SELECT
      *
    FROM
      `PROJECT.DATASET.gcp_billing_export_resource_v1_BILLING_ACCOUNT_ID`
    WHERE
      usage_start_time BETWEEN 'START_DATE_TIME'
        AND 'END_DATE_TIME'
  ),
  flexible_saving_plan_uncovered_cost AS (
    SELECT
      *
    FROM
      cost_data
    WHERE
      consumption_model.description = 'Default'
      AND sku.id IN (SKU_LIST)
  )
SELECT
  DATE(usage_start_time) AS usage_date,
  invoice.month AS invoice_month,
  SUM(cost) AS uncovered_cost,
  SUM(cost) * DISCOUNT_RATE AS potential_flexible_saving_plan_cost
FROM
  flexible_saving_plan_uncovered_cost
GROUP BY ALL;

更改下列內容:

  • PROJECT: Google Cloud 專案 ID,用於存放 Cloud Billing 匯出資料集。
  • DATASET:BigQuery 資料集名稱,內含 Cloud Billing 匯出資料表。
  • BILLING_ACCOUNT_ID:Cloud Billing 帳戶 API ID。
  • START_DATE_TIME:查詢範圍的開始日期和時間,格式為 YYYY-MM-DD HH:MM:SS。
  • END_DATE_TIME:查詢範圍的結束日期和時間,格式為 YYYY-MM-DD HH:MM:SS。
  • SKU_LIST:以半形逗號分隔的 SKU ID 清單 (在步驟 1 中取得)。
  • DISCOUNT_RATE:步驟 1 中識別的各項 SKU 折扣費率。