Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
如何對 Amazon ECS 任務的標籤問題進行疑難排解?
我想要對 Amazon Elastic Container Service (Amazon ECS) 任務標籤問題進行疑難排解。
解決方法
注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,則請參閱對 AWS CLI 進行錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
當您使用 Amazon ECS 設定任務標籤時,可能會遇到下列問題:
- 您的標籤不會從服務或任務定義傳播到任務。
- 標籤的 ARN 和資源 ID 格式已過期。
- 由於缺少 AWS Identity and Access Management (IAM) 權限或標籤限制,您無法建立新的 Amazon ECS 資源或新增標籤。
- 您無法在 AWS 帳單與成本管理主控台的帳單頁面上看到 Amazon ECS 標籤。
使用 PropagateTags 參數從服務或任務定義傳播到任務
依預設,不會啟動 PropagateTags 參數。若要將標籤從任務定義或服務複製到任務,請啟動 PropagateTags。您可以在執行任務、建立服務或更新服務時複製標籤。
注意: 在以下命令中,將 servicename 替換為您的服務名稱,將 clustername 替換為您的叢集名稱,將 region 替換為您的 AWS 區域。另外,將 taskdefinitionname 替換為您的任務定義名稱,將 taskdefinitionversion 替換為您的任務定義版本。
若要檢查 PropagateTags 是否在特定服務中啟動,請執行以下 describe-services 命令:
aws ecs describe-services --services servicename --cluster clustername --region region --query 'services[*].propagateTags' --output text
若要為新的獨立任務啟動標籤傳播,請執行下列 run-task 命令:
aws ecs run-task --cluster clustername --task-definition taskdefinitionname:taskdefinitionversion --launch-type FARGATE/EC2 --propagate-tags TASK_DEFINITION/SERVICE
若要為新服務啟動標籤傳播,請執行下列 create-service 命令:
aws ecs create-service --cluster clustername --service-name servicename --task-definition taskdefinitionname:taskdefinitionversion --desired-count 2 --launch-type FARGATE --platform-version LATEST --network-configuration "awsvpcConfiguration={subnets=[subnet-abcdef123],securityGroups=[sg-pqrst5678]}" --propagateTags TASK_DEFINITION/SERVICE
若要啟動現有服務的標籤傳播,請執行下列 update-service 命令:
aws ecs update-service --cluster clustername --service servicename --propagate-tags SERVICE/TASK_DEFINITION --force-new-deployment
您也可以使用 Amazon ECS 主控台來啟用標籤傳播。
請完成下列步驟:
- 開啟 Amazon ECS 主控台。
- 選取您 Amazon ECS 資源所屬的區域。
- 在導覽窗格中,選擇 Task definitions (任務定義)。
- 從資源清單中選取任務定義,然後選擇 Actions (動作)。
- 選擇 Create service (建立服務) 或 Run task (執行任務)。
- 在 Task tagging configuration (任務標記組態) 中,選取 Service (服務) 或 Task definitions (任務定義)。
注意: 預設選項為 Do not propagate (請勿傳播)。
若要使用 AWS CloudFormation 在 Amazon ECS 中設定標籤,您必須宣告 AWS::ECS::Service 資源。若要宣告 AWS::ECS::Service,請使用具有 SERVICE 或 TASK_DEFINITION 值的 EnableECSManagedTags 和 PropagateTags 屬性。
注意:
- 若要在 CloudFormation 中建立堆疊後使用與 Amazon ECS 屬性相關的服務標籤,您必須更新堆疊和資源替換。如需詳細資訊,請參閱了解堆疊資源的更新行為。
- 您可以存取相同的已排定的任務組態,就像存取從 Amazon ECS RunTask API 直接啟動的任務一樣。
使用正確的 ARN 格式
若要標記 Amazon ECS 資源,您必須使用新的 ARN 和 ID 格式。若要將 ECS 部署移轉至新格式,請參閱將您的 Amazon ECS 部署移轉到新的 ARN 和資源 ID 格式。
注意: 只有當您重新建立資源後,現有資源才會接收新的 ARN 格式。
確認 IAM 實體具有必要的權限,並檢查標籤限制
所有 AWS 帳戶都使用標記授權。若要在建立 Amazon ECS 資源時為其新增標籤,IAM 主體必須具有 ecs:TagResource 權限。以下 Amazon ECS API 也必須具有此權限:
- CreateCapacityProvider
- CreateCluster
- CreateService
- CreateTaskSet
- RegisterContainerInstance
- RegisterTaskDefinition
- RunTask
- StartTask
如果您無法為 Amazon ECS 服務新增標籤或建立資源,請完成下列步驟來解決此問題:
- 查看 AWS CloudTrail 事件以瞭解 TagResource 事件。
- 檢閱下列其中一個錯誤訊息的事件:
"AccessDenied"
-或-
「目前無法更新標籤。請等待幾分鐘,然後再試一次」
如果您收到上述錯誤之一,則表示 IAM 實體沒有 ecs:TagResource 權限。 - 使用 IAM 主控台或 AWS CLI 將 ecs:TagResource 權限新增至 IAM 實體。
- 重新建立資源,或再次將標籤新增至 Amazon ECS 叢集。
- 確認您的 Amazon ECS 標籤符合標籤限制。
檢查您是否有帳單與成本管理問題
如果您無法透過標籤篩選 Amazon ECS 任務來檢查成本,請確認 Amazon ECS 任務上是否有必要的標籤。執行以下 list-tags-for-resource 命令:
aws ecs list-tags-for-resource --resource-arn value
注意: 用您的任務 ARN 替換 value (值)。
若要使用 Amazon ECS 主控台檢查 Amazon ECS 任務上的標籤,請完成下列步驟:
- 開啟 Amazon ECS 主控台。
- 選取您 Amazon ECS 資源所屬的區域。
- 在導覽窗格中,選擇資源類型,例如 Clusters (叢集)。
- 選取您的資源,然後選擇 Tags (標籤) 以查看該資源的所有標籤。
若要檢查受管標籤,您必須啟動 Amazon ECS 受管標籤。若要檢查 Amazon ECS 受管標籤是否已啟動,請執行以下 describe-services 命令:
aws ecs describe-services --services servicename --cluster clustername --region region --query 'services[*].enableECSManagedTags' --output text
注意: 將 servicename 替換為您的服務名稱,將 clustername 替換為您的叢集名稱,將 region 替換為您的區域。
在命令的輸出中,檢查 enableECSManagedTags 是否設定為 true。
若要使用主控台啟動 Amazon ECS 受管標籤,請完成下列步驟:
- 開啟 Amazon ECS 主控台。
- 選取您 Amazon ECS 資源所屬的區域。
- 在導覽窗格中,選擇 Task definitions (任務定義)。
- 從資源清單中選取任務定義,然後選擇 Actions (動作)。
- 選擇 Create service (建立服務) 或 Run task (執行任務)。
- 在 Task tagging configuration (任務標記組態) 中,選擇 Enable ECS managed tags (啟用 ECS 受管標籤)。
若要使用 AWS CLI 啟動 Amazon ECS 受管標籤,請執行 update-service 命令:
aws ecs update-service --cluster clustername --service servicename --enable-ecs-managed-tags --force-new-deployment
注意: 將 clustername 替換為您的叢集名稱,將 servicename 替換為您的服務名稱。
即使您在 AWS Cost Explorer 中看不到標籤,您用於計費的標籤也可能會列出。若要解決此問題,請在帳單與成本管理主控台上啟動成本分配標籤。
**注意:**最多可能需要 24 小時來啟用標籤。
相關資訊

相關內容
- 已提問 2 年前lg...
- 已提問 5 個月前lg...
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 2 年前