

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

# 標記 Amazon ECS 資源
<a name="ecs-using-tags"></a>

為協助您管理 Amazon ECS 資源，您可以使用*標籤*選擇性地將您自己的中繼資料指派給每個資源。每個*標籤*皆包含*索引鍵*與選用*值*。

您可以使用標籤以不同方式將 Amazon ECS 資源分類，例如依用途、擁有者或環境。這在您擁有許多相同類型的資源時很有用。您可以根據您指派給資源的標籤快速識別特定資源。例如，您可以為帳戶的 Amazon ECS 容器執行個體定義一組標籤，這可以協助您追蹤每個執行個體的擁有者和堆疊層級。

您可以將標籤用於成本和用量報告。您可以使用這些報告分析 Amazon ECS 資源的成本和用量。如需詳細資訊，請參閱[Amazon ECS 用量報告](usage-reports.md)。

**警告**  
有許多 API 會傳回標籤鍵及其值。拒絕存取 `DescribeTags` 不會自動拒絕存取其他 API 傳回的標籤。根據最佳實務，建議您不要在標籤中包含敏感資料。

我們建議您為每種資源類型建立符合您需求的標籤金鑰。您可以使用一致的標籤索引鍵組，讓您更輕鬆的管理您的資源。您可以根據您新增的標籤搜尋和篩選資源。

標籤對 Amazon ECS 來說不具有任何語意意義，並會嚴格解譯為字元字串。您可以編輯標籤索引鍵和值，也可以隨時從資源中移除標籤。您可以將標籤的值設為空白字串，但您無法將標籤的值設為 Null。若您將與現有標籤具有相同鍵的標籤新增到該資源，則新值會覆寫早前的值。如果您刪除資源，也會刪除該資源的任何標籤。

如果您使用 AWS Identity and Access Management (IAM)，您可以控制 AWS 帳戶中哪些使用者具有管理標籤的許可。

## 如何標記資源
<a name="tag-resources"></a>

