什麼是標籤? - 標記 AWS 資源的最佳實務

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

什麼是標籤?

標籤是套用至資源的索引鍵值配對,以保存有關該資源的中繼資料。每個標籤都是由鍵和可選值組成的標籤。並非所有服務和資源類型目前都支援標籤 (請參閱支援 Resource Groups 標記 API 的服務)。其他服務可能會透過自己的 API 支援標籤。應該注意的是,標籤不加密,不應該用於存儲敏感數據,例如個人識別信息(PII)。

使用者使用 AWS CLI、API 或所建立並套用至 AWS 資源的標籤稱為使 AWS Management Console 用者定義的標籤。許多 AWS 服務 (例如 AWS CloudFormation Elastic Beanstalk 和自動 Auto Scaling) 會自動為其建立和管理的資源指派標籤。這些鍵被稱為AWS 生成的標籤,並且通常以前綴aws。此前置詞不能用於使用者定義的標籤鍵中。

可新增至 AWS 資源的使用者定義標籤數目有使用需求和限制。如需詳細資訊,請參閱AWS 一般參考指南中的標籤命名限制和需求。 AWS 產生的標籤不會計入這些使用者定義的標籤限制。

表 1 — 使用者定義標籤鍵和值的範例

執行個體 ID 標籤鍵 標籤值
i-01234567abcdef89a CostCenter 98765
Stack Test
我 -12345678abcdef90 CostCenter 98765
Stack Production

表 2 — AWS 產生的標籤範例

AWS 產生的標籤鍵 理由
aws:ec2spot:fleet-request-id 識別啟動執行個體的 Amazon EC2 競價型執行個體請求
aws:cloudformation:stack-name 標識創建資源的 AWS CloudFormation 堆棧
lambda-console:blueprint 識別用作 AWS Lambda 函數範本的藍圖
elasticbeanstalk:environment-name 識別建立資源的應用程式
aws:servicecatalog:provisionedProductArn 佈建的產品 Amazon 資源名稱(ARN)
aws:servicecatalog:productArn 從中啟動佈建產品的產品 ARN

AWS 產生的標籤形成命名空間。例如,在範 AWS CloudFormation 本中,您可以定義一組要一起部署的資源stack,其中stack-name是您指派用來識別它的描述性名稱。如果您檢查一個密鑰aws:cloudformation:stack-name,則可以看到用於範圍參數的命名空間使用三個元素:aws 組織,cloud formation 服務和堆棧命名參數。

使用者定義的標籤也可以使用命名空間,並建議使用組織識別碼作為前置詞。這可協助您快速識別標籤是否是受管理結構描述中的某個項目,或是您在環境中使用的服務或工具所定義的項目。

在 AWS白皮書上建立您的雲端基礎中,我們建議您使用一組應該實作的標籤。不同的企業很可能會有不同的允許模式和給定標籤的不同列表。看看表 3 中的例子:

表 3-相同的標籤鍵,不同的值驗證規則

組織

標籤鍵 標籤值驗證 標籤值範例
A 公司 CostCenter 5432, 5422, 5499 5432
B 公司 CostCenter ABC* ABC123

如果這兩個結構描述位於不同的組織中,則標籤衝突沒有問題。但是,如果這兩個環境合併,那麼命名空間可能會發生衝突,並且驗證變得更加複雜。這種情況似乎不太可能,但是企業被併購或合併,還有其他情況,例如與託管服務提供商合作的客戶,遊戲發行商或風險投資業務,其中來自不同組織的帳戶是共享 AWS 組織的一部分。使用商業名稱作為前綴來定義唯一命名空間,可以避免這些挑戰,如表 4 所示:

表 4 — 在標籤索引鍵中使用命名空間

組織

標籤鍵 標籤值驗證 標籤值範例
A 公司 company-a:CostCenter 5432, 5422, 5499 5432
B 公司 company-b:CostCenter ABC* ABC123

在企業被定期收購和剝離的大型和複雜的組織中,這種情況會更頻繁地發生。隨著新收購的流程和實踐在更廣泛的團體中協調,這種情況得到解決。擁有不同的命名空間會有所幫助,因為可以報告舊標籤的使用,並與相關團隊聯繫以採用新的模式。命名空間也可以用來指示範圍,或代表與組織擁有者對齊的使用案例或責任領域。

表 5 — 標籤索引鍵內的範圍或使用案例範圍的範例

使用案例 標籤鍵 理由 允許值
資料分類 example-inc:info-sec:data-classification 信息安全定義的數據分類集 sensitive, company-confidential, customer-identifiable
作業 example-inc:dev-ops:environment 實作測試與開發環境的排程 development, staging, quality-assurance, production
災難復原 example-inc:disaster-recovery:rpo 定義資源的復原點目標 (RPO) 6h, 24h
成本分配 example-inc:cost-allocation:business-unit 財務團隊需要對每個團隊的使用情況和支出進行成本報告 corporate, recruitment, support, engineering

標籤很簡單,易於使用。鍵和標籤的值都是可變長度字符串,並且可以支持寬字符集。如需有關長度和字元集的詳細資訊,請參閱AWS 一般參考中的標記 AWS 資源。標籤區分大小寫,這意味著costCentercostcenter是不同的標籤鍵。在不同國家/地區,單字的拼字可能會有所不同,因此可能會影響您的按鍵。例如,在美國,可能會將金鑰定義為costcenter,但在英國costcentre可能是首選。從資源標記的角度來看,這些是不同的鍵。將拼字、大小寫和標點符號定義為標記策略的一部分。使用這些定義做為建立或管理資源之任何人的參考。本主題將在下一節中更詳細地討論建立您的標記策略