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

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

標記您的 Amazon EC2 資源

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

警告

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

標籤基本概念

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

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

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

標籤範例

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

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

注意

刪除資源之後,其標籤可能會在主控台、API 和 CLI 輸出中保持短時可見。這些標籤將逐漸取消與資源的關聯,並永久刪除。

標記您的 資源

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

如果您使用的是 Amazon EC2 主控台,可以使用相關資源畫面上的「標籤」索引標籤將標籤套用至資源,也可以使用 AWS Resource Groups 主控台中的標籤編輯器。有些資源畫面可讓您在建立資源時指定資源的標籤;例如,具有 Name 鍵和您指定之值的標籤。在大多數的案例中,主控台會立即在建立資源後套用標籤 (而非在資源建立過程時)。主控台可能會根據 Name 標籤整理資源,但此標籤對 Amazon EC2 服務來說不具有任何語意意義。

如果您使用的是 Amazon EC2 API AWS CLI、或 AWS 開發套件,則可以使用 CreateTags EC2 API 動作將標籤套用至現有資源。此外,有些資源建立動作可讓您在建立資源時指定資源的標籤。若標籤無法在資源建立時套用,我們會轉返資源建立程序。這可確保資源不是具有標籤建立,就是不會建立,因此無論何時都不會有不具有標籤的資源。藉由在建立時為資源建立標籤,您可以消除在資源建立後執行自訂標籤指令碼的必要。如需有關讓使用者在建立時為資源加上標籤的詳細資訊,請參閱 在建立期間授予標籤資源的許可

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

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

AFI

AMI

Bundle 任務

Capacity Reservation

電信業者閘道

用戶端 VPN 端點

用戶端 VPN 路由

客戶閘道

Dedicated Host

專用執行個體保留

DHCP 選項

EBS 快照

EBS 磁碟區

EC2 Fleet

出口限定網際網路閘道

彈性 IP 地址

Elastic Graphics 加速器

執行個體
執行個體事件時段

執行個體存放區磁碟區

N/A

N/A

網際網路閘道

IP 地址集區 (BYOIP)

金鑰對 (Key pair)

啟動範本

啟動範本版本

本機閘道

本機閘道路由表

本機閘道虛擬介面

本機閘道虛擬介面群組

本機閘道路由表 VPC 關聯

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

NAT 閘道

網路 ACL

網路介面

置放群組

字首清單

Reserved Instance

預留執行個體清單

路由表

Spot Fleet 請求

Spot 執行個體請求

安全群組
安全群組規則
子網
流量鏡像篩選條件
流量鏡像工作階段
流量鏡像目標

Transit gateway

Transit Gateway 多點傳送網域

Transit gateway 路由表

Transit gateway VPC 連接

虛擬私有閘道

VPC

VPC 端點

VPC 端點服務

VPC 端點服務組態

VPC 流程日誌

VPC 對等連線

VPN 連接

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

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

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

如需為您的資源建立標籤以便計費的詳細資訊,請參閱 AWS Billing 使用者指南中的 Using cost allocation tags (使用成本分配標籤)。

標籤限制

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

  • 每一資源最多標籤數 – 50

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

  • 索引鍵長度上限 - 128 個 UTF-8 Unicode 字元

  • 值的長度上限 - 256 個 UTF-8 Unicode 字元

  • 允許的字元

    • 儘管 EC2 允許其標籤中的任何字符,但其他 AWS 服務的限制性更強。所有 AWS 服務中允許的字元包括:字母 (a-z,A-Z)、數字 (0-9) 和 UTF-8 中可表示的空格,以及下列字元:+ - = . _ : / @.

    • 若啟用執行個體中繼資料中的執行個體標籤,則執行個體標籤鍵值只能使用字母 (a-zA-Z)、數字 (0-9) 和下列字元:+ - = . , _ : @。執行個體標籤不可含有空格或 /,而且不能僅包含 . (一個句點)、.. (兩個句點) 或 _index。如需詳細資訊,請參閱 使用執行個體中繼資料中的執行個體標籤

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

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

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

當您標記公開或共用資源時,您指派的標籤僅適用於您的 AWS 帳戶;沒有其他 AWS 帳戶可以存取這些標籤。對於以標籤為基礎的共用資源存取控制,每個 AWS 帳號都必須指派自己的標籤集,以控制對資源的存取。

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

標籤與存取管理

