AWS Proton資源和標記 - AWS Proton

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

AWS Proton資源和標記

AWS Proton指派 Amazon 資源名稱 (ARN) 的資源包括環境範本及其主要和次要版本、服務範本及其主要和次要版本、環境、服務執行個體、元件和存放庫。您可以對這些資源進行標記,以協助您對其進行整理和識別它們。您可使用標籤來依照用途、擁有者、環境或其他條件分類資源。如需詳細資訊,請參閱 標記策略。若要追蹤和管理您的AWS Proton資源時,您可以使用下列各節所述的標記功能。

AWS標記

您可以用標籤的形式將中繼資料指派給 AWS 資源。每個標籤皆包含客戶定義金鑰和選用值。標籤可協助您管理、識別、組織、搜尋及篩選資源。

重要

請勿在標籤中加入個人識別資訊 (PII) 或其他機密或敏感資訊。許多 AWS 服務 都可以存取標籤,包括帳單。標籤不適用於私人或敏感資料。

每個 標籤都有兩個部分。
  • 標籤鍵 (例如 CostCenterEnvironmentProject)。標籤鍵會區分大小寫。

  • 標記值 (選用) (例如111122223333或者Production。與標籤鍵相同,標籤值會區分大小寫。

下列基本命名和使用需求適用於標籤。
  • 每個資源最多可以有 50 個使用者建立的標籤。

    注意

    系統建立的標籤,開頭為aws:前綴保留AWS使用,且不會計入此限制之內。您無法編輯或刪除以 aws: 字首開頭的標籤。

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

  • 在 UTF-8 中,標籤金鑰必須至少為 1 且最多為 128 個 Unicode 字元。

  • 在 UTF-8 中,標籤值必須至少為 1 且最多為 256 個 Unicode 字元。

  • 標籤中允許的字元包括可用 UTF-8 表示的英文字母、數字和空格,還有以下特殊字元:

AWS Proton標記

搭配AWS Proton,您可以同時使用您建立的標籤以及標籤AWS Proton會自動為您產生。

AWS Proton​ AWS受管標記

建立時AWS Proton資源,AWS Proton自動產生AWS管理標記您的新資源,如下圖所示。AWS受管理的標籤稍後會傳播至其他AWS Proton以新資源為基礎的資源。例如,環境範本中的受管理標籤會傳播至其版本,而受管理標籤則會從服務傳播至其服務執行個體。

注意

AWS受管標記不是為環境帳戶連接生成。如需詳細資訊,請參閱 環境帳戶連線

圖表描述AWS受管標記傳播。

標籤傳播至已佈建資源

如果佈建的資源 (例如在服務和環境範本中定義的資源),則支援AWS標記,AWS受管理標籤會以客戶管理標籤的形式傳播至佈建的資源。這些標籤不會傳播到不支援的已佈建資源AWS標記。

AWS Proton將標籤套用至您的資源AWS Proton帳戶、註冊範本和已部署的環境,以及服務和服務執行個體,如下表所述。您可以使用AWS用於查看和管理您的託管標籤AWS Proton資源,但無法修改它們。

AWS受管標記金鑰 傳播客戶受管金鑰 描述

aws:proton:account

proton:account

所以此AWS建立和部署的帳戶AWS Proton的費用。

aws:proton:template

proton:template

所選範本的 ARN。

aws:proton:environment

proton:environment

所選環境的 ARN。

aws:proton:service

proton:service

所選服務的 ARN。

aws:proton:service-instance

proton:service-instance

所選服務執行處理的 ARN。

aws:proton:component

proton:component

所選元件的 ARN。

以下是的範例AWS受管理的標籤AWS Proton資源。

"aws:proton:template" = "arn:aws:proton:region-id:account-id:environment-template/env-template"

以下是套用至已佈建資源的客戶受管標籤的範例,AWS受管標記。

"proton:environment:database" = "arn:aws:proton:region-id:account-id:rds/env-db"

搭配AWS-管理佈建、AWS Proton將傳播的標籤直接套用至已佈建的資源。

搭配自我管理佈建、AWS Proton使傳輸的標籤與它在佈建提取要求 (PR) 中提交的轉譯 IaC 檔案一起使用。標籤在字符串映射變量中提供proton_tags。我們建議您在 Terraform 組態中參照此變數,以包含AWS Proton標籤default_tags。這傳播AWS Proton所有佈建資源的標籤。

下列範例會示範環境 Terraform 範本中標籤傳播的這種方法。

以下是proton_tags變數定義:

質子環境變量 .tf:

variable "environment" { type = object({ inputs = map(string) name = string }) } variable "proton_tags" { type = map(string) default = null }

以下是標籤值指派給此變數的方式:

質子. 自動. tfvar.json:

{ "environment": { "name": "dev", "inputs": { "ssm_parameter_value": "MyNewParamValue" } } "proton_tags" : { "proton:account" : "123456789012", "proton:template" : "arn:aws:proton:us-east-1:123456789012:environment-template/fargate-env", "proton:environment" : "arn:aws:proton:us-east-1:123456789012:environment/dev" } }

以下是您可以如何新增AWS Proton標籤到您的 Terraform 配置,以便將它們添加到佈建的資源中:

# Configure the AWS Provider provider "aws" { region = var.aws_region default_tags { tags = var.proton_tags } }

客戶受管標

EACHAWS Proton資源的配額上限為 50 個客戶管理的標籤。客戶管理的標籤會傳播至子系AWS Proton以相同的方式AWS託管標籤可以,除非它們不傳播到現有標籤AWS Proton資源或佈建的資源。如果您將新標籤套用至AWS Proton具有現有子資源的資源,並且您希望現有的子資源用新標籤標記,您需要使用控制台或手動標記每個現有的子資源AWS CLI。

透過主控台和 CLI 建立標記

建立時AWS Proton使用主控台的資源,您可以在建立程序的第一頁或第二頁上建立客戶管理的標籤,如下列主控台快照集所示。選擇新增標籤」下,進入金鑰和值,然後繼續進行。

控制台創建標籤界面的快照。

建立新的資源之後AWS Proton控制台,您可以查看其列表AWS詳細資訊頁面中的受管理和客戶管理標籤。

建立或編輯標記
  1. 在 中AWS Proton安慰,開啟AWS Proton資源詳細信息頁面,您可以在其中查看標籤列表。

  2. 選擇 Manage tags (管理標籤)

  3. 在 中管理標籤頁面,您可以查看、建立、移除和編輯標籤。您無法修改AWS列在頂端的受管理標籤。不過,您可以使用編輯欄位新增和修改客戶管理的標籤,列在AWS受管標記。

    選擇新增標籤建立新的標籤。

  4. 為新標籤輸入金鑰和值。

  5. 若要編輯標籤,請在所選金鑰的標籤值欄位中輸入值。

  6. 刪除標記請選擇Remove (移除)用於選取的標籤。

  7. 完成變更後,請選擇儲存變更

使用標記AWS Proton​ AWS CLI

您可以使用檢視、建立、移除和編輯標籤AWS Proton AWS CLI。

您可以建立或編輯資源的標籤,如下列範例所示。

$ aws proton tag-resource \ --resource-arn "arn:aws:proton:region-id:account-id:service-template/webservice" \ --tags '[{"key":"mykey1","value":"myval1"},{"key":"mykey2","value":"myval2"}]'

您可以移除資源的標籤,如下一個範例所示。

$ aws proton untag-resource \ --resource-arn "arn:aws:proton:region-id:account-id:service-template/webservice" \ --tag-keys '["mykey1","mykey2"]'

您可以列出資源的標籤,如最後一個範例所示。

$ aws proton list-tags-for-resource \ --resource-arn "arn:aws:proton:region-id:account-id:service-template/webservice"