AWS Proton 資源和標記 - AWS Proton

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

AWS Proton 資源和標記

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

AWS 標記

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

重要

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

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

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

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

    注意

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

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

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

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

  • 標籤中允許的字元為以 UTF-8 表示的字母、數字、空格,以及下列字元:* _ . : / = + - @。

AWS Proton 標記

透過 AWS Proton,您可以使用您建立的標籤以及 AWS Proton 自動為您產生的標籤。

AWS ProtonAWS 受管標籤

當您建立 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 Proton 資源 AWS 的帳戶。

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 Proton 資源的 AWS 受管標籤範例。

"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變數定義:

https://proton.environment.variables.tf:

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

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

proton.auto.tfvars.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 } }

客戶受管標籤

每個 AWS Proton 資源的配額上限為 50 個客戶受管標籤。客戶受管標籤會以與 AWS 受管標籤相同的方式傳播到子 AWS Proton 資源,但不傳播到現有 AWS Proton 資源或佈建的資源。如果您將新標籤套用到 AWS Proton 具有現有子資源的資源,並且希望使用新標籤來標記現有的子資源,則需要使用 主控台或 手動標記每個現有的子資源 AWS CLI。

使用主控台和 CLI 建立標籤

當您使用主控台建立 AWS Proton 資源時,您有機會在建立程序的第一或第二頁建立客戶受管標籤,如下列主控台快照所示。選擇新增標籤,輸入索引鍵和值並繼續。

主控台建立標籤界面的快照。

使用 AWS Proton 主控台建立新資源後,您可以從詳細資訊頁面檢視其 AWS 受管和客戶受管標籤清單。

建立或編輯標籤
  1. AWS Proton 主控台中,開啟 AWS Proton 資源詳細資訊頁面,您可以在其中看到標籤清單。

  2. 選擇管理標籤

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

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

  4. 輸入新標籤的索引鍵和值。

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

  6. 若要刪除標籤,請選擇移除所選標籤。

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

使用 建立標籤 AWS ProtonAWS 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"