如果您使用的是 AWS Identity and Access Management (IAM),您可以控制 AWS 帳戶中哪些使用者有權建立、編輯或刪除標籤。如需詳細資訊,請參閱 在建立期間授予標籤資源的許可

您也可以使用資源標籤來實作以屬性為基礎的控制 (ABAC)。您可以建立 IAM 政策,允許根據資源的標籤進行操作。如需詳細資訊,請參閱 使用資源標籤控制對 EC2 資源的存取

標記您的資源以便計費

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

注意

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

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

注意

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

透過主控台使用標籤

您可以使用 Amazon EC2 主控台顯示單個資源的標籤,並一次從一個資源中套用或移除標籤。

您可以使用 AWS Resource Groups 主控台中的標籤編輯器來顯示所有區域中所有 Amazon EC2 資源的標籤。可以根據資源和資源類型來檢視標籤,也可以檢視與特定標籤相關聯的資源類型。您可以從多個資源和多個資源類型中一次套用或移除標籤。標籤編輯器提供集中、統一的方式來建立和管理標籤。若要取得更多資訊,請參閱〈標記 AWS 資源使用指南〉。

顯示標籤

您可以在 Amazon EC2 主控台中顯示單個資源的標籤。若要顯示所有資源的標籤,請使用 AWS Resource Groups 主控台中的標籤編輯器

顯示單個資源的標籤

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

可以為資源清單新增資料欄,以顯示具有相同金鑰的標籤的所有值。您可以使用此資料欄來根據標籤排序和篩選資源清單。

New console
若要為資源清單新增資料欄以顯示標籤
  1. 在 EC2 主控台中,選擇畫面右上角的偏好設定齒輪圖示。

  2. 偏好設定對話方塊中,針對為資料欄加上標籤 (左下角),選取其中一個標籤索引鍵,然後選擇確認

Old console

有兩種方式可為資源清單新增資料行以顯示您的標籤:

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

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

顯示多個資源的標籤

可以使用 AWS Resource Groups 主控台中的標籤編輯器,跨多個資源顯示標籤。若要取得更多資訊,請參閱〈標記 AWS 資源使用指南〉。

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

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

為個別資源新增標籤
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 請在導覽列中,選取要標記的資源所在的區域。如需詳細資訊,請參閱 資源位置

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

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

  5. 選擇管理標籤,然後選擇新增新的標籤。輸入標籤的金鑰和值。為每個要新增的其他標籤重新選擇新增新的標籤。當您完成新增標籤的作業時,請選擇 Save (儲存)

從個別資源刪除標籤
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 請在導覽列中,選取要取消標記的資源所在的區域。如需詳細資訊,請參閱 資源位置

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

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

  5. 選擇 Manage tags (管理標籤)。對於每個要移除的標籤,請選擇移除。當您完成移除標籤的作業時,請選擇 Save (儲存)

新增和刪除多個資源的標籤

為多個資源新增標籤
  1. 在「 AWS Resource Groups」主控台中開啟「標籤編輯器」,位於 https://console.aws.amazon.com/resource-groups/tag-editor

  2. 針對區域,請選取要標記的資源所在的一個或多個區域。

  3. 對於資源類型,請選取要標記的資源類型 (例如,AWS::EC2::Instance)。

  4. 選擇搜尋資源

  5. 資源搜尋結果下,選取要標記之每項資源旁的核取方塊。

  6. 選擇管理所選資源的標籤

  7. 編輯所有選取資源的標籤下,選擇新增標籤,然後輸入新的標籤金鑰和值。為每個要新增的其他標籤重新選擇 Add tag (新增標籤)。

    注意

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

  8. 選擇檢閱和套用標籤變更

  9. 選擇 Apply changes to all selected (套用變更到所有已選項目)

