標記您的 Amazon EC2 資源 - Amazon Elastic Compute Cloud

標記您的 Amazon EC2 資源

為協助您管理您的執行個體、映像和其他 Amazon EC2 資源,您可將您自己的中繼資料,以標籤的形式指派給每個資源。標籤可讓您以不同的方式分類您的 AWS 資源,例如依據目的、擁有者或環境。當您有許多相同類型的資源時,這將會很有用,因為—您可以依據先前指派的標籤,快速識別特定的資源。本主題說明標籤並示範如何建立它們。

警告

許多不同 API 呼叫傳回了標籤金鑰和其值。拒絕存取 DescribeTags 不會自動拒絕存取其他 API 傳回的標籤。根據最佳實務,建議您不要在標籤中包含敏感資料。

標籤基本概念

標籤 是您指派給 AWS 資源的標籤。每個標籤皆包含由您定義的一個金鑰與一個選用

標籤可讓您以不同的方式分類您的 AWS 資源,例如依據目的、擁有者或環境。例如,您可以為您帳戶的 Amazon EC2 執行個體定義一組標籤,協助您追蹤各個執行個體的擁有者與堆疊層級。

下圖說明標籤建立的運作方式。在此範例中,您已在每個執行個體上指派兩個標籤 — 一個標籤的金鑰為 Owner,另一個標籤的金鑰為 Stack。每個標籤也都有一個關聯值。


					標籤範例

我們建議您為每種資源類型建立符合您需求的標籤金鑰。使用一致的標籤金鑰組可讓您更輕鬆的管理您的資源。您可以根據您新增的標籤搜尋和篩選資源。有關如何實作有效資源標籤策略的詳細資訊,請參閱 AWS 白皮書 Tagging Best Practices

標籤對 Amazon EC2 來說不具有任何語意意義,並會嚴格解譯為字元字串。此外,標籤不會自動指派給您的資源。您可以編輯標籤金鑰和值,並且可以隨時從資源移除標籤。您可以將標籤的值設為空白字串,但您無法將標籤的值設為 null。若您將與現有標籤具有相同鍵的標籤新增到該資源,則新值會覆寫舊值。如果您刪除資源,也會刪除任何該資源的標籤。

您可以使用 AWS 管理主控台、AWS CLI 和 Amazon EC2 API 來使用標籤。

若您使用 AWS Identity and Access Management (IAM),您可以控制您 AWS 帳戶中的哪些使用者具有建立、編輯和刪除標籤的許可。如需詳細資訊,請參閱 Amazon EC2 的 Identity and Access Management

標記您的資源

您可以為您帳戶中現有的大多數 Amazon EC2 資源新增標籤。下列出支援標籤建立的資源。

若您使用 Amazon EC2 主控台,您可以透過使用位於相關資源畫面上的 Tags (標籤) 標籤套用標籤,或是使用 Tags (標籤) 畫面。有些資源畫面可讓您在建立資源時指定資源的標籤;例如,具有 Name 鍵和您指定之值的標籤。在大多數的案例中,主控台會立即在建立資源後套用標籤 (而非在資源建立過程時)。主控台可能會根據 Name 標籤整理資源,但此標籤對 Amazon EC2 服務來說不具有任何語意意義。

若您使用 Amazon EC2 API、AWS CLI 或 AWS 開發套件,您可以使用 CreateTags EC2 API 動作為現有的資源套用標籤。此外,有些資源建立動作可讓您在建立資源時指定資源的標籤。若標籤無法在資源建立時套用,我們會轉返資源建立程序。這可確保資源不是具有標籤建立,就是不會建立,因此無論何時都不會有不具有標籤的資源。藉由在建立時為資源建立標籤,您可以消除在資源建立後執行自訂標籤指令碼的必要。

下表說明可標記的 Amazon EC2 資源,以及可使用 Amazon EC2 API、AWS CLI 或 AWS 開發套件在建立時標記的資源。

