設定將 FOCUS Cloud Billing 資料匯出至 BigQuery

本文將逐步說明如何設定FOCUS 用量費用,將 Cloud Billing 資料匯出至 BigQuery。FOCUS 使用費用匯出是無法變更的 BigQuery 資料集(連結的資料集),內含根據 FinOps 開放成本與使用規格 (FOCUS) 標準正規化的詳細使用費用資料。

如要啟用將 FOCUS 使用費 Cloud Billing 資料匯出至 BigQuery 的功能,請按照下列步驟操作:

  • 建立專案來儲存匯出的 Cloud Billing 資料,並為專案啟用計費功能 (如果尚未啟用)。
  • 設定專案和 Cloud Billing 帳戶的權限。
  • 啟用「FOCUS 使用費」帳單匯出功能。

這份文件將詳細說明每個步驟。

使用 FOCUS Export 匯出功能時的 BigQuery 使用費用

使用 BigQuery 儲存及分析帳單用量和費用資料時,會產生 BigQuery 使用費。BigQuery 的主要費用是儲存空間 (用於儲存在 BigQuery 中的資料) 和運算 (用於查詢處理)。

由於 FOCUS 帳單資料匯出功能是透過連結的資料集,以 Google 管理的不變匯出資料形式提供,因此您不需要支付 FOCUS 資料的儲存費用。不過,查詢 FOCUS 資料時會產生費用。詳情請參閱「BigQuery 使用費用」。

關於 Google Cloud 控制台

Google Cloud 控制台 (請參閱說明文件開啟控制台) 是一個網頁版 UI,可用於佈建、設定、管理和監控使用Google Cloud 產品的系統。您可以使用 Google Cloud 控制台設定及管理 Google Cloud Cloud Billing 資源。

這項工作需要的權限

如要啟用及設定 FOCUS 匯出 Google Cloud 帳單使用費用資料,您必須具備下列權限:

您可能也需要其他專案權限。如果您是Google Cloud 機構的成員,則須具備該機構或資料夾的專案建立者角色,才能建立新的專案。如要建立新專案,您必須具備下列權限:

  • resourcemanager.organizations.get
  • resourcemanager.projects.create

如要進一步瞭解 Google Cloud 權限,請參閱:

啟用將 Cloud Billing 資料匯出至 BigQuery 的功能

完成本節中的三個步驟,即可啟用 FOCUS 使用量費用匯出至 BigQuery 的功能。

1. 選取或建立專案

匯出至 BigQuery 的 Cloud Billing 資料會存放在 BigQuery 資料集中。資料集會存放在您指定的Google Cloud 專案中。

建議您建立及使用 Google Cloud 專案,保存 Cloud Billing 帳戶的所有 FinOps 和帳單管理必要元件,包括匯出的 Cloud Billing 資料。進一步瞭解使用以 FinOps 為主的專案,對帳單管理用途有何好處

在 Google Cloud 控制台的專案選擇器頁面中,選取或建立 Google Cloud 專案。

選取或建立專案所需的角色

  • 選取專案:選取專案時,不需要具備特定 IAM 角色,只要您在專案中獲派角色,即可選取該專案。
  • 建立專案:如要建立專案,您需要「專案建立者」角色 (roles/resourcemanager.projectCreator),其中包含 resourcemanager.projects.create 權限。瞭解如何授予角色

前往專案選取器

進一步瞭解如何建立及管理專案

2. 確認已啟用計費功能

請務必確認您選取用來存放資料集的 Google Cloud 專案已啟用帳單功能,且該 Google Cloud 專案連結至同一個 Cloud Billing 帳戶,其中包含您打算匯出至 BigQuery 資料集的資料。

3. 啟用將 FOCUS 使用費用匯出至 BigQuery 的功能

您可以在Google Cloud 控制台的「帳單」專區中,啟用 Cloud Billing 資料匯出功能。

FOCUS 用量費用匯出功能會使用 Google 提供的不可變更 BigQuery 資料集,內含根據 FinOps 開放成本與使用規格 (FOCUS) 標準正規化的詳細用量費用資料。FOCUS 是一項開放規格,為技術帳單資料產生器定義明確的規定,確保產生一致的成本和用量資料集。一般來說,FOCUS 匯出作業中的資料欄會對應至詳細用量費用匯出作業中的欄位。

