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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

亚马逊 ECS 资源标记

为了帮助您管理 Amazon ECS 资源,您可以选择使用标签将自己的元数据分配给任何基于 ARN 的资源。每个标签都由一个和一个可选组成。

您可以使用标签按照不同方式(例如按用途、所有者或环境)对 Amazon ECS 资源进行分类。这在您有许多相同类型的资源时会非常有用。您可以根据分配到特定资源的标签来快速识别该资源。例如,您可以为您账户的 Amazon ECS 实例定义一组标签。这有助于您跟踪每个实例的所有者和堆栈级别。

您可以将标签用于成本和使用情况报告。您可以使用这些报告来分析 Amazon ECS 资源的成本和使用情况。有关更多信息,请参阅Amazon ECS 使用率报告

警告

有许多 API 会返回标签密钥及其值。拒绝访问 DescribeTags 不会自动拒绝访问其他 API 返回的标签。作为最佳实践,我们建议您不要在标签中包含敏感数据。

我们建议您针对每类资源设计一组标签,以满足您的需要。您可以使用一组一致的标签键来更轻松地管理您的资源。您可以根据添加的标签搜索和筛选资源。

标签对 Amazon ECS 没有任何语义意义,应严格按字符串进行解析。您可以修改标签的密钥和值,还可以随时删除资源的标签。您可以将标签的值设为空的字符串,但是不能将其设为空值。如果您添加的标签的键与该资源上现有标签的键相同,则新值会覆盖旧值。删除资源时,该资源的所有标签也会被删除。

如果您使用 Amazon Identity and Access Management (IAM),则可以控制 Amazon 账户中哪些用户有权管理标签。

如何为资源添加标签

有多种方式可以为 Amazon ECS 任务、服务、任务定义和集群添加标签:

  • 用户使用 Amazon Web Services Management Console、Amazon ECS API Amazon CLI、或 Amazon 软件开发工具包手动标记资源。

  • 用户创建服务或运行独立任务,然后选择 Amazon ECS 托管标签选项。

    Amazon ECS 会自动为所有新启动的任务添加标签。有关更多信息,请参阅Amazon ECS 托管标签

  • 用户使用控制台创建资源。控制台会自动为资源添加标签。

    这些标签在和 Amazon SDK 的响应中返回 Amazon CLI,并显示在控制台中。您无法修改或删除这些标签。

    有关添加的标签的信息,请参阅 Amazon ECS 资源标签支持表中的控制台自动添加的标签列。

如果您在创建资源时指定了标签但无法应用标签,Amazon ECS 会回滚创建过程。这样可确保要么创建带有标签的资源,要么根本不创建资源,即任何时候都不会创建出未标记的资源。通过在创建资源时对其进行标记,无需在创建资源后运行自定义标记脚本。

下表描述了支持标签的 Amazon ECS 资源。

Amazon ECS 资源标记支持
资源 支持标签 支持标签传播 控制台自动添加的标签

Amazon ECS 任务

是,从任务定义。

aws:ecs:clusterName

cluster-name

Amazon ECS 服务

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

ecs:service:stackId

arn:aws:cloudformation:arn

Amazon ECS 任务集

不适用

Amazon ECS 任务定义

ecs:taskDefinition:createdFrom

ecs-console-v2

Amazon ECS 集群

aws:cloudformation:logical-id

ECSCluster

aws:cloudformation:stack-id

arn:aws:cloudformation:arn

aws:cloudformation:stack-name

ECS-Console-V2-Cluster-EXAMPLE

Amazon ECS 容器实例。

是,从 Amazon EC2 实例。有关更多信息,请参阅向 Amazon EC2 容器实例添加标签

不适用

Amazon ECS 外部实例

不适用
Amazon ECS 容量提供程序 是。

您不能为预定义的 FARGATEFARGATE_SPOT 容量提供程序添加标签。

不适用

在创建时标记资源

以下资源支持使用 Amazon ECS API 或 Amazon 软件开发工具包在创建时进行标记: Amazon CLI

  • Amazon ECS 任务

  • Amazon ECS 服务

  • Amazon ECS 任务定义

  • Amazon ECS 任务集

  • Amazon ECS 集群

  • Amazon ECS 容器实例。

  • Amazon ECS 容量提供程序