Amazon ECS 任務、服務、任務定義和叢集有多種標記方式：
+ 使用者使用 AWS 管理主控台、Amazon ECS API AWS CLI、 或 AWS SDK 手動標記資源。
+ 使用者需要建立服務或執行獨立任務，然後選取 Amazon ECS 受管標籤選項。

  Amazon ECS 會自動標記所有新啟動的任務。如需詳細資訊，請參閱[Amazon ECS 受管標籤](#managed-tags)。
+ 使用者可使用主控台建立資源。主控台會自動標記資源。

  這些標籤會傳回 AWS CLI和 AWS SDK 回應，並顯示在 主控台中。您無法修改或刪除這些標籤。

  如需有關新增標籤的資訊，請參閱 **Amazon ECS 資源的標記支援**資料表中的**主控台自動新增的標籤**欄。

如果您在建立資源時指定標籤，但卻無法套用標籤，Amazon ECS 會復原建立程序。這可確保資源不是具有標籤建立，就是不會建立，因此無論何時都不會有不具有標籤的資源。藉由在建立時為資源建立標籤，您可以消除在資源建立後執行自訂標籤指令碼的必要。

下表說明支援標記的 Amazon ECS 資源。


|  資源  |  支援標籤  |  支援標籤傳播  | 主控台自動新增的標籤 | 
| --- | --- | --- | --- | 
| Amazon ECS 任務 | 是 | 是，從任務定義。 | 索引鍵：aws:ecs:clusterName*Value (值)*：`cluster-name` | 
| Amazon ECS 服務 | 是 | 是，從任務定義或服務到服務中的任務。 | 索引鍵：ecs:service:stackId*值*`arn:aws:cloudformation:{{arn}}` | 
| Amazon ECS 任務集 | 是 | 否 | N/A | 
| Amazon ECS 任務定義 | 是 | 否 | 索引鍵：ecs:taskDefinition:createdFrom*Value (值)*：`ecs-console-v2` | 
| Amazon ECS 叢集 | 是 | 否 | 索引鍵：aws:cloudformation:logical-id*Value (值)*：`ECSCluster`索引鍵：aws:cloudformation:stack-id<br />*Value (值)*：`arn:aws:cloudformation:{{arn}}`<br />*索引鍵*：`aws:cloudformation:stack-name`<br />*Value (值)*：`ECS-Console-V2-Cluster-{{EXAMPLE}}` | 
| Amazon ECS 容器執行個體。 | 是 | 是，來自 Amazon EC2 執行個體。如需詳細資訊，請參閱[將標籤新增至 Amazon ECS 的 Amazon EC2 容器執行個體](instance-details-tags.md)。 | N/A | 
| Amazon ECS 外部執行個體 | 是 | 否 | N/A | 
| Amazon ECS 容量提供者 |  是。您無法標記預先定義的 `FARGATE` 和 `FARGATE_SPOT` 容量提供者。 | 是，僅可透過 Amazon ECS 受管執行個體的容量提供者實現。您可以將標籤從 Amazon ECS 受管執行個體的容量提供者傳播至提供者管理的所有資源，例如 Amazon EC2 執行個體、啟動範本、彈性網路介面與磁碟區。 | N/A | 

## 在建立期間標記資源
<a name="tags-on-creation"></a>

下列資源支援使用 Amazon ECS API AWS CLI或 AWS SDK 建立時標記：
+ Amazon ECS 任務
+ Amazon ECS 服務
+ Amazon ECS 任務定義
+ Amazon ECS 任務集
+ Amazon ECS 叢集
+ Amazon ECS 容器執行個體。
+ Amazon ECS 容量提供者

Amazon ECS 可選擇使用標記授權來建立資源。當 AWS 帳戶 設定為標記授權時，使用者必須具有建立資源之動作的許可，例如 `ecsCreateCluster`。如果您在資源建立動作中指定標籤， AWS 會執行額外的授權，以驗證使用者或角色是否具有建立標籤的許可。因此，您必須授予使用 `ecs:TagResource` 動作的明確許可。如需詳細資訊，請參閱[在建立時授予標記資源的許可](supported-iam-actions-tagging.md)。如需關於如何設定此選項的資訊，請參閱[標記授權](ecs-account-settings.md#tag-resources-setting)。

## 限制
<a name="tag-restrictions"></a>

以下限制適用於標籤：
+ 資源最多可與 50 個標籤建立關聯。
+ 單一資源的標籤索引鍵不能重複。每個標籤索引鍵都必須是唯一的，而且只能有一個值。
+ 索引鍵的長度上限是 128 個 UTF-8 字元。
+ 索引鍵的長度上限是 256 個 UTF-8 字元。
+ 如果多個 AWS 服務 和 資源使用您的標記結構描述，請限制您使用的字元類型。某些服務可能對允許的字元設有限制。通常允許的字元為：字母、數字和空格，以及下列字元：`+` `-` `=` `.` `_` `:` `/` `@`。
+ 標籤鍵與值皆區分大小寫。
+ 您無法使用 `aws:`、`AWS:` 或任何大小寫組合作為索引鍵或值的字首。這些僅供保留 AWS 使用。您不可編輯或刪除具此字首的標籤金鑰或值。具此字首的標籤不算在每一資源的標籤數限制內。

## Amazon ECS 受管標籤
<a name="managed-tags"></a>

當您使用 Amazon ECS 受管標籤時，Amazon ECS 會自動標記包含叢集資訊的所有新啟動的任務以及任何連接到任務的 Amazon EBS 磁碟區，使用的標籤是使用者新增的任務定義標籤或服務標籤。以下說明新增的標籤：
+ 獨立任務 – *索引鍵*為 `aws:ecs:clusterName` 且*值*設定為叢集名稱的標籤。使用者新增的所有任務定義標籤。連接至獨立任務的 Amazon EBS 磁碟區會收到一個*鍵*為 `aws:ecs:clusterName` 且*值*設定為叢集名稱的標籤。如需有關 Amazon EBS 磁碟區標記的詳細資訊，請參閱[標記 Amazon EBS 磁碟區](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specify-ebs-config.html#ebs-volume-tagging)。
+ 屬於服務一部分的任務 – *索引鍵*為 `aws:ecs:clusterName` 且*值*設定為叢集名稱的標籤。*索引鍵*為 `aws:ecs:serviceName` 且*值*設定為服務名稱的標籤。來自下列其中一項資源的標籤：
  + 任務定義 – 使用者新增的所有任務定義標籤。
  + 服務 – 使用者新增的所有服務標籤。

    連接至屬於服務之任務的 Amazon EBS 磁碟區將會收到一個*鍵*為 `aws:ecs:clusterName` 且*值*設定為叢集名稱的標籤，以及一個*鍵*為 `aws:ecs:serviceName` 且*值*設定為服務名稱的標籤。如需有關 Amazon EBS 磁碟區標記的詳細資訊，請參閱[標記 Amazon EBS 磁碟區](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specify-ebs-config.html#ebs-volume-tagging)。

對此功能而言，下列選項為必要：
+ 您必須選擇加入新的 Amazon Resource Name (ARN) 和資源識別符 (ID) 格式。如需詳細資訊，請參閱[Amazon Resource Name (ARN) 和 ID](ecs-account-settings.md#ecs-resource-ids)。
+ 當您使用 API 建立服務或執行工作時，您必須為 `run-task` 和 `create-service` 將 `enableECSManagedTags` 設定至 `true`。如需詳細資訊，請參閱 [AWS Command Line Interface API 參考](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html)中的 [create-service](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html) 和 *run-task*。
+ Amazon ECS 使用受管標籤來判斷何時啟用某些功能，例如叢集自動擴展。建議不要手動修改標籤，以便 Amazon ECS 能夠有效管理這些功能。

## 將標籤用於計費
<a name="tag-resources-for-billing"></a>

AWS 提供名為 Cost Explorer 的報告工具，可用來分析 Amazon ECS 資源的成本和用量。

您可以使用 Cost Explorer 來檢視用量和成本的圖表。您可以檢視過去 13 個月以來的資料，並預測未來三個月的可能花費。您可以使用 Cost Explorer 來查看在一段時間內的 AWS 資源支出模式。例如，您可以用它來找出需進一步調查的領域，以及查看您可用來了解成本的趨勢。您也可以指定資料的時間範圍，以及根據天或月檢視時間資料。

您可以將 Amazon ECS 受管標籤或使用者新增的標籤用於成本和用量報告。如需詳細資訊，請參閱[Amazon ECS 用量報告](usage-reports.md)。

若想要查看合併資源的成本，您可根據具有相同標籤金鑰值的資源來整理您的帳單資訊。例如，您可以使用特定應用程式名稱來標記數個資源，然後整理帳單資訊以查看該應用程式跨數項服務的總成本。如需有關使用標籤設定成本分配報告的詳細資訊，請參閱《AWS Billing 使用者指南》**中的[每月成本分配報告](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html)。

此外，您可以開啟*拆分成本分配資料*，在成本和用量報告中取得任務層級 CPU 和記憶體用量資料。如需詳細資訊，請參閱[任務層級成本和用量報告](usage-reports.md#task-cur)。

**注意**  
若您開啟報告，目前月份的資料會在 24 小時之後提供檢視。