如要啟用將 Cloud Billing 資料匯出至 FOCUS BigQuery 資料集的功能,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「帳單匯出」頁面。

    前往「匯出帳單」頁面

  2. 在系統提示時選擇要匯出帳單資料的 Cloud Billing 帳戶。系統會開啟所選帳單帳戶的「帳單匯出」頁面。

  3. 在「BigQuery export」分頁中,按一下「Enable FOCUS export」,設定 FOCUS 匯出功能。

  4. 在「專案」清單中,選取您設定的專案,其中包含 BigQuery 資料集。

    在 BigQuery 中,您選取的專案會用於將匯出的資料儲存在 Google 提供的不可變更 FOCUS 資料集中。

    匯出 FOCUS 使用費時,Cloud Billing 資料會包含所有Google Cloud 由相同 Cloud Billing 帳戶支付費用的專案,其使用量和費用資料。

  5. 您必須啟用 BigQuery API,才能將資料匯出至 BigQuery。如果所選專案未啟用 BigQuery API,系統會提示您啟用。視需要按一下「啟用 BigQuery API」啟用 API。

  6. 選取 FOCUS 資料集的資料位置。資料位置會指定儲存資料的多區域或區域。這個資料集內的所有資料表都會儲存於這個位置。

    1. 選取「位置類型」,建議選擇「多區域」或「區域」。
    2. 為指定位置類型選擇位置

      建議您為 FOCUS 使用費用匯出功能 (以及標準使用費用和詳細使用費用資料匯出功能) 選取多區域位置 (歐盟或美國)。Cloud Billing 匯出功能支援所有 多區域位置 (歐盟或美國)。不過,只有部分資料集區域位置支援將 Cloud Billing 資料匯出至 BigQuery。

      您選取的位置可能會影響系統是否將上個月的資料追溯新增至資料集。如要進一步瞭解資料集位置和資料可用性,請參閱限制

      建立資料集後,無法變更位置進一步瞭解地點。

  7. 按一下 [儲存]

FOCUS 資料集和資料表

啟用 FOCUS 使用費匯出功能後不久,BigQuery Export 就會根據 FOCUS 匯出設定,在新資料集中建立資料集和含有您帳單資料的資料表:

  • 系統會在啟用 FOCUS 匯出功能時指定的 Google Cloud 專案中,建立無法變更的資料集,並採用以下命名模式:

    gcp_billing_immutable_<BILLING_ACCOUNT_ID>_<Location>

    資料集名稱由三個部分組成:

    1. gcp_billing_immutable - FOCUS 匯出的資料集名稱。
    2. Billing_account_ID - 啟用 FOCUS 匯出功能的 Cloud Billing 帳戶 ID。
    3. Location - 啟用 FOCUS 匯出功能時選取的特定區域或多區域「位置」

    資料集名稱範例:gcp_billing_immutable_010101_F0FFF0_61C528_us

  • 系統會在 FOCUS 資料集中建立 FOCUS 帳單資料表,並命名為:

    gcp_billing_export_focus_<BILLING_ACCOUNT_ID>

    表格名稱範例:gcp_billing_export_focus_010101_F0FFF0_61C528

更新 FOCUS 使用費匯出設定

啟用 FOCUS 用量費用匯出至 BigQuery 的功能後,您就能變更各種資料匯出設定,例如:

  • 變更儲存 FOCUS 資料集的專案。
  • 變更 FOCUS 資料集的區域設定。變更區域設定後,系統會建立新的不可變更資料集。
  • 停用 FOCUS 使用費匯出功能。

更新帳單資料的儲存專案或資料集,或停用 FOCUS 匯出功能前,請先參閱限制資料可用性指南,瞭解這些更新對匯出至 BigQuery 的 FOCUS 帳單資料可能造成的影響。

停用 FOCUS 使用費匯出功能

如要停用將某類 Cloud Billing 資料匯出至 BigQuery 的功能,請按照下列步驟操作:

  1. 選取「停用 FOCUS 匯出功能」
  2. 選取「確認」即可儲存所選項目。

日後重新啟用 FOCUS 使用費匯出功能時,您必須重新選取相同的專案和位置資訊設定,才能使用首次啟用 FOCUS 匯出功能時建立的相同不可變更資料集。如果 FOCUS 匯出功能在某段時間內停用,我們不支援回填這段時間內未匯出的資料。

重新啟用 FOCUS 使用費匯出功能

如要重新啟用先前停用的 FOCUS 匯出功能,請參閱「啟用將 Cloud Billing 資料匯出至 BigQuery 的功能」。

  • 如要使用首次啟用 FOCUS 匯出功能時建立的相同不可變更資料集,請重新選取您原先使用的專案和區域設定。
  • 如果您選擇不同的專案或區域設定,系統會為您建立新的不可變更資料集,並將您重新啟用 FOCUS 匯出功能當天的 FOCUS 資料匯出至新資料集。

變更 FOCUS 使用費匯出功能的專案或資料集