從多個資源中移除標籤
  1. 在「 AWS Resource Groups」主控台中開啟「標籤編輯器」,位於 https://console.aws.amazon.com/resource-groups/tag-editor

  2. 針對區域,請選取要取消標記的資源所在的區域。

  3. 對於資源類型,請選取要取消標記的資源類型 (例如,AWS::EC2::Instance)。

  4. 選擇搜尋資源

  5. 資源搜尋結果下,選取要取消標記的每個資源旁的核取方塊。

  6. 選擇管理所選資源的標籤

  7. 編輯所有選取資源的標籤下,選擇要移除之標籤旁邊的移除標籤

  8. 選擇檢閱和套用標籤變更

  9. 選擇 Apply changes to all selected (套用變更到所有已選項目)

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

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

  2. 選擇啟動執行個體

  3. Name and tags (名稱和標籤) 下,您可以輸入執行個體的描述性名稱,並指定標籤。

    執行個體名稱是一個標籤,其中鍵是 Name (名稱),而值是您指定的名稱。您可以標記執行個體、磁碟區、Elastic Graphics,以及網路介面。對於 Spot 執行個體,您只能標記 Spot 執行個體請求。

    指定執行個體名稱和其他標籤是選用的。

    • 對於 Name (名稱),輸入執行個體的描述性名稱。如果您未指定名稱,則可以透過其 ID 來標識執行個體,該 ID 將在您啟動執行個體時自動產生。

    • 若要新增其他標籤,請選擇 Add additional tags (新增其他標籤)。選取 Add tag (新增標籤),然後輸入鍵和值,然後選取要標記的資源類型。為每個要新增的其他標籤重新選擇 Add tag (新增標籤)。

  4. Application and OS Images (Amazon Machine Image) (應用程式和作業系統映像 (Amazon Machine Image)) 下,選取執行個體的作業系統 (OS) 及 AMI。如需詳細資訊,請參閱 應用程式和作業系統映像 (Amazon Machine Image)

  5. Key pair (login) (金鑰對 (登入)) 下,針對 Key pair name (金鑰對名稱),選擇現有的金鑰對或建立新的金鑰對。

  6. 您可以將所有其他欄位保留為預設值,或為您想要的執行個體組態選擇特定值。如需欄位的相關資訊,請參閱使用定義的參數啟動執行個體

  7. Summary (摘要) 面板中,檢閱您的設定,然後選擇 Launch instance (啟動執行個體)。

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

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

  3. Choose an Amazon Machine Image (AMI) (選擇 Amazon Machine Image (AMI)) 頁面會顯示基本組態清單,稱為 Amazon Machine Image (AMI)。選取要使用的 AMI,然後選取 Select (選取)。如需詳細資訊,請參閱 尋找 Linux 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 (啟動執行個體)

使用標籤篩選資源清單

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

在 Amazon EC2 主控台中按標籤篩選資源清單
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選擇搜尋欄位。

  4. 在清單中的標籤下,選擇標籤金鑰。

  5. 從清單中選擇對應的標籤值。

  6. 完成後,請移除篩選器。

如需有關在 Amazon EC2 主控台中使用篩選條件的詳細資訊,請參閱 列出與篩選您的資源

使用標籤編輯器按標籤來篩選多個區域中的多個資源

您可以使用 AWS Resource Groups 主控台中的標籤編輯器,依標籤篩選多個區域中的多個資源。如需詳細資訊,請參閱《標記 AWS 資源使用者指南》中的搜尋要標記的資源

透過命令列使用標籤

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

任務 AWS CLI AWS Tools for Windows PowerShell

新增或覆寫一或多個標籤

create-tags

New-EC2Tag

刪除一或多個標籤

delete-tags

Remove-EC2Tag

說明一或多個標籤

describe-tags

Get-EC2Tag

在建立資源時新增標籤

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

注意