Amazon EC2 資源的標記支援
資源 支援標籤 支援在建立時標記

AFI

AMI

Bundle 任務

容量預留

電信業者閘道

用戶端 VPN 端點

用戶端 VPN 路由

客戶閘道

專用主機

專用主機保留

DHCP 選項

EBS 快照

EBS 磁碟區

EC2 機群

出口限定網際網路閘道

彈性 IP 地址

Elastic Graphics 加速器

執行個體

執行個體存放區磁碟區

網際網路閘道

IP 地址集區 (BYOIP)

金鑰對 (Key pair)

啟動範本

啟動範本版本

本機閘道

本機閘道路由表

本機閘道虛擬界面

本機閘道虛擬界面群組

本機閘道路由表 VPC 關聯

本機閘道路由表虛擬界面群組關聯

NAT 閘道

網路 ACL

網路界面

置放群組

字首清單

預留執行個體

預留執行個體清單

路由表

Spot Fleet 請求

Spot 執行個體請求

安全群組

子網路

流量鏡像篩選條件
流量鏡像工作階段
流量鏡像目標

Transit gateway

Transit gateway 路由表

Transit gateway VPC 連接

虛擬私有閘道

VPC

VPC 端點

VPC 端點服務

VPC 端點服務組態

VPC 流程日誌

VPC 對等連線

VPN 連接

您可以在 Amazon EC2 主控台中使用 Amazon EC2 啟動執行個體精靈,在建立過程為執行個體和磁碟區建立標籤。您可以使用磁碟區畫面在建立時為您的 EBS 磁碟區建立標籤,或使用快照畫面為您的 EBS 快照建立標籤。或者,使用資源建立 Amazon EC2 API (例如,RunInstances) 在建立您的資源時套用標籤。

您可以在您的 IAM 政策中將標籤式的資源層級許可套用到支援在建立時新增標籤的 Amazon EC2 API 動作,以實作可在建立時為資源建立標籤之使用者和群組的細微控制。您的資源從建立時便已獲得適當保全,由於標籤會立即套用到您的資源,因此控制使用資源的任何標籤式資源層級許可都會立即生效。您可以更準確的追蹤和報告您的資源。您可以強制新資源使用標籤,並控制哪些標籤金鑰和值會在您的資源上設定。

您也可以將資源層級許可套用到 IAM 政策中的 CreateTagsDeleteTags Amazon EC2 API 動作,控制哪些標籤金鑰和值會在您現有的資源上設定。如需詳細資訊,請參閱範例:標記資源

如需為您的資源建立標籤以便計費的詳細資訊,請參閱AWS Billing and Cost Management 使用者指南中的使用成本分配標籤

標籤限制

以下基本限制適用於標籤:

  • 每個資源的標籤數上限 – 50

  • 對於每一個資源,每個標籤金鑰必須是唯一的,且每個標籤金鑰只能有一個值。

  • 金鑰長度上限 –- 128 個 UTF-8 Unicode 字元

  • 長度最大值 – 256 個 UTF-8 Unicode 字元

  • 雖然 EC2 允許標籤中的任何字元,但其他服務可能更具限制性。服務間允許的字元包括:可用 UTF-8 表示的英文字母、數字和空格,還有以下字元:+ - = . _ : / @。

  • 標籤金鑰與值皆區分大小寫。

  • aws: 字首已保留供 AWS 使用。如果標籤具有此字首的標籤金鑰,則您無法編輯或刪除標籤的金鑰或值。具 aws: 字首的標籤,不算在受資源限制的標籤計數內。

您無法僅根據標籤終止、停止或刪除資源。您必須指定資源識別符。例如,若要刪除您套用稱為 DeleteMe 標籤金鑰的快照,您必須搭配快照的資源識別符 (例如 DeleteSnapshots) 使用 snap-1234567890abcdef0 動作。

您可以為公有或共享資源建立標籤,但您指派的標籤僅可由您的 AWS 帳戶使用,而無法讓其他共享資源的帳戶使用。