如要更新儲存 FOCUS 帳單資料的專案或資料集,請按照下列步驟操作:

  1. 啟用 FOCUS 使用費匯出功能時,系統會為您建立無法變更的資料集,供 FOCUS 使用。如要編輯 FOCUS 匯出設定,請先停用 FOCUS 匯出功能
  2. 接著,選取「啟用 FOCUS 匯出功能」,然後選擇 FOCUS 匯出的專案和位置設定。
  3. 選取「儲存」,確認 FOCUS 匯出設定。

    啟用期間,如果您選取的專案或區域與先前的設定不同,系統會在所選專案中為您建立新的不可變更資料集。

關於資料集權限

將 Cloud Billing 資料匯出至 BigQuery 後,系統會透過服務帳戶管理資料集權限。

啟用 FOCUS 匯出至 BigQuery 功能後,Google 會自動新增服務帳戶,並指派為 Google 提供的不可變更資料集的擁有者。服務帳戶如下所示:

billing-export-bigquery@system.gserviceaccount.com

這個服務帳戶由 Google 擁有及管理,並會提供必要權限,以便在離線程序中建立 FOCUS 資料集和資料表,並寫入 Cloud Billing 記錄。

請參閱限制,瞭解可能影響帳單資料匯出至 BigQuery 的因素。

FOCUS 費用資料表

啟用 FOCUS 用量費用匯出功能後不久,BigQuery 就會在無法變更的 BigQuery 資料集中,建立無法變更的資料集和 FOCUS 資料表。如要進一步瞭解 FOCUS 資料表結構定義,請參閱「FOCUS 資料匯出結構」。

資料載入頻率

首次啟用 FOCUS 用量費用匯出至 BigQuery 功能時,可能需要幾小時,您才會開始看到費用資料 Google Cloud 傳播至 BigQuery 資料集。資料會依時間順序匯出。如果匯出設定包含當月和上個月的追溯資料,匯出資料可能需要最多五天,才能完全趕上目前的用量資料。

進一步瞭解資料載入 BigQuery 資料表的頻率

限制

將 Cloud Billing 資料匯出至 BigQuery 時,會受到下列限制。

Cloud Billing 資料匯出的資料表結構定義

任何 Cloud Billing 資料匯出的資料表結構定義都可能變更。

如果資料表結構定義有所變更 (例如為 Cloud Billing 資料匯出新增 BigQuery 資料表結構定義的欄位),任何直接參照匯出欄位的查詢都可能會失敗。為解決這個問題,建議您建立 BigQuery 檢視區塊,查詢匯出的資料表,並以偏好的結構呈現資訊。

接著,您可以調整提供報表和資訊主頁資料的查詢,從檢視畫面而非匯出的資料表擷取資料。使用檢視區塊,即可將查詢和資訊主頁中使用的資料結構標準化。

您建立的檢視區塊應將資料正規化,讓所有相關資料表都向查詢呈現相同的結構定義。這樣一來,您就不會受到日後結構定義變更的影響,並可在資料結構定義變更時,修改檢視區塊的基礎查詢。

FOCUS 匯出和資料保留

以 Google 提供的 FOCUS 格式匯出至 BigQuery 的帳單資料適用 2 年存留時間 (TTL) 政策,超過 2 年的資料會自動從 BigQuery 資料集提供的 FOCUS 匯出資料表中刪除。如要將 FOCUS 帳單資料記錄保留超過 2 年,請將 FOCUS 資料複製到您擁有的長期儲存資料表。

BigQuery 資料集位置和資料可用性

可搭配 Cloud Billing 資料使用的 BigQuery 資料集位置:

BigQuery 資料集會設定為使用位置,可以是多區域位置 (歐盟或美國),也可以是區域位置。資料集位置是在建立時設定,建立後就無法變更。

Cloud Billing 資料匯出功能支援所有多區域位置 (歐盟或美國),但僅支援部分區域位置。設定 Cloud Billing 匯出設定時,如果建立或選取的資料集設定為使用不支援的區域位置,嘗試儲存匯出設定時,系統會顯示「無效的資料集區域」錯誤。

下表列出支援用於含有 Cloud Billing 資料的 BigQuery 資料集的多區域位置,以及區域位置

美洲 亞太地區 歐洲 中東

多區域:美國

區域

  • northamerica-northeast1 (蒙特婁)
  • southamerica-east1 (聖保羅)
  • us-central1 (愛荷華州)
  • us-east1 (南卡羅來納州)
  • us-east4 (北維吉尼亞州)
  • us-west1 (奧勒岡州)
  • us-west2 (洛杉磯)
  • us-west3 (鹽湖城)
  • us-west4 (拉斯維加斯)

