您可以重新佈建觀測 bucket,以符合資料落地和加密法規要求。重新佈建後,_Trace bucket 的儲存位置和加密設定會與觀測能力 bucket 的預設設定相符。
如要重新佈建 bucket,請先調整預設設定,然後呼叫重新佈建方法。重新佈建作業可以執行下列任一操作:
- 將 Cloud Key Management Service 金鑰追溯套用至觀測能力 bucket,而不變更其儲存位置。
- 變更觀測能力 bucket 的儲存位置,並使用 Google 預設加密。
- 變更觀測能力 bucket 的儲存位置,並使用 Cloud KMS 金鑰加密儲存的資料。
如要變更觀測能力 bucket 的顯示名稱、說明或 Cloud KMS 金鑰,請勿重新佈建 bucket,在這種情況下,請更新觀測能力 bucket。
重新佈建的運作方式
啟動重新佈建作業時,系統會執行下列步驟:
系統會判斷觀測能力值區是否符合重新佈建的資格。如果可觀測性值區通過下列所有檢查,即符合資格:
- 觀測能力 bucket 名為
_Trace。 - bucket 尚未重新佈建。
- 找到觀測能力 bucket 的預設設定。
- 如要與預設設定保持一致,請變更觀測能力 bucket 的位置,或將加密方式從 Google 預設加密機制變更為 CMEK。
- 觀測能力 bucket 名為
系統會更新 bucket 設定。這項程序需要四到五小時。
限制
限制如下:
系統允許每個觀測能力值區最多執行一次重新佈建作業。後續要求會失敗,並顯示
FAILED_PRECONDITION錯誤。您只能重新佈建名為
_Trace的 bucket。您無法存取在重新佈建前儲存的任何資料。這項資料已刪除,無法復原。
如果 bucket 的位置變更,連結和連結的 BigQuery 資料集就會刪除。您必須重新建立所有連結。
如果 bucket 的位置有所變更,您必須手動更新現有的分析檢視表。
您無法取消或復原重新佈建作業。系統會忽略取消作業的嘗試。
重新佈建作業期間的查詢行為未定義。
稽核
如要判斷觀測能力 bucket 的重新佈建記錄,可以使用稽核記錄。管理員活動記錄會記錄提出重新佈建要求的使用者、受影響的可觀測性 bucket,以及初始回應。
如要找出這些記錄,請在 Logs Explorer 中套用下列篩選器:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND
resource.type="audited_resource" AND
resource.labels.service="observability.googleapis.com" AND
resource.labels.method="google.cloud.observability.v1.Observability.ReprovisionBucket"
以下部分範例顯示管理員活動稽核記錄:
{
"logName": "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "PROJECT_ID",
"service": "observability.googleapis.com",
"method": "google.cloud.observability.v1.Observability.ReprovisionBucket"
}
},
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 0,
"message": "OK"
},
...
"serviceName": "observability.googleapis.com",
"methodName": "google.cloud.observability.v1.Observability.ReprovisionBucket",
"authorizationInfo": [...]
"resourceName": "projects/PROJECT_ID/locations/us/buckets/_Trace",
"request": {
"@type": "type.googleapis.com/google.cloud.observability.v1.ReprovisionBucketRequest",
"name": "projects/PROJECT_ID/locations/us/buckets/_Trace"
},
"response": {
"@type": "type.googleapis.com/google.longrunning.Operation",
"name": "projects/PROJECT_ID/locations/us/operations/reprovision-123456789-0",
"done": false,
"metadata": {
"@type": "type.googleapis.com/google.cloud.observability.v1.OperationMetadata",
"target": "projects/PROJECT_ID/locations/us/buckets/_Trace",
"verb": "reprovision",
"apiVersion": "v1"
}
}
},
"severity": "NOTICE",
"timestamp": "2026-06-30T16:54:02.123456Z"
}
事前準備
- 查看限制。
-
如要取得重新佈建觀測能力 bucket 所需的權限,請要求管理員在託管觀測能力 bucket 的專案中,授予您觀測能力編輯者 (
roles/observability.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。可觀測性編輯者角色具備建立及刪除可觀測性 bucket、可觀測性資料集和資料集連結的權限。您需要這些權限,因為重新佈建作業會同時發出建立和刪除指令。
重新佈建觀測能力 bucket
如要重新佈建觀測能力值區,請按照下列步驟操作:
設定觀測能力 bucket 的預設設定
設定預設儲存位置,並視需要設定預設 Cloud KMS 金鑰。您可以在專案、資料夾或組織層級設定這些政策。舉例來說,如果您為資料夾設定預設設定,則該資料夾的子系會使用這些設定,除非子系也設定了預設設定。
如要進一步瞭解如何查看及調整預設設定,請參閱「設定觀測能力 bucket 的預設值」。
重新佈建 bucket
使用指令碼以非同步方式發出重新佈建要求,並輪詢以判斷重新佈建作業何時完成。如要重新佈建觀測能力 bucket,請使用 projects.locations.buckets.reprovision 方法。
您必須指定觀測能力 bucket 的名稱,格式如下:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
上述運算式中的欄位具有下列意義:
- PROJECT_ID:專案 ID。
- LOCATION:觀測能力 bucket 的位置。
- BUCKET_ID:觀測能力值區的 ID。這個 ID 必須是
_Trace。
回應為 Operation 物件。Operation.done 欄位會提供進度資訊:
done為false:作業正在進行中。如要瞭解如何輪詢作業,請參閱「監控進度」。done為true:作業已完成,且已設定error或response欄位:response已設定:表示非同步作業已成功完成。這個值反映了觀測能力 bucket 的最新狀態,該 bucket 是重新佈建的目標。error已設定:表示非同步作業失敗。這個欄位的值是Status物件,其中包含 gRPC 錯誤代碼和錯誤訊息。如要瞭解常見的錯誤訊息,請參閱「錯誤訊息」一文。
重新佈建通常需要四到五小時才能完成。
監控進度
Operation 物件包含進度資訊。輪詢作業,直到 Operation.done 欄位的值為 true。接著,您可以使用 Operation.response 和 Operation.error 欄位,判斷重新佈建是否成功。
如要輪詢 Operation,請使用 folders.locations.operations.get 方法。
將路徑參數設為作業名稱:
operations/UNIQUE_ID
UNIQUE_ID 欄位是作業的專屬 ID。
回應是更新後的 Operation 物件。
如果應用程式在輪詢時收到 HTTP 503 / UNAVAILABLE 回應,請實作指數輪詢並重試要求。這項錯誤表示要求在傳輸或網路層失敗。
手動建立連結及更新 Analytics 分析檢視表
重新佈建作業完成後,請重新建立所有連結並更新分析檢視表。
例如,您可以執行下列操作:
列出觀測能力資料集的連結。在某些情況下,重新佈建作業會保留連結。如要瞭解這個步驟,請參閱「列出資料集的連結」。
重新建立連結的 BigQuery 資料集。如要瞭解這個步驟,請參閱「建立資料集連結」。
查看分析檢視表,並視需要更新可觀測性 bucket 的路徑。
錯誤訊息
本節列出常見的錯誤代碼,以及適用的復原動作。
FAILED_PRECONDITION
FAILED_PRECONDITION 錯誤訊息表示觀測能力 bucket 不符合重新佈建的資格。
錯誤訊息範例:
{
"error":{
"code": 400,
"message": "Only _Trace buckets can be reprovisioned.",
"status": "FAILED_PRECONDITION",
"details": [ ... ]
}
}
您無法採取任何行動,讓觀測能力 bucket 符合重新佈建的資格。
INVALID_ARGUMENT
INVALID_ARGUMENT 錯誤訊息表示觀測能力 bucket 的位置和 CMEK 設定與觀測能力 bucket 的預設設定一致。
如要解決這項失敗問題,請更新專案、資料夾或組織的可觀測性 bucket 預設設定,然後重新佈建可觀測性 bucket。
PERMISSION_DENIED
PERMISSION_DENIED 錯誤訊息表示您不具備重新佈建觀測能力 bucket 所需的 IAM 角色。
如要解決這項問題,請要求管理員授予本文件「事前準備」一節列出的 IAM 角色。
疑難排解
本節說明如何解決常見問題,並回答重新佈建觀測能力 bucket 後可能出現的問題。
如何得知 bucket 是否已重新佈建?
查詢稽核記錄,並依記錄名稱、服務和方法篩選記錄項目。詳情請參閱本文的「稽核」一節。
為什麼我的專案列出兩個追蹤記錄資料 bucket?
重新佈建 _Trace 觀測能力 bucket 時,系統可能需要建立新的 bucket。如果設為 true,在重新佈建作業期間,專案會包含兩個名為 _Trace 的觀測能力 bucket。
如果您列出專案中的觀測能力 bucket,結果會顯示這兩個 bucket。
如果您使用 Observability Analytics 查詢追蹤記錄資料,則兩個 bucket 都有
_AllSpans檢視表。
您不需要採取任何行動。
如果系統在重新佈建作業中建立了觀測能力 bucket,則在該作業成功完成後,系統會刪除該作業指定的 bucket。如果重新佈建作業失敗,系統會刪除新的 bucket。
為什麼重新佈建後,查詢的資料會不同?
重新佈建作業會刪除作業啟動前儲存的所有資料。這類資料無法復原。
為什麼重新佈建後,Trace Explorer 沒有顯示任何資料?
Trace Explorer 會使用快取來提升效能。快取會與查詢的可觀測性 bucket 連結,重要的是,如果查詢時該 bucket 無法使用,查詢就會失敗。
在重新佈建作業期間, Google Cloud 專案可能會包含兩個名為 _Trace 的觀測能力 bucket。此外,當該作業完成時,其中一個 bucket 會遭到刪除。在這種情況下,Trace Explorer 使用的快取可能會繫結至已不存在的 bucket。
快取逾時後,這項失敗會自行更正,這需要約 10 分鐘。
為什麼無法重新佈建觀測能力 bucket?
如果重新佈建作業失敗,並顯示 FAILED_PRECONDITION 狀態,表示目標觀測能力 bucket 不符合重新佈建資格。以下列出 bucket 不符合重新佈建資格的部分原因:
- 觀測能力 bucket 的名稱不是
_Trace。 - 觀測能力 bucket 的重新佈建次數超過一次。您可以查詢稽核記錄,判斷 bucket 是否已重新佈建。
- 找不到觀測能力 bucket 的預設設定。如要解決這項錯誤,請設定觀測能力 bucket 的預設設定,然後重試指令。
- 觀測能力 bucket 的設定與預設設定一致。也就是說,重新佈建作業不會變更觀測能力 bucket 的設定。
- 為符合預設設定,系統必須將 CMEK 替換為 Google 代管的加密金鑰。不支援這項操作。