標籤是鍵/值組合,可用於 Google Cloud ,用來將相關或關聯的資源分組。舉例來說,在 Compute Engine 中,您可以使用標籤將 VM 分組為正式版、準備版或開發版等類別,以便搜尋屬於各開發階段的資源。
為資源加上標籤後,您即可運用巢狀篩選功能,對使用標籤的資源執行更精確的搜尋。
事前準備
- 參閱永久磁碟說明文件。
- 參閱映像檔說明文件。
-
如果尚未設定,請先設定驗證機制。「驗證」是指驗證身分,以便存取 Google Cloud 服務和 API 的程序。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,以便對 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- 每項資源最多可有 64 個標籤。
- 每個標籤都必須是鍵/值組合。
- 鍵的長度必須至少為 1 個字元,最多 63 個字元,且不能空白。值可以空白,長度上限為 63 個字元。
- 鍵和值只能使用小寫字母、數字字元、底線和連字號。所有字元都必須使用 UTF-8 編碼,且可使用國際字元。鍵的開頭必須是小寫字母或國際字元。
- 標籤中的鍵部分不得重複。但可讓多個資源使用相同的鍵。
團隊或成本中心標籤:依據團隊或成本中心來新增標籤,以區別不同團隊 (例如
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
。- 虛擬機器標籤:可附加至虛擬機器的標籤。您過去定義的虛擬機器標籤會顯示為沒有值的標籤。
- 虛擬機器 (VM) 執行個體
- 圖片
- 永久磁碟
- 永久磁碟快照
- Cloud Storage 值區
- 網路資源:
前往要建立的資源頁面。
- 如為 VM 執行個體,請前往「Create an instance」(建立執行個體)。
- 如為磁碟,請參閱「建立磁碟」一文。
- 如為快照,請參閱「建立快照」一文。
- 如為圖片,請參閱「建立圖片」一文。
按一下「標籤」下方的「新增標籤」
。繼續建立資源。
- 針對 VM 執行個體,請使用
gcloud compute instances create
指令。 - 如要查看快照,請使用
gcloud compute disks snapshot
指令。 - 如要處理圖片,請使用
gcloud compute images create
指令。 - 如需磁碟資訊,請使用
gcloud compute disks create
指令。 - 如為 VM 執行個體,請使用
instances.insert()
方法。 - 如果是快照,請使用
disks.createSnapshot()
方法。 - 如要處理圖片,請使用
images.insert()
方法。 - 如為磁碟,請使用
disks.insert()
方法。 - 針對 VM 執行個體,請使用
gcloud compute instances update
指令。 - 如要為快照加上標記,請使用
gcloud compute snapshots update
指令。 - 如要處理圖片,請使用
gcloud compute images update
指令。 - 如需磁碟資訊,請使用
gcloud compute disks update
指令。 - 如要使用轉送規則,請使用
gcloud compute forwarding-rules update
指令。 - 如要使用靜態外部 IP 位址,請使用
gcloud beta compute addresses update
指令。 - 針對 VPN 通道,請使用
gcloud beta compute vpn-tunnels update
指令。 - 如為 VM 執行個體,請使用
instances.setLabels()
方法。 - 如果是快照,請使用
snapshots.setLabels()
方法。 - 如要處理圖片,請使用
images.setLabels()
方法。 - 如為磁碟,請使用
disks.setLabels()
方法。 - 如要使用轉送規則,請使用
forwardingRules.setLabels()
方法。 - 如需地區性靜態外部 IP 位址,請使用 Beta 版
addresses.setLabels()
方法。 - 如要使用全球靜態外部 IP 位址,請使用 Beta 版
globalAddresses.setLabels()
方法。 - 針對 VPN 通道,請使用 Beta 版
vpnTunnels.setLabels()
方法。 - 針對 VM 執行個體,請使用
gcloud compute instances describe
指令。 - 如要為快照加上標記,請使用
gcloud compute snapshots describe
指令。 - 如要處理圖片,請使用
gcloud compute images describe
指令。 - 如需磁碟資訊,請使用
gcloud compute disks describe
指令。 - 如要使用轉送規則,請使用
gcloud compute forwarding-rules describe
指令。 - 如要使用靜態外部 IP 位址,請使用
gcloud beta compute addresses describe
指令。 - 針對 VPN 通道,請使用
gcloud beta compute vpn-gateways describe
指令。 - 如為 VM 執行個體,請使用
instances.get()
方法。 - 如果是快照,請使用
snapshots.get()
方法。 - 如要處理圖片,請使用
images.get()
方法。 - 如為磁碟,請使用
disks.get()
方法。 - 如要使用轉送規則,請使用
forwardingRules.get()
方法。 - 如需地區性靜態外部 IP 位址,請使用Beta 版
addresses.get()
方法。 - 如要使用全球靜態外部 IP 位址,請使用Beta 版
globalAddresses.get()
方法。 - 如要使用 VPN 通道,請使用 Beta 版
vpnTunnels.get()
方法。 - PROJECT_ID:專案 ID
- ZONE:VM 的可用區
- VM_NAME:VM 名稱
- 如為 VM 執行個體,請使用
instances.get()
方法。 - 如果是快照,請使用
snapshots.get()
方法。 - 如要處理圖片,請使用
images.get()
方法。 - 如為磁碟,請使用
disks.get()
方法。 - 如要使用轉送規則,請使用
forwardingRules.get()
方法。 - 如需地區性靜態外部 IP 位址,請使用Beta 版
addresses.get()
方法。 - 如要使用全球靜態外部 IP 位址,請使用Beta 版
globalAddresses.get()
方法。 - 針對 VPN 通道,請使用 Beta 版
vpnTunnels.get()
方法。 - 針對 VM 執行個體,請使用
gcloud compute instances update
指令。 - 如要為快照加上標記,請使用
gcloud compute snapshots update
指令。 - 如要處理圖片,請使用
gcloud compute images update
指令。 - 如需磁碟資訊,請使用
gcloud compute disks update
指令。 - 如要使用轉送規則,請使用
gcloud compute forwarding-rules update
指令。 - 如要使用靜態外部 IP 位址,請使用
gcloud beta compute addresses update
指令。 - 針對 VPN 通道,請使用
gcloud beta compute vpn-tunnels update
指令。 - 如為 VM 執行個體,請使用
instances.setLabels()
方法。 - 如果是快照,請使用
snapshots.setLabels()
方法。 - 如要處理圖片,請使用
images.setLabels()
方法。 - 如為磁碟,請使用
disks.setLabels()
方法。 - 如要使用轉送規則,請使用
forwardingRules.setLabels()
方法。 - 如需地區性靜態外部 IP 位址,請使用Beta 版
addresses.setLabels()
方法。 - 如要使用全球靜態外部 IP 位址,請使用Beta 版
globalAddresses.setLabels()
方法。 - 針對 VPN 通道,請使用 Beta 版
vpnTunnels.setLabels()
方法。 - 針對 VM 執行個體,請使用
gcloud compute instances list
指令。 - 如要為快照加上標記,請使用
gcloud compute snapshots list
指令。 - 如要處理圖片,請使用
gcloud compute images list
指令。 - 如需磁碟資訊,請使用
gcloud compute disks list
指令。 - 如要使用轉送規則,請使用
gcloud compute forwarding-rules list
指令。 - 如要使用靜態外部 IP 位址,請使用
gcloud beta compute addresses list
指令。 - 針對 VPN 通道,請使用
gcloud beta compute vpn-tunnels list
指令。 - 如為 VM 執行個體,請使用
instances.list()
方法。 - 如果是快照,請使用
snapshots.list()
方法。 - 如要處理圖片,請使用
images.list()
方法。 - 如為磁碟,請使用
disks.list()
方法。 - 如要使用轉送規則,請使用
forwardingRules.list()
方法。 - 如需地區性靜態外部 IP 位址,請使用Beta 版
addresses.list()
方法。 - 如要使用全球靜態外部 IP 位址,請使用Beta 版
globalAddresses.list()
方法。 - 針對 VPN 通道,請使用 Beta 版
vpnTunnels.list()
方法。 - 瞭解如何比較標記和網路標記。
- 瞭解如何管理 Compute Engine 資源的標記。
- 請參閱
filter
查詢參數,瞭解篩選功能。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「驗證以使用 REST」。
什麼是標籤?
標籤是鍵/值組合,可指派給 Google Cloud 執行個體。這些標籤可協助您整理這些資源,並以所需精細度大規模管理費用。您可以為每項資源加上標籤,並根據標籤篩選資源。標籤的相關資訊會轉送至帳單系統,方便您依據標籤查看帳單費用明細。您可以使用內建的帳單報表,依資源標籤篩選及分組費用。您也可以使用標籤查詢帳單資料匯出內容。
標籤需求
套用於資源的標籤必須符合下列需求條件:
這些限制適用於每個標籤的鍵和值,以及具有標籤的個別 Google Cloud 資源。您可以在專案內的所有資源中套用任意數量的標籤。
標籤的常見用法
以下是一些常見的標籤用途:
我們不建議您建立大量的不重複標籤,例如為時間戳記或每個 API 呼叫的個別值建立標籤。這種做法的問題是,如果值經常變更,或鍵會使目錄變得雜亂,就很難有效篩選及回報資源。
標籤
標籤可用做為可查詢的資源註解,但無法用於設定政策條件。您可將資源是否具備特定標記設為條件,並按照這項條件允許或拒絕政策。詳情請參閱「標記總覽」。
在 Compute Engine 上使用標籤
您可以將標籤套用至下列 Compute Engine 資源:
您也可以在相關 Google Cloud 元件上使用標籤,例如:
舉例來說,您可以將下列標籤以鍵/值組合的方式新增至資源:
{ "labels": { "vmrole": "webserver", "environment": "production", "location": "west",... } }
建立具有標籤的資源
您可以在建立新資源時將標籤套用到該資源。
主控台
gcloud
如要新增標籤,請使用
create
子指令搭配--labels
旗標。您可以使用下列gcloud
指令,為 Compute Engine 資源新增標籤:示例
gcloud compute instances create ... \ --labels webserver=backend,media=images
REST
在 API 中提出新增資源的
POST
要求期間,在要求主體中加入labels
屬性,以便將標籤套用至新資源。舉例來說,下列程式碼片段會提出
POST
要求,以便建立標籤為webserver:backend
和media:images
的 VM 執行個體:POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances { "name": "myVM", "machineType": "zones/us-central1-f/machineTypes/custom-2-15360-ext", ..., "labels": { "webserver": "backend", "media": "images" } }
在現有資源中新增或更新標籤
您可以使用Google Cloud 主控台、gcloud CLI 或 Compute Engine API,新增資源標籤或更新現有標籤。如要新增或更新轉送規則的標籤,請使用 gcloud CLI 或 Compute Engine API。
主控台
gcloud
如要新增或變更標籤,請使用
update
子指令搭配--update-labels
旗標。您可以使用下列gcloud
指令更新 Compute Engine 資源的標籤:示例
gcloud compute disks update example-disk \ --update-labels backend=webserver,media=images
如果您提供的是現有標籤鍵,Google Cloud CLI 會將現有的標籤鍵更新為新的標籤值。如果您提供的是新標籤鍵,這項工具會將其新增至標籤清單。
REST
如要新增或更新標籤,請使用最新的指紋和要套用的完整標籤清單,對資源的
setLabels
方法提出POST
要求:與中繼資料和標記類似,如果資源含有您要保留的既有標籤,您必須將這些標籤與要加入的新標籤一起納入要求。
舉例來說,下列程式碼片段會向 VM 執行個體提出
POST
要求,以設定標籤environment:test
和an-existing-tag:yes
:POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setLabels { "labels": { "environment": "test", "an-existing-tag": "yes" }, "labelFingerprint": "42WmSpB8rSM=" }
查看標籤
您可以使用 Google Cloud 控制台、gcloud CLI 或 Compute Engine API 查看資源標籤。如要查看轉送規則的標籤,請使用 gcloud CLI 或 Compute Engine API。
主控台
gcloud
如要查看標籤,請使用
describe
子指令。您可以使用下列gcloud
指令查看 Compute Engine 資源的標籤:示例
gcloud compute disks describe example-disk
輸出內容包含標籤:
... id: '5047929990219134234' kind: compute#disk labelFingerprint: GHZ1Un209U=0 labels: environment: dev department: finance ...
REST
如要擷取標籤,請向下列資源提出
GET
要求:舉例來說,下列程式碼片段會提出
GET
要求,擷取 VM 執行個體的標籤:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
更改下列內容:
為 API 要求取得標籤指紋
在 API 更新或新增標籤時,您需要在要求中提供最新標籤指紋,以免與其他要求發生衝突。只有 API 要求需要指紋, Google Cloud console 和 Google Cloud CLI 工具則不需要。
如要取得最新的
labelsFingerprint
,請向下列資源提出GET
要求:舉例來說,以下程式碼片段會取得 VM 執行個體的
labelsFingerprint
:GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance
回應包含
labelFingerprint
屬性:200 OK { "kind": "compute#instance", "id": "4392196237934605253", "creationTimestamp": "2015-09-15T14:05:16.475-07:00", "zone": "https://content.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f", "status": "RUNNING", ... "labels": { "environment": "test" }, "labelFingerprint": "p1ty_9HoBk0=" }
移除標籤
您可以使用 Google Cloud 控制台、gcloud CLI 或 Compute Engine API,從資源中移除標籤。如要移除轉送規則的標籤,請使用 gcloud CLI 或 Compute Engine API。
主控台
gcloud
如要新增或變更標籤,請使用
update
子指令搭配--remove-labels
旗標。您可以使用下列gcloud
指令移除 Compute Engine 資源的標籤:示例
gcloud compute disks update example-disk \ --remove-labels backend,media
REST
如要移除標籤,請使用最新的指紋和要套用的完整標籤清單,對下列資源的
setLabels
方法提出POST
要求:如要移除所有標籤,請提供目前的
labelsFingerprint
和空白標籤清單。如果只要移除部分標籤,則請提供要保留的標籤清單 (省略要移除的標籤)。例如,下列程式碼片段會從 VM 移除所有標籤:POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances/example-instance/setLabels { "labels": { }, "labelFingerprint": "42WmSpB8rSM=" }
使用標籤篩選搜尋結果
您可以使用Google Cloud 控制台、gcloud CLI 或 Compute Engine API 搜尋資源,並按標籤篩選搜尋結果。如要依標籤篩選轉送規則,請使用 gcloud CLI 或 Compute Engine API。
主控台
gcloud
如要根據標籤篩選,請使用下列資源的
list
子指令,並加上--filter
旗標:--filter
標記的值必須採用labels.KEY=VALUE
格式。舉例來說,如要篩選含有env
鍵和dev
值的標籤,您可以執行以下指令:gcloud compute instances list \ --filter labels.env=dev
如需 gcloud CLI 中篩選器語法的詳細資訊,請參閱
gcloud topic filters
說明文件。REST
如要篩選資源,請向下列資源的
list
方法提出GET
要求,並加入篩選器欄位:舉例來說,如要列出專案
myproject
和區域us-central1-a
中,標籤鍵/值組合為env:dev
的所有 VM,請在list
要求中將篩選器欄位設為labels.env:dev
。如果您將篩選器欄位納入為查詢字串參數,請使用經過網址編碼的參數值filter=labels.env%3Adev
:GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances?filter=labels.env%3Adev
詳情請參閱 Compute Engine API 參考資料中的
filter
說明文件。VM 標籤和標記之間的關係
以前標籤和標記是互相關聯的。舉例來說,如果您在 VM 中新增
webserver:test
標籤,Compute Engine 會自動在 VM 中新增webserver
標記。現在標籤和標記是各自獨立。如果您在 VM 上建立標籤,Compute Engine 就不會為 VM 建立標記。如需在 VM 上建立標記,您必須手動建立。
如要進一步瞭解標記和用途,請參閱「標記總覽」。
後續步驟
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-06-16 (世界標準時間)。
-