您無法為所有資源新增標籤。如需更多詳細資訊,請參閱 Amazon EC2 資源的標記支援

標記您的資源以便計費

您可以使用標籤整理您的 AWS 帳單,藉以反映您自己的成本結構。方式是註冊以取得包含標籤鍵值的 AWS 帳戶帳單。如需使用標籤設定成本分配報告的詳細資訊,請參閱AWS Billing and Cost Management 使用者指南中的每月成本分配報告。若想要查看合併資源的成本,您可根據具有相同標籤金鑰值的資源來整理您的帳單資訊。例如,您可以使用特定應用程式名稱來標記數個資源,然後整理帳單資訊以查看該應用程式跨數項服務的總成本。如需詳細資訊,請參閱《AWS Billing and Cost Management 使用者指南》中的使用成本分配標籤

注意

若您才剛啟用報告,目前月份的資料會在 24 小時之後提供檢視。

成本分配標籤可用來表示哪些資源產生成本,但刪除或停用這些資源不一定能降低成本。例如,由另一個快照參考的快照資料會進行保留,即使包含原始資料的快照遭到刪除也不例外。如需詳細資訊,請參閱AWS Billing and Cost Management 使用者指南中的 Amazon Elastic Block Store 磁碟區及快照

注意

已標記的彈性 IP 地址,不會顯示在您的成本分配報告中。

透過主控台使用標籤

使用 Amazon EC2 主控台,您可以查看相同區域內所有您 Amazon EC2 資源正在使用中的標籤。您可以根據資源和資源類型檢視標籤,也可以檢視每一種資源類型與特定標籤相關聯的項目有多少。您也可以使用 Amazon EC2 主控台從一或多個資源一次套用或移除標籤。

如需在列出您的資源時使用篩選條件的詳細資訊,請參閱 列出與篩選您的資源

為了易用性和最佳結果,請使用 AWS 管理主控台中的標籤編輯器,此編輯器可讓您集中、整合地建立和管理標籤。如需詳細資訊,請參閱AWS 管理主控台入門中的使用標籤編輯器

顯示標籤

您可以在 Amazon EC2 主控台中以兩種不同方式顯示標籤。您可以顯示個別資源的標籤,或所有資源的標籤。

顯示個別資源的標籤

當您在 Amazon EC2 主控台中選取資源限定頁面時,即會顯示那些資源的清單。例如,若您從導覽窗格選取 Instances (執行個體),主控台即會顯示 Amazon EC2 執行個體的清單。當您從這些清單中的其中一個選取資源時 (例如,一個執行個體),若資源支援標籤,您便可以檢視和管理其標籤。在大多數的資源頁面上,您可以在詳細資訊窗格的 Tags (標籤) 標籤中檢視標籤。

您可以為顯示所有具有相同鍵之標籤值的資源清單新增資料行。此資料行可讓您根據標籤排序和篩選資源。有兩種方式可為資源清單新增資料行以顯示您的標籤。

  • Tags (標籤) 標籤上,選取 Show Column (顯示資料行)。新的資料行即會新增到主控台。

  • 選擇 Show/Hide Columns (顯示/隱藏資料行) 齒輪狀圖示,並在 Show/Hide Columns (顯示/隱藏資料行) 對話方塊中,在 Your Tag Keys (您的標籤金鑰) 下方選取標籤金鑰。

顯示所有資源的標籤

您可以藉由從 Amazon EC2 主控台中的導覽窗格選取 Tags (標籤),來顯示所有資源的標籤。下列影像顯示 Tags (標籤) 窗格,其中根據資源類型列出所有正在使用中的標籤。


						Amazon EC2 主控台中的 Tags (標籤) 窗格

在個別資源上新增和刪除標籤

您可以直接從資源的頁面管理個別資源的標籤。