Amazon ECS 可以选择使用标记授权来创建资源。当配置 Amazon Web Services 账户 为标记授权时,用户必须拥有创建资源的操作的权限,例如ecsCreateCluster。如果您在资源创建操作中指定标签,则 Amazon 会执行额外授权以验证用户或角色是否有权创建标签。因此,您必须授予使用 ecs:TagResource 操作的显式权限。有关更多信息,请参阅在创建时授予标记资源的权限。有关如何配置该选项的信息,请参见标记授权

限制

以下限制适用于标签:

  • 一个资源最多可以关联 50 个标签。

  • 不能对一个资源重复使用标签键。每个标签键必须具有唯一性,而且只能有一个值。

  • 键最长可达 128 个字符(采用 UTF-8 格式)。

  • 值最长可达 256 个字符(采用 UTF-8 格式)。

  • 如果多个 Amazon Web Services 资源使用您的标记架构,请限制您使用的字符类型。某些服务可能对允许使用的字符有限制。通常允许使用的字符包括字母、数字、空格以及以下字符:+ - = . _ : / @

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

  • 不能使用 aws:AWS: 或它们的任何大写或小写组合作为键或值的前缀。这些仅供 Amazon 使用。无法编辑或删除带此前缀的标签键或值。带有此前缀的标签不计入您的 tags-per-resource 限制。

Amazon ECS 托管标签

当您使用 Amazon ECS 管理的标签时,Amazon ECS 会自动使用集群信息以及用户添加的任务定义标签或服务标签来标记所有新启动的任务和附加到任务的任何 Amazon EBS 卷。下面介绍了添加的标签:

  • 独立任务 – aws:ecs:clusterName设置为集群名称的标签。用户添加的所有任务定义标签。附加到独立任务的 Amazon EBS 卷将收到带有密钥aws:ecs:clusterName设置为集群名称的标签。有关 Amazon EBS 卷标记的更多信息,请参阅标记 Amazon EBS 卷。

  • 服务所包含的任务 – aws:ecs:clusterName设置为集群名称的标签。aws:ecs:serviceName设置为服务名称的标签。来自以下资源之一的标签:

    • 任务定义 – 用户添加的所有任务定义标签。

    • 服务 – 用户添加的所有服务标签。

      附加到作为服务一部分的任务的 Amazon EBS 卷将收到一个密钥aws:ecs:clusterName设置为集群名称的标签,以及一个密钥aws:ecs:serviceName设置为服务名称的标签。有关 Amazon EBS 卷标记的更多信息,请参阅标记 Amazon EBS 卷。

此功能需要以下选项:

  • 您必须选择使用新的 Amazon 资源名称 (ARN) 和资源标识符 (ID) 格式。有关更多信息,请参阅Amazon Resource Names (ARN) 和 ID

  • 当您使用 API 创建服务或运行任务时,您必须将 run-taskcreate-serviceenableECSManagedTags 设置为 true。有关更多信息,请参阅 Amazon Command Line Interface API 参考中的 create-servicerun-task

  • Amazon ECS 使用托管标签来确定何时启用某些功能,例如集群自动扩缩。我们建议您不要手动修改标签,以便 Amazon ECS 可以有效地管理这些功能。

标记资源以便于计费

Amazon 提供了一个名为 Cost Explorer 的报告工具,您可以使用该工具来分析 Amazon ECS 资源的成本和使用情况。

您可以使用 Cost Explorer 查看用量和成本的图表。您可以查看过去 13 个月的数据,并预测您在接下来三个月内可能产生的费用。您可以使用 Cost Explorer 查看您在 Amazon 资源上花费的时间模式。如,您可以使用它来确定需要进一步查询的方面,并查看可用于了解成本的趋势。您还可以指定数据的时间范围,并按天或按月查看时间数据。

您可以为成本和使用情况报告使用 Amazon ECS 托管标签或用户添加的标签。有关更多信息,请参阅Amazon ECS 使用率报告

如需查看组合资源的成本,请按具有相同标签键值的资源组织您的账单信息。例如,您可以将特定的应用程序名称用作几个资源的标签,然后组织账单信息,以查看在数个服务中的使用该应用程序的总成本。有关设置带有标签的成本分配报告的更多信息,请参阅 Amazon Billing 用户指南中的月度成本分配报告

此外,您可以启用拆分成本分配数据,以获取成本和使用量报告中的任务级 CPU 和内存使用情况数据。有关更多信息,请参阅任务级成本和使用量报告

注意

如果已启用报告,则最多需要 24 小时才能后查看当月的数据。