本文提供所有必要步驟,協助您設定將 FOCUS 使用費用 Cloud Billing 資料匯出至 BigQuery。FOCUS 使用費用匯出是不可變更的 BigQuery 資料集 (連結資料集),內含詳細使用費用資料,並已按照 FinOps 開放成本與使用規格 (FOCUS) 標準正規化。
如要啟用將 FOCUS 使用費 Cloud Billing 資料匯出至 BigQuery 的功能,請按照下列步驟操作:
- 建立專案來儲存匯出的 Cloud Billing 資料,並啟用專案的計費功能 (如果尚未啟用)。
- 設定專案和 Cloud Billing 帳戶的權限。
- 啟用 FOCUS 使用費帳單匯出功能。
本文將詳細說明各個步驟。
採用 FOCUS 匯出格式的 BigQuery 使用費
使用 BigQuery 儲存及分析帳單用量和費用資料時,會產生 BigQuery 使用費。BigQuery 的主要費用包括儲存空間 (用於儲存在 BigQuery 中的資料) 和運算 (用於查詢處理)。
FOCUS 帳單資料匯出功能是由 Google 管理,且資料不可變更 (使用連結的資料集),因此您不需支付 FOCUS 資料的儲存費用。不過,查詢 FOCUS 資料時會產生費用。詳情請參閱「BigQuery 使用費用」。
關於 Google Cloud 控制台
Google Cloud 控制台 (查看說明文件、開啟控制台) 是網頁 UI,可用於佈建、設定、管理及監控使用Google Cloud 產品的系統。您可以使用 Google Cloud 控制台設定及管理 Google Cloud 和 Cloud Billing 資源。
這項工作需要的權限
如要啟用及設定 Google Cloud 帳單使用費資料的 FOCUS 匯出功能,您必須具備下列權限:
- 如為 Cloud Billing,您必須具備目標 Cloud Billing 帳戶的帳單帳戶費用管理員角色或帳單帳戶管理員角色。
- 如要建立及存取用於 FOCUS 匯出的連結 BigQuery 資料集,您必須在包含 FOCUS BigQuery 資料集的 Google Cloud 專案中,具備專案 IAM 管理員角色和 BigQuery 管理員角色。
您可能也需要其他專案權限。如果您是Google Cloud 機構的成員,則須具備該機構或資料夾的專案建立者角色,才能建立新的專案。具體來說,如要建立新專案,您需要下列權限:
resourcemanager.organizations.getresourcemanager.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 資料集的資料。 Google Cloud
- 瞭解如何確認專案已啟用計費功能
- 瞭解如何查看連結至 Cloud Billing 帳戶的專案
3. 啟用將 FOCUS 使用費用資料匯出至 BigQuery 的功能
您可以在Google Cloud 控制台的「Billing」(帳單) 專區啟用 Cloud Billing 資料匯出功能。
FOCUS 使用費用匯出會使用 Google 提供的不可變更 BigQuery 資料集,其中包含使用 FinOps 開放成本與使用規格 (FOCUS) 標準正規化的詳細使用費用資料。FOCUS 是一項開放規格,明確定義技術帳單資料產生器的要求,以產生一致的成本和用量資料集。FOCUS 匯出作業中的資料欄通常會對應至詳細用量費用匯出作業中的欄位。
如要啟用將 Cloud Billing 資料匯出至 FOCUS BigQuery 資料集的功能,請按照下列步驟操作:
前往 Google Cloud 控制台的「Billing export」(帳單匯出) 頁面。
在系統提示時,選擇要匯出帳單資料的 Cloud Billing 帳戶。系統會開啟所選帳單帳戶的「Billing export」(帳單匯出) 頁面。
在「BigQuery export」分頁中,按一下「Enable FOCUS export」(啟用 FOCUS 匯出功能),設定 FOCUS 匯出功能。
從「Projects」(專案) 清單中,選取您設定要包含 BigQuery 資料集的專案。
在 BigQuery 中,您選取的專案會用於將匯出的資料,儲存在 Google 提供的不可變 FOCUS 資料集。
如果是 FOCUS 使用費匯出作業,Cloud Billing 資料會包含由同一個 Cloud Billing 帳戶支付費用的所有Google Cloud 專案用量和費用資料。
必須啟用 BigQuery API,才能將資料匯出至 BigQuery。如果所選專案未啟用 BigQuery API,系統會提示您啟用。視需要點選「啟用 BigQuery API」來啟用 API。
選取 FOCUS 資料集的資料位置。資料位置會指定資料儲存的多區域或區域。資料集內的所有資料表都會儲存於這個位置。
- 選取「Location Type」(位置類型),可選擇「Multi-region」(多區域) (建議) 或「Region」(區域)。
選擇指定位置類型的位置。
建議您為 FOCUS 使用費匯出作業 (以及標準使用費和詳細使用費資料匯出作業),選取多區域位置 (歐盟或美國)。Cloud Billing 匯出功能支援所有多區域位置 (歐盟或美國)。不過,Cloud Billing 匯出至 BigQuery 的功能僅支援資料集區域位置的子集。
您選取的位置可能會影響上個月的資料是否會溯及既往地新增至資料集。請參閱限制,進一步瞭解資料集位置和資料可用性。
資料集建立後,即無法變更位置。進一步瞭解位置。
按一下「儲存」。
FOCUS 資料集和資料表
啟用 FOCUS 使用費匯出功能後,BigQuery Export 會根據您的 FOCUS 匯出設定,在新的資料集中建立資料集和資料表,並填入帳單資料:
系統會在您啟用 FOCUS 匯出功能時指定的 Google Cloud 專案中,建立無法變更的資料集,命名模式如下:
gcp_billing_immutable_<BILLING_ACCOUNT_ID>_<Location>資料集名稱由三個部分組成:
gcp_billing_immutable:FOCUS 匯出作業的資料集名稱。Billing_account_ID:已啟用 FOCUS 匯出功能的 Cloud Billing 帳戶 ID。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 使用費匯出功能
如要停用匯出至 BigQuery 的 Cloud Billing 資料類型,請按照下列步驟操作:
- 選取「停用 FOCUS 匯出功能」。
- 選取「確認」即可儲存所選項目。
如果日後重新啟用 FOCUS 使用費匯出功能,則須重新選取相同的專案和位置資訊設定,才能使用首次啟用 FOCUS 匯出功能時建立的相同不可變資料集。如果 FOCUS 匯出功能停用期間有資料未匯出,我們不支援補回這些資料。
重新啟用 FOCUS 使用費匯出功能
如要重新啟用先前停用的 FOCUS 匯出功能,請參閱「啟用將 Cloud Billing 資料匯出至 BigQuery 的功能」。
- 如要使用首次啟用 FOCUS 匯出功能時建立的相同不可變資料集,請重新選取原先使用的專案和區域設定。
- 如果選擇其他專案或區域設定,系統會建立新的不可變資料集,並將 FOCUS 資料匯出至新資料集,匯出日期為重新啟用 FOCUS 匯出功能的日期。
變更 FOCUS 使用費匯出作業的專案或資料集
如要更新儲存 FOCUS 帳單資料的專案或資料集,請按照下列步驟操作:
- 啟用 FOCUS 使用費匯出功能時,FOCUS 會使用為您建立的不可變資料集。如要編輯 FOCUS 匯出設定,請先停用 FOCUS 匯出功能。
- 接著,選取「Enable FOCUS export」(啟用 FOCUS 匯出功能),並選擇 FOCUS 匯出作業的 專案和位置資訊設定。
選取「儲存」,確認 FOCUS 匯出作業的設定。
在啟用過程中,如果您選取的專案或區域與先前設定不同,系統會在所選專案中建立新的不可變資料集。
關於資料集權限
將 Cloud Billing 資料匯出至 BigQuery 後,系統會透過服務帳戶管理資料集權限。
啟用將 FOCUS 資料匯出至 BigQuery 的功能後,Google 會自動新增服務帳戶,並指派為 Google 提供的不可變資料集擁有者。服務帳戶應如下所示:
billing-export-bigquery@
這個服務帳戶由 Google 擁有及管理,並會提供必要權限,以便在離線程序中建立 FOCUS 資料集和資料表,並寫入 Cloud Billing 記錄。
請參閱限制,瞭解可能影響將帳單資料匯出至 BigQuery 的因素。
FOCUS 費用資料表
啟用 FOCUS 使用費用匯出功能後,BigQuery 很快就會建立不可變更的資料集,並在其中建立 FOCUS 資料表。如要進一步瞭解 FOCUS 資料表結構定義,請參閱「FOCUS 資料匯出結構」。
資料載入頻率
首次啟用 FOCUS 用量費用匯出至 BigQuery 的功能時,可能需要幾小時, Google Cloud 費用資料才會開始傳播至 BigQuery 資料集。資料會依時間順序匯出。如果匯出作業設定為追溯包含當月和上個月的資料,匯出的資料最多可能需要五天,才能完全反映目前的用量資料。
限制
將 Cloud Billing 資料匯出至 BigQuery 時,須遵守下列限制。
Cloud Billing 資料匯出的資料表結構定義
任何 Cloud Billing 資料匯出作業的資料表結構定義都可能變更。
資料表結構定義變更時 (例如 Cloud Billing 資料匯出的 BigQuery 資料表結構定義新增欄位),任何直接參照匯出資料欄的查詢都可能失敗。為解決這個問題,建議您建立 BigQuery 檢視表,查詢匯出的資料表,並以您偏好的結構呈現資訊。
接著,您可以調整為報表和資訊主頁提供資料的查詢,從檢視表 (而非匯出的資料表) 提取資料。使用檢視表,即可標準化查詢和資訊主頁中使用的資料結構。
您建立的檢視表應將資料正規化,讓所有相關資料表向查詢呈現相同的結構定義。這樣一來,您就不必擔心日後結構定義變更,可在資料結構定義變更時修改檢視表的基礎查詢。
FOCUS 匯出和資料保留
以 Google 提供的 FOCUS 格式匯出至 BigQuery 的帳單資料,適用 2 年存留時間 (TTL) 政策,超過兩年的資料會自動從 BigQuery 資料集中的指定 FOCUS 匯出資料表刪除。如要保留 FOCUS 帳單資料記錄超過兩年,請將 FOCUS 資料複製到您擁有的長期儲存資料表。
BigQuery 資料集位置和資料可用性
支援與 Cloud Billing 資料搭配使用的 BigQuery 資料集位置:
BigQuery 資料集會設定為使用位置,可以是多區域位置 (歐盟或美國),也可以是區域位置。資料集位置是在建立時設定,資料集建立後,位置即無法變更。
Cloud Billing 資料匯出功能支援所有多區域位置 (歐盟或美國),但僅支援部分區域位置。設定 Cloud Billing 匯出作業時,如果您建立或選取的資料集設為使用不支援的區域位置,嘗試儲存匯出設定時,就會看到「Invalid dataset region」(資料集區域無效) 錯誤。
下表列出多區域位置和區域位置,這些位置支援含有 Cloud Billing 資料的 BigQuery 資料集。
| 美洲 | 亞太地區 | 歐洲 | 中東 |
|---|---|---|---|
|
多區域:美國 區域:
|
區域:
|
多區域:歐盟 區域:
|
區域:
|
位置和資料可用性:
如果 BigQuery 資料集含有 FOCUS 使用費用資料、標準使用費用資料或詳細使用費用資料,您在資料集設定的位置類型會影響 Google Cloud 帳單資料匯出至資料集的時間:
- 如果您將資料集設為使用多區域位置 (歐盟或美國),資料集會包含 Google Cloud 帳單資料,這些資料是從您「首次啟用」匯出功能的前一個月開始產生,除非您重新啟用匯出功能。也就是說,系統會追溯新增當月和前一個月的Google Cloud 帳單資料。匯出資料的初始回填作業,可能需要最多五天才能完成追溯 Cloud Billing 資料的匯出,之後您才會看到目前的使用資料。
如果資料集設為使用支援的區域位置,則 FOCUS 使用費用資料、標準使用費用資料和詳細使用費用資料只會反映 Google Cloud 啟用 Cloud Billing 匯出功能當天及之後產生的帳單資料。也就是說,系統不會溯及過往,為非多區域資料集位置新增帳單資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 資料。 Google Cloud
詳情請參閱「資料可用性」。
包含定價資料的 BigQuery 資料集,只會收集您設定 Cloud Billing 匯出功能當天及之後產生的 Google Cloud 帳單資料。也就是說,Google Cloud 系統不會溯及過往的定價資料,因此您不會看到啟用匯出功能之前的 Cloud Billing 定價資料。詳情請參閱「資料可用性」。
停用、重新啟用或編輯匯出設定
如果您停用、重新啟用或編輯匯出設定,更新儲存匯出帳單資料的專案或資料集,先前匯出的帳單資料不會回填至新的資料集。如要納入切換至其他專案或資料集前匯出的帳單資訊,您必須手動將新資料集與先前的資料集合併。詳情請參閱「彙整作業」。
資料集加密
建立BigQuery 資料集時,您可以設定加密金鑰選項 ( Google-owned and Google-managed encryption key或客戶自行管理的加密金鑰 (CMEK)),將資料集設為使用靜態資料加密。建立資料集後,您可以編輯加密設定。
如果您已啟用將 Cloud Billing 資料匯出至 BigQuery 的功能,且資料集已設為使用Google-managed encryption key,則可更新資料集和資料表,改用 CMEK。如要更新資料集和資料表,請完成下列步驟:
- 在資料集上設定資料集預設金鑰。設定預設金鑰後,資料集中建立的任何「新」資料表都會自動受到 CMEK 保護。
- 使用
bq指令列工具,在資料集中的每個現有資料表上啟用 CMEK。變更資料集預設金鑰不會自動重新加密現有資料表。
CMEK 組織政策
您可以使用 CMEK 組織政策,強制對 BigQuery 資源 (包括帳單匯出) 使用 CMEK,或要求 CMEK 位於核准的專案中。不過,強制執行 CMEK 組織政策可能會產生下列非預期影響:
匯出程序可能無法匯出先前存在的資料集:啟用新的組織政策限制時,該限制不會套用至現有資料集。這表示即使資料集已不再允許存在,仍可能存在。不過,下次嘗試匯出至該資料集時,如果因新強制執行的組織政策而無法建立新資料表,匯出程序就會失敗。
為避免這種情況,請在更新組織政策時,主動檢查現有的帳單匯出設定,並視需要更新資料集設定,以符合
restrictNonCmekServices和restrictCmekCryptoKeyProjects限制。組織政策執行不一致:建立空白資料集時,系統不會強制執行組織政策。這表示您可以強制執行
restrictNonCmekServices限制,要求 BigQuery 資源使用 CMEK 進行加密,但隨後成功建立設定為使用 Google-owned and Google-managed encryption keys的 BigQuery 資料集。不過,使用該資料集的帳單匯出作業會失敗,因為組織政策不允許您在 BigQuery 強制執行restrictNonCmekServices限制時,建立非 CMEK 保護的資料表。如要解決這個問題,請更新資料集加密設定,設定符合
restrictNonCmekServices和restrictCmekCryptoKeyProjects限制的資料集預設金鑰。
資料列層級安全性
如要對含有匯出資料的資料表使用 BigQuery 資料列層級安全性,您必須使用 BigQuery TRUE 篩選器,授予 Cloud Billing 匯出服務帳戶 billing-export-bigquery@ 對資料表的完整存取權。下列指令會授予 Cloud Billing 服務帳戶存取權:
CREATE ROW ACCESS POLICY cloud_billing_export_policy
ON `__project_id__.__dataset_id__.__table_id__`
GRANT TO ('serviceAccount:billing-export-bigquery@')
FILTER USING (TRUE);
FOCUS 或詳細使用費資料和 GKE
匯出 FOCUS 用量費用資料或詳細用量費用資料時,匯出作業會自動納入 Compute Engine 和其他服務的資源層級資訊。不過,如要查看 FOCUS 或詳細資料匯出作業中的 Google Kubernetes Engine (GKE) 叢集費用明細,您也必須啟用 GKE 費用分配功能。
資源層級標記
資源層級標記最多可能需要一小時,才會套用至 BigQuery Export。如果標記是在一小時內新增或移除,或者資源存在時間不到一小時,則可能不會顯示在匯出內容中。
標準用量費用匯出和詳細用量費用匯出中的多項資源,都可使用資源層級標記。