為個別資源新增標籤

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從導覽列,選取符合您需求的區域。這項選擇非常重要,因為有些 Amazon EC2 資源可在不同區域間共享,其他則無法。如需詳細資訊,請參閱 資源位置

  3. 在導覽窗格中,選取資源類型 (例如,Instances (執行個體))。

  4. 從資源清單選取資源,然後選擇 Tags (標籤)Add/Edit Tags (新增/編輯標籤)

  5. Add/Edit Tags (新增/編輯標籤) 對話方塊中,指定每個標籤的鍵和值,然後選擇 Save (儲存)

從個別資源刪除標籤

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從導覽列,選取符合您需求的區域。這項選擇非常重要,因為有些 Amazon EC2 資源可在不同區域間共享,其他則無法。如需詳細資訊,請參閱 資源位置

  3. 在導覽窗格中,選擇資源類型 (例如,Instances (執行個體))。

  4. 從資源清單選取資源,然後選擇 Tags (標籤)

  5. 選擇 Add/Edit Tags (新增/編輯標籤),選取標籤的 Delete (刪除) 圖示,然後選擇 Save (儲存)

為資源群組新增和刪除標籤

為資源群組新增標籤

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從導覽列,選取符合您需求的區域。這項選擇非常重要,因為有些 Amazon EC2 資源可在不同區域間共享,其他則無法。如需詳細資訊,請參閱 資源位置

  3. 在導覽窗格中,選擇 Tags (標籤)

  4. 在目前窗格的頂端,選擇 Manage Tags (管理標籤)

  5. 針對 Filter (篩選條件),選取要新增標籤的資源類型 (例如,執行個體)。

  6. 在資源清單中,選取要新增標籤之每個資源旁邊的核取方塊。

  7. Add Tag (新增標籤) 下方,針對 Key (金鑰)Value (值),輸入標籤金鑰和值,然後選擇 Add Tag (新增標籤)

    注意

    若您使用與現有標籤相同的標籤金鑰新增新的標籤,新的標籤會覆寫現有的標籤。

從資源群組移除標籤

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 從導覽列,選取符合您需求的區域。這項選擇非常重要,因為有些 Amazon EC2 資源可在不同區域間共享,其他則無法。如需詳細資訊,請參閱 資源位置

  3. 在導覽窗格中,選擇 Tags (標籤)Manage Tags (管理標籤)

  4. 若要檢視正在使用中的標籤,請選取 Show/Hide Columns (顯示/隱藏資料行) 齒輪狀圖示,並在 Show/Hide Columns (顯示/隱藏資料行) 對話方塊中,選取要檢視的標籤金鑰,然後選擇 Close (關閉)

  5. 針對 Filter (篩選條件),選取要移除標籤的資源類型 (例如,執行個體)。

  6. 在資源清單中,選取要移除標籤的每個資源旁邊的核取方塊。

  7. Remove Tag (移除標籤) 下方,針對 Key (鍵),輸入鍵的名稱,然後選擇 Remove Tag (移除標籤)

在您啟動執行個體時新增標籤

使用啟動精靈新增標籤

  1. 從導覽列,選取執行個體的區域。這項選擇非常重要,因為有些 Amazon EC2 資源可在不同區域間共享,其他則無法。選取符合您的需求的區域。如需詳細資訊,請參閱 資源位置

  2. 選擇 Launch Instance (啟動執行個體)

  3. Choose an Amazon Machine Image (AMI) (選擇 Amazon Machine Image (AMI)) 頁面會顯示基本組態清單,稱為 Amazon Machine Image (AMI)。選取要使用的 AMI,然後選擇 Select (選取)。如需選取 AMI 的詳細資訊,請參閱尋找 AMI

  4. Configure Instance Details (設定執行個體詳細資訊) 頁面上,根據需求設定執行個體的設定,然後選擇 Next: Add Storage (下一步:新增儲存體)

  5. Add Storage (新增儲存體) 頁面上,您可以為您的執行個體指定額外的儲存體磁碟區。完成時,選擇 Next: Add Tags (下一步:新增標籤)

  6. Add Tags (新增標籤) 頁面上,指定執行個體、磁碟區或兩者的標籤。選擇 Add another tag (新增另一個標籤) 以為您的執行個體新增超過一個標籤。當完成時,請選擇 Next: Configure Security Group (下一步:設定安全群組)

  7. Configure Security Group (設定安全群組) 頁面上,您可以從您擁有的現有安全群組中選擇,或是讓精靈為您建立新的安全群組。完成時,選擇 Review and Launch (檢閱及啟動)

  8. 檢閱您的設定。當您對您的選項感到滿意時,請選擇 Launch (啟動)。選取現有的金鑰對或建立新的金鑰對,選取確認核取方塊,然後選擇 Launch Instances (啟動執行個體)