您在命令列輸入 JSON 格式參數的方式會因您的作業系統而異。

  • Linux、macOS 或 Unix 和視窗 PowerShell — 使用單引號 (') 括住 JSON 資料結構。

  • Windows – 請在搭配 Windows 命令列使用命令時忽略單引號。

如需詳細資訊,請參閱 AWS CLI的 Specifying parameter values (指定參數值)

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

下列 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

使用執行個體中繼資料中的執行個體標籤

您可以從執行個體中繼資料存取執行個體的標籤。透過從執行個體中繼資料存取標籤,您無需再使用 DescribeInstancesDescribeTags API 呼叫來擷取標籤資訊,從而減少每秒的 API 交易數,並可讓您的標籤擷取隨控制的執行個體數量進行擴展。此外,在執行個體上執行的本機程序可以直接從執行個體中繼資料檢視執行個體的標籤資訊。

根據預設,不可從執行個體中繼資料取得標籤;您必須明確允許存取。您可以在執行個體啟動時允許存取,或在執行中或已停止執行個體上啟動後允許存取。您也可以透過在啟動範本中指定此許可來允許標籤的存取。使用範本啟動的執行個體允許存取執行個體中繼資料中的標籤。

若新增或移除執行個體標籤,會在執行個體執行期間更新執行個體中繼資料,而無需停止然後啟動執行個體。

允許存取執行個體中繼資料中的標籤

根據預設,無法存取執行個體中繼資料中的執行個體標籤。對於每個執行個體,您必須使用下列其中一種方法來明確允許存取。

允許使用主控台存取執行個體中繼資料中的標籤
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 選取執行個體,然後依次選取 Actions (動作)、Instance settings (執行個體設定)、Allow tags in instance metadata (允許執行個體中繼資料中的標籤)。

  4. 要允許存取執行個體中繼資料中的標籤,請選取 Allow (允許) 核取方塊。

  5. 選擇 儲存

使用 AWS CLI允許在啟動時存取執行個體中繼資料中的標籤

使用 run-instances 命令並將 InstanceMetadataTags 設定為 enabled

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c3.large \ ... --metadata-options "InstanceMetadataTags=enabled"
使用 AWS CLI允許存取執行中或已停止執行個體上的的執行個體中繼資料中的標籤

使用指modify-instance-metadata-options令並--instance-metadata-tags將設定為enabled

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags enabled

關閉對執行個體中繼資料中標籤的存取

若要關閉對執行個體中繼資料中的中繼資料標籤的存取,請使用下列其中一種方法。您不需要在啟動時關閉對執行個體中繼資料上的執行個體標籤的存取,因為根據預設,它處於關閉狀態。

使用主控台關閉對執行個體中繼資料中標籤的存取
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 選取執行個體,然後依次選取 Actions (動作)、Instance settings (執行個體設定)、Allow tags in instance metadata (允許執行個體中繼資料中的標籤)。

  4. 要允許存取執行個體中繼資料中的標籤,請選擇 Allow (允許) 核取方塊。

  5. 選擇 儲存

若要關閉執行個體中繼資料中繼資料中標籤的存取權 AWS CLI

使用指modify-instance-metadata-options令並--instance-metadata-tags將設定為disabled

aws ec2 modify-instance-metadata-options \ --instance-id i-123456789example \ --instance-metadata-tags disabled

檢視是否允許存取執行個體中繼資料中的標籤

對於每個執行個體,您可以使用 Amazon EC2 主控台或 AWS CLI 檢視是否允許從執行個體中繼資料存取執行個體標籤。

若要檢視是否允許使用主控台存取執行個體中繼資料中的標籤
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選取 Instances (執行個體),然後選取一個執行個體。

  3. Details (詳細資訊) 標籤上,核取 Allow tags in instance metadata (允許執行個體中繼資料中的標籤) 欄位。如果值為 Enabled (已啟用),則允許執行個體中繼資料中的標籤。如果值為 Disabled (已停用),則不允許執行個體中繼資料中的標籤。

若要檢視是否允許存取執行個體中繼資料中的標籤,請使用 AWS CLI

使用 describe-instances 命令並指定執行個體 ID。

aws ec2 describe-instances \ --instance-ids i-1234567890abcdef0

以下範例輸出因空間不足而被截斷。此 "InstanceMetadataTags" 參數會指出是否允許執行個體中繼資料中的標籤。如果值為 enabled,則允許執行個體中繼資料中的標籤。如果值為 disabled,則不允許執行個體中繼資料中的標籤。

{ "Reservations": [ { "Groups": [], "Instances": [ { "AmiLaunchIndex": 0, "ImageId": "ami-0abcdef1234567890", "InstanceId": "i-1234567890abcdef0", ... "MetadataOptions": { "State": "applied", "HttpTokens": "optional", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled", "HttpProtocolIpv6": "disabled", "InstanceMetadataTags": "enabled" }, ...

從執行個體中繼資料擷取標籤

如果允許存取執行個體中繼資料中的執行個體標籤,則可以從執行個體中繼資料存取 tags/instance 類別。如需如何從執行個體中繼資料擷取標籤的範例,請參閱 取得執行個體的執行個體標籤

使用將標籤新增至資源 CloudFormation

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

下列範例會將標籤加入Stack=ProductionAWS::EC2::Instance使用其Tags屬性。

範例:YAML 中的標籤
Tags: - Key: "Stack" Value: "Production"
範例:JSON 中的標籤
"Tags": [ { "Key": "Stack", "Value": "Production" } ]

下列範例會將標籤加入Stack=ProductionAWS::EC2::LaunchTemplate LaunchTemplateData使用其TagSpecifications屬性。

範例: TagSpecifications 在 YAML 中
TagSpecifications: - ResourceType: "instance" Tags: - Key: "Stack" Value: "Production"
範例: TagSpecifications 在 JSON 中
"TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Stack", "Value": "Production" } ] } ]