區域

  • asia-east1 (台灣)
  • asia-east2 (香港)
  • asia-northeast1 (東京)
  • asia-northeast2 (大阪)
  • asia-northeast3 (首爾)
  • asia-south1 (孟買)
  • asia-southeast1 (新加坡)
  • asia-southeast2 (雅加達)
  • australia-southeast1 (雪梨)

多區域:歐盟

區域

  • europe-central2 (華沙)
  • europe-north1 (芬蘭)
  • europe-west1 (比利時)
  • europe-west2 (倫敦)
  • europe-west3 (法蘭克福)
  • europe-west4 (荷蘭)
  • europe-west6 (蘇黎世)

區域

  • me-central1 (杜哈)
  • me-central2 (達曼)
  • me-west1 (特拉維夫)

地點和資料可用性:

  • 對於包含 FOCUS 用量費用資料標準用量費用資料詳細用量費用資料BigQuery 資料集,您在資料集上設定的位置類型會影響時間,也就是 Google Cloud 帳單資料 Google Cloud 匯出至資料集的時間:

    • 如果您將資料集設定為使用多區域位置 (歐盟或美國),資料集會包含 Google Cloud 從您首次啟用匯出功能起,上個月初產生的帳單資料,除非您重新啟用匯出功能。也就是說,Google Cloud 系統會追溯新增目前和上個月的帳單資料首次回填匯出資料時,系統可能需要最多五天才能完成追溯匯出 Cloud Billing 資料,之後您才會開始看到目前的用量資料。
    • 如果資料集設定為使用支援的區域位置,則FOCUS 費用資料標準費用資料詳細費用資料只會反映 Google Cloud 您啟用 Cloud Billing 匯出功能當日起的帳單資料。也就是說, Google Cloud 系統不會追溯新增非多區域資料集位置的帳單資料,因此您不會看到啟用匯出功能前的 Cloud Billing 資料。

    • 詳情請參閱「資料可用性」。

  • 包含定價資料BigQuery 資料集只會收集您設定 Cloud Billing 匯出功能當日起的帳單資料。也就是說,Google Cloud 系統不會溯及過往的定價資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 定價資料。詳情請參閱「資料可用性」。 Google Cloud

停用、重新啟用或編輯匯出設定

如果您停用重新啟用編輯匯出設定,更新匯出帳單資料的儲存專案或資料集,系統不會將先前匯出的帳單資料回填至新資料集。如要納入切換至其他專案或資料集前匯出的帳單資訊,請務必手動將新資料集與先前的資料集合併。詳情請參閱彙整作業

資料集加密

BigQuery 資料集設定為使用靜態資料加密,方法是在建立資料集時設定加密金鑰選項,也就是 Google-owned and Google-managed encryption key或客戶自行管理的加密金鑰 (CMEK)。資料集加密選項只能在建立時設定。 資料集建立後,就無法變更加密設定。

如果您已啟用 Cloud Billing 資料匯出至 BigQuery 的功能,且資料集已設定為使用Google-managed encryption key,則可以使用 bq 指令列工具,在資料集中的每個資料表上啟用 CMEK。除非您另行設定,否則 BigQuery 會自動使用資料集預設金鑰保護匯出資料表。

瞭解如何為 BigQuery 資料表啟用 CMEK

資料列層級安全防護機制

如要在包含匯出資料的資料表上使用 BigQuery 資料列層級安全性,請使用 BigQuery TRUE 篩選器,授予 Cloud Billing 匯出服務帳戶 billing-export-bigquery@system.gserviceaccount.com 該資料表的完整存取權。下列指令會授予 Cloud Billing 服務帳戶存取權:

CREATE ROW ACCESS POLICY cloud_billing_export_policy
ON `__project_id__.__dataset_id__.__table_id__`
GRANT TO ('serviceAccount:billing-export-bigquery@system.gserviceaccount.com')
FILTER USING (TRUE);

採用 FOCUS 格式或詳細的費用資料和 GKE

匯出 FOCUS 使用費用資料使用費用詳細資料時,匯出內容會自動納入 Compute Engine 和其他服務的資源層級資訊。不過,如要查看 FOCUS 或詳細資料匯出內容中 GKE 叢集費用的明細,您也必須啟用 GKE 的費用分配功能

資源層級標記

資源層級標記最多可能需要一小時,才會傳播至 BigQuery 匯出作業。如果標記是在一小時內新增或移除,或是資源存在時間未滿一小時,可能不會顯示在匯出檔案中。

標準使用費用匯出詳細使用費用匯出中,有幾項資源提供資源層級標記。