标记您的 Amazon ECS 资源 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

标记您的 Amazon ECS 资源

帮助您管理 Amazon ECS 资源,您可以选择分配自己的元数据 使用 标签. 此主题概述了 标签插入 Amazon ECS 以及如何创建它们。

重要

要使用此功能,您必须选择使用新的RegenteringResourceName(ARN)和 资源标识符(ID)格式。更多信息,请参阅 物料名称(ARN)和ID.

标签基础知识

标签是您为 AWS 资源。每个标签由一个 关键 以及可选的 价值,两者 定义。

标记使您能够对自己的 AWS 资源,例如, 目标、所有者或环境。当您有很多资源 相同类型。您可以根据已有的标签快速识别特定资源 分配给它。例如,您可以为帐户的 Amazon ECS 容器实例,以帮助您跟踪每个实例的所有者和堆栈级别。

我们建议您设计一套标签键,以满足您对每个 资源类型。使用一组一致的标记键,使您更易于管理 您的资源。您可以根据标签搜索和筛选资源 添加。

标签没有任何语义含义 Amazon ECS 并被严格解释为 字符串。此外,不会自动将标记分配给您的资源。您可以编辑标记键和值,并且可以在任何 时间。您可以将标记的值设置为空的串,但不能设置该值 标记为null。如果您添加的标记与现有标记的密钥相同, 资源,新值将覆盖较早的值。如果您删除资源, 资源的标记也已删除。

您可以使用 AWS 管理控制台, AWS CLI和 Amazon ECS API。

如果您使用 AWS Identity and Access Management (IAM),您可以控制您的 AWS 客户 具有管理标签的权限。

标记您的资源

您可以标记新的或现有的 Amazon ECS 任务、服务、任务定义,以及 群集。

如果你使用 Amazon ECS 您可以将标记应用到新的或现有资源 通过使用 标签 相关资源页面上的选项卡, 时间。的 从以下位置传播标签 选项可用于复制标签 从任务定义或服务到任务。当您在跑步时 任务或创建服务。

如果你使用 Amazon ECS API, AWS CLI,或 AWS 可以将标记应用到 新的资源, tags 参数。或者, 或者,您可以使用 TagResource 应用标签的API操作 现有资源。更多信息,请参阅 Tag资源. 的 传播标记 参数可用于从 任务定义或服务。当您在执行一项任务时,可以完成这项工作 或创建服务。更多信息,请参阅 运行任务创建服务.

此外,一些资源创建操作使您能够为 创建资源时的资源。如果在资源 我们撤销了创建资源的流程。这确保了 资源要么使用标签创建,要么根本不创建,并且没有资源 未标记。在创建资源时对其进行标记, 可以消除在资源创建后运行自定义标记脚本的需要。

下表描述了 Amazon ECS 可以标记的资源,以及 创建时可以标记的资源。

标签支持 Amazon ECS 资源

资源

支持标签

支持标签传播

