總覽

標籤可讓您將鍵/值中繼資料附加至 Google Cloud資源,以便整理庫存及分類資產。您可以使用這些鍵/值組合篩選資源、追蹤精細的已計費用,以及分析各團隊的使用模式。

什麼是標籤?

標籤是一種鍵/值組合,可指派給 Google Cloud 資源。有助於在大規模環境下整理資源,並依所需精細程度管理成本。每項資源均可加上標籤,並根據標籤篩選資源。標籤相關資訊會轉送到帳單系統,方便依照標籤詳細分析帳單費用。使用內建的帳單報表,可依資源標籤篩選成本並加以分組。

標籤需求條件

套用於資源的標籤必須符合下列需求條件:

  • 每項資源最多可有 64 個標籤。
  • 每個標籤都必須是鍵/值組合。
  • 鍵的長度必須至少為 1 個字元,最多 63 個字元,且不能空白。值可以空白,長度上限為 63 個字元。
  • 鍵和值只能使用小寫字母、數字字元、底線和連字號。所有字元都必須使用 UTF-8 編碼,允許國際字元。鍵的開頭必須是小寫字母或國際字元。
  • 標籤中的鍵部分不得重複,但可讓多個資源使用相同的鍵。

上述限制適用於各個標籤的鍵和值,以及帶有標籤的個別 Google Cloud 資源。但是在每項專案內,所有資源可套用的標籤總數並無上限。

標籤的常見用法

以下是一些常見的標籤用途:

  • 團隊或成本中心標籤:依據團隊或成本中心來新增標籤,藉此區別不同團隊 (例如 team:research 和 team:analytics) 擁有的資源,這類標籤可用於成本會計或預算編列作業。

  • 元件標籤:例如 component:redis、component:frontend、component:ingest 和 component:dashboard。

  • 環境或階段標籤:例如 environment:production 和 environment:test。

  • 狀態標籤:例如 state:active、state:readytodelete 和 state:archive。

  • 擁有權標籤:用於識別各項作業的責任團隊,例如:team:shopping-cart。

  • 網路標籤:標籤可以附加至虛擬機器。您過去定義的網路標記會顯示為沒有值的標籤。

我們不建議建立大量的不重複標籤,例如幫時間戳記或每個 API 呼叫的個別值建立標籤。這種做法的問題在於,如果標籤值頻繁變更,或標籤鍵使目錄變得雜亂,就難以有效篩選資源並製作報表。

標籤和標記

標籤是一種註解,可用於查詢資源,但無法設定政策條件。標記則可作為判斷條件:系統可依據資源是否具備特定標記,允許或拒絕相應的政策,進而實現精細的政策控管。詳情請參閱「標記總覽」。

權限

如要新增、修改及查看專案標籤,必須具備下列權限:

  • 您可以呼叫 projects.patch() 方法,新增或修改標籤。這項操作需要 resourcemanager.projects.update 權限。
  • 您可以呼叫 projects.get() 方法,查看專案的標籤。這項操作需要 resourcemanager.projects.get 權限。

使用標籤瞭解費用

您可以為資源加上標籤,並根據標籤篩選資源。標籤相關資訊會轉送到結帳系統,方便您依標籤查看帳單費用明細。

以下列舉幾種使用標籤瞭解費用的方式:

  • 您可以為 VM 或 Cloud Storage bucket 新增 costcenter=cost_center_name、service=service_name 和 environment=environment_name 等標籤。這有助於瞭解資源的部署位置、用途,以及應向哪個成本中心收費。
  • 您可以啟用帳單資料匯出至 BigQuery 的功能。標籤會與對應的 Google Cloud 資源及其用量一併匯出至 BigQuery。這樣一來,您就能監控各個層面,例如在應用程式中執行購物車服務的費用,或開發人員測試機器的費用。
  • 您可以搭配使用 BigQuery 和標籤,瞭解所有測試系統資源與正式環境資源的成本,或特定服務的成本。

範例

在這個範例中,專案的 playlist 服務費用是透過將用量和標籤匯出至 BigQuery 來決定。如要這麼做,請先啟用將帳單資料匯出至 BigQuery 的功能。labels-demo-prj 是資源用量的來源,labels_demo_bqexport 則是儲存用量資料的目的地資料集。將用量和標籤匯出至 BigQuery 後,您就能判斷 playlist 服務費用。

以下是 Compute Engine 的使用情形詳細資料,以及 BigQuery 中的相關費用。