使用標籤篩選資源清單

您可以根據一或多個標籤金鑰和標籤值篩選您的資源清單。

使用標籤篩選資源清單

  1. 顯示標籤的資料行,如下所示:

    1. 選取資源。

    2. 在詳細資訊窗格中,選擇 Tags (標籤)

    3. 在清單中尋找標籤,然後選擇 Show Column (顯示資料行)

  2. 選擇位於標籤資料行右上角的篩選條件圖示,以顯示篩選條件清單。

  3. 選取標籤值,然後選擇 Apply Filter (套用篩選條件) 以篩選結果清單。

    注意

    如需篩選條件的詳細資訊,請參閱列出與篩選您的資源

透過命令列使用標籤

建立 EC2 資源時,您可以使用 create 命令的標籤規格參數,將標籤新增至許多 EC2 資源。您可以使用資源的描述命令來檢視資源的標籤。您也可以使用下列命令為現有資源新增、更新或刪除標籤。

任務 AWS CLI 適用於 Windows PowerShell 的 AWS 工具

新增或覆寫一或多個標籤

create-tags

New-EC2Tag

刪除一或多個標籤

delete-tags

Remove-EC2Tag

說明一或多個標籤

describe-tags

Get-EC2Tag

在建立資源時新增標籤

下列範例示範如何在您建立資源時套用標籤。