在创建时支持标记(Amazon ECS API, AWS CLI, AWS (SDK)

Amazon ECS 任务

是的,根据任务定义。

Amazon ECS 服务

是的,从任务定义或服务到 服务中的任务。

Amazon ECS 任务集

Amazon ECS 任务定义

Amazon ECS 簇

Amazon ECS 容器实例

是的,来自 Amazon EC2 实例。更多信息,请参阅 向容器添加标记 实例.

标记限制

以下基本限制适用于标签

  • 每个资源的最大标记数 – 50

  • 对于每个资源,每个标签密钥必须是唯一的,每个标签密钥可以 只有一个值。

  • 最大密钥长度 – UTF-8中的128个Unicode字符

  • 最大值长度 – UTF-8中有256个Unicode字符

  • 如果您的标记方案在多个服务和资源中使用, 请记住,其他服务可能限制允许的字符。一般允许的字符包括:字母、数字和可代表的空白 和以下字符:+-=._:/@。

  • 标记键和值区分大小写。

  • 不要使用 aws:, AWS:,或任何大写或小写 的组合,例如键或值的前缀。这些是 仅保留 AWS 使用。您不能编辑或删除标记键或值 前缀为。具有此前缀的标记不计入您的标记 资源限制。

为您的资源添加标签 开票

当您启用 Amazon ECS-管理标签, Amazon ECS 自动标记所有新启动的 具有群集名称的任务。对于属于服务的任务,它们也是 标记有服务名称。这些管理标签在审查成本时很有帮助 在成本和使用报告中启用后进行分配。如需了解更多信息, 看到 Amazon ECS 使用报告.

要查看合并资源的成本,您可以组织计费 基于具有相同标记键值的资源的信息。例如, 可以使用特定应用程序名称标记多个资源,然后组织您的 开票信息,以查看该应用程序在几个 服务。有关使用标记设置成本分配报告的更多信息, 看到 每月成本 分配报告AWS Billing and Cost Management 用户指南.

重要

要使用此功能,您必须选择使用新的RegenteringResourceName(ARN)和 资源标识符(ID)格式。更多信息,请参阅 物料名称(ARN)和ID.

注意

如果您启用了报告功能,当月的数据可用于 24小时后查看。

使用控制台处理标签

使用 Amazon ECS 您可以管理与新的或现有 任务、服务、任务定义、群集或容器实例。

当您在 Amazon ECS 则显示列表 资源。例如,如果您选择 起始 ,则控制台会显示列表 Amazon ECS 群集。当您选择 支持以下资源的其中一个列表(例如,特定群集) 您可以在 标签 选项卡。

在单个资源上添加标记 启动期间

在创建 资源。

任务

控制台

运行一个或多个任务。

运行任务

创建服务。

创建服务

创建任务集。

外部部署

注册任务定义。

创建任务定义

创建群集。

创建群集

运行一个或多个容器实例。

启动 Amazon ECS 容器 实例

在 个人资源

Amazon ECS 允许您添加或删除与群集关联的标记, 服务、任务和任务定义。有关标记容器实例的信息,请参阅 向容器添加标记 实例.

将标记添加到单个资源

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在导航栏中,选择要使用的区域。

  3. 在导航面板中,选择资源类型(例如, )。

  4. 从资源列表中选择资源,然后选择 标签, 编辑.

  5. 编辑标记 对话框,指定键和 每个标签的值,然后选择 保存.

从单个资源中删除标记

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在导航栏中,选择要使用的区域。

  3. 在导航面板中,选择资源类型(例如, )。

  4. 从资源列表中选择资源,然后选择 标签, 编辑.

  5. 编辑标记 页面,选择 删除 您想删除的每个标记的图标, 并选择 保存.

向容器添加标记 实例

您可以使用其中一个 以下方法:

  • 方法1 – 当使用 Amazon EC2 API、CLI或控制台,通过将用户数据传递给实例来指定标记 使用容器代理配置参数 ECS_CONTAINER_INSTANCE_TAGS。这会创建 与中的容器实例相关 Amazon ECS 只有他们不能 使用 Amazon EC2 API。更多信息,请参阅 使用的引导容器实例 Amazon EC2 用户数据.

    重要

    如果您使用 Amazon EC2 Auto Scaling 组启动容器实例,则应使用 ECS_CONTAINER_INSTANCE_TAGS 代理配置参数添加标签。这是将标签添加到使用 Auto Scaling 组所启动的 Amazon EC2 实例的方式决定的。

    以下是用户数据脚本的示例 将标记与您的容器实例相关联:

    #!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=MyCluster ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"} EOF
  • 方法2 – 当使用 Amazon EC2 API、CLI或控制台,使用 TagSpecification.N 然后传递用户数据 使用容器代理配置参数到实例 ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM。这么做 传播来自 Amazon EC2 至 Amazon ECS.

    以下是传播 与 Amazon EC2 实例,并向 一个名为 MyCluster:

    #!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=MyCluster ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance EOF

    提供允许容器实例标记从以下位置传播的访问权限 Amazon EC2 至 Amazon ECS,手动将以下权限添加为在线 政策 Amazon ECS 容器实例 IAM 角色。如需了解更多信息, 看到 添加和删除IAM策略.

    • ec2:DescribeTags

    以下是用于添加这些 权限。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeTags" ], "Resource": "*" } ] }

使用CLI或 API

使用以下方法添加、更新、列出和删除您资源的标签。相应的文档提供了示例。

标签支持 Amazon ECS 资源

任务

清辛革辛自在

API操作

添加或覆盖一个或多个标记。

标签资源

Tag资源

删除一个或多个标记。

揭牌资源

取消标记资源

以下示例显示了如何使用 AWS CLI.

示例1: 标记现有群集

下列命令标记现有群集。

aws ecs tag-resource --resource-arn resource_ARN --tags key=stack,value=dev

示例2: 取消标记现有群集

下列命令可从现有群集中删除标记。

aws ecs untag-resource --resource-arn resource_ARN --tag-keys tag_key

示例3: 列出资源标签

下列命令列出了与现有 资源。

aws ecs list-tags-for-resource --resource-arn resource_ARN

有些资源创建操作允许您在创建 资源。以下操作支持在创建时标记。

任务

AWS CLI

适用于 Windows PowerShell 的 AWS 工具

API操作

运行一个或多个任务。

运行任务

开始-ECS任务

运行任务

创建服务。

创建服务

新ECS服务

创建服务

创建任务集。

创建任务集

新ECS任务集

创建任务集

注册任务定义。

寄存器-任务-定义

注册-ECS任务定义

登记任务定义

创建群集。

创建群集

新-ECSC簇

创建群集

运行一个或多个容器实例。

导入期

新-EC2实例

运行实例

以下示例展示当您创建 资源。

示例1: 创建群集并应用标记

下列命令创建名为 devcluster 并增加 带有键的标签 team 和价值 devs.

aws ecs create-cluster --cluster-name devcluster --tags key=team,value=devs

示例2: 创建服务并应用标记

下列命令创建一个名为 application 和 添加带有键的标记 stack 和价值 dev.

aws ecs create-service --service-name application --task-definition task-def-app --tags key=stack,value=dev

示例3: 创建带有标记的服务并传播标记

--propagateTags 参数可用于复制 任务定义或服务中任务的服务。以下内容 命令创建带有标记的服务,并将其传播到 服务。

aws ecs create-service --service-name application --task-definition task-def-app --tags key=stack,value=dev --propagateTags Service