您在命令列輸入 JSON 格式參數的方式會因您的作業系統而異。Linux、macOS 或 Unix 和 Windows PowerShell 使用單引號 (') 來包圍 JSON 資料結構。請在搭配 Windows 命令列使用命令時忽略單引號。如需詳細資訊,請參閱指定 AWS Command Line Interface 的參數值

範例:啟動執行個體並為執行個體和磁碟區套用標籤

下列 run-instances 命令會啟動執行個體,並將含有金鑰 webserver 和值 production 的標籤套用至執行個體。命令也會為任何建立的 EBS 磁碟區 (在此範例為根磁碟區) 套用金鑰為 cost-center,值為 cc123 的標籤。

aws ec2 run-instances \ --image-id ami-abc12345 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --subnet-id subnet-6e7f829e \ --tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'

您可以在啟動時為執行個體和磁碟區套用相同的標籤金鑰和值。下列命令會啟動執行個體,並為執行個體和任何建立的 EBS 磁碟區套用鍵為 cost-center,值為 cc123 的標籤。

aws ec2 run-instances \ --image-id ami-abc12345 \ --count 1 \ --instance-type t2.micro \ --key-name MyKeyPair \ --subnet-id subnet-6e7f829e \ --tag-specifications 'ResourceType=instance,Tags=[{Key=cost-center,Value=cc123}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'

範例:建立磁碟區及套用標籤

下列 create-volume 命令會建立磁碟區,並套用兩個標籤:purpose=productioncost-center=cc123

aws ec2 create-volume \ --availability-zone us-east-1a \ --volume-type gp2 \ --size 80 \ --tag-specifications 'ResourceType=volume,Tags=[{Key=purpose,Value=production},{Key=cost-center,Value=cc123}]'

將標籤新增到現有資源

下面的例子說明如何使用 create-tags 命令將標籤新增到現有資源。

範例:將標籤新增至資源

此範例會將標籤 Stack=production 新增至指定的映像,或覆寫 AMI 的現有標籤,其中標籤金鑰為 Stack。如果命令成功,則不會傳回任何輸出。

aws ec2 create-tags \ --resources ami-78a54011 \ --tags Key=Stack,Value=production

範例:將標籤新增至多個資源

此範例會為 AMI 和執行個體新增 (或覆寫) 兩個標籤。其中一個標籤只包含金鑰 (webserver),沒有值 (我們會將值設定為空字串)。其他標籤包含金鑰 (stack) 與值 (Production)。如果命令成功,則不會傳回任何輸出。

aws ec2 create-tags \ --resources ami-1a2b3c4d i-1234567890abcdef0 \ --tags Key=webserver,Value= Key=stack,Value=Production

範例:新增具有特殊字元的標籤

此範例會將標籤 [Group]=test 新增至執行個體。中括號 ([]) 是特殊字元,必須將其逸出。

如果您使用 Linux 或 OS X,若要逸出特殊字元,請以雙引號 (") 括住具有特殊字元的元素,然後使用單引號 (') 括住整個金鑰和值結構。

aws ec2 create-tags \ --resources i-1234567890abcdef0 \ --tags 'Key="[Group]",Value=test'

如果您使用 Windows,若要逸出特殊字元,請以雙引號 (") 括住具有特殊字元的元素,然後在每個雙引號字元前面加上反斜線 (\),如下所示:

aws ec2 create-tags ^ --resources i-1234567890abcdef0 ^ --tags Key=\"[Group]\",Value=test

如果您使用 Windows PowerShell,若要逸出特殊字元,請以雙引號 (") 括住具有特殊字元的值,在每個雙引號字元前面加上反斜線 (\),然後用單引號 (') 括住整個金鑰和值結構,如下所示:

aws ec2 create-tags ` --resources i-1234567890abcdef0 ` --tags 'Key=\"[Group]\",Value=test'

描述已標記的資源

下列範例說明如何將篩選與 describe-instances 搭配使用,以檢視具有特定標籤的執行個體。所有 EC2 描述命令都會使用此語法,在單一資源類型中依標籤篩選。或者,您可以使用 describe-tags 命令,在 EC2 資源類型中依標籤篩選。

範例:描述具有指定標籤金鑰的執行個體

下列命令會描述具有 Stack 標籤的執行個體,無論標籤的值為何。

aws ec2 describe-instances \ --filters Name=tag-key,Values=Stack

範例:描述具有指定標籤的執行個體

下列命令會描述具有 Stack=production 標籤的執行個體。

aws ec2 describe-instances \ --filters Name=tag:Stack,Values=production

範例:描述具有指定標籤值的執行個體

下列命令會描述具有值為 production 標籤的執行個體,無論標籤金鑰為何。

aws ec2 describe-instances \ --filters Name=tag-value,Values=production

範例:使用指定的標籤描述所有 EC2 資源

以下命令描述帶有標籤 Stack=Test 的所有 EC2 資源。

aws ec2 describe-tags \ --filters Name=key,Values=Stack Name=value,Values=Test

使用 CloudFormation 將標籤新增到資源

對於 Amazon EC2 資源類型,您可以使用 TagsTagSpecifications 屬性來指定標籤。

以下範例使用其 Tags 屬性,將標籤 Stack=Production 新增到 AWS::EC2::Instance

範例:YAML 中的標籤

Tags: - Key: "Stack" Value: "Production"

範例:JSON 中的標籤

"Tags": [ { "Key": "Stack", "Value": "Production" } ]

以下範例使用其 TagSpecifications 屬性,將標籤 Stack=Production 新增到 AWS::EC2::LaunchTemplate LaunchTemplateData

範例:YAML 中的 TagSpecifications

TagSpecifications: - ResourceType: "instance" Tags: - Key: "Stack" Value: "Production"

範例:JSON 中的 TagSpecifications

"TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Stack", "Value": "Production" } ] } ]