向 Amazon ECS 容器实例添加标签 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

向 Amazon ECS 容器实例添加标签

您可以使用以下方法之一将标签与您的容器实例相关联:

  • 方法 1 - 在使用 Amazon EC2 API、CLI 或控制台创建容器实例时,通过使用容器代理配置参数 ECS_CONTAINER_INSTANCE_TAGS 将用户数据传递到实例来指定标签。这只创建与 Amazon ECS 中的容器实例关联的标签,而无法使用 Amazon EC2 API 列出这些标签。有关更多信息,请参阅 引导启动 Amazon ECS Linux 容器实例以传递数据

    重要

    如果使用 Amazon EC2 Auto Scaling 组启动容器实例,则应使用 ECS_CONTAINER_INSTANCE_TAGS 配置参数添加标签。这是由标签添加到使用 自动扩缩组启动的 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 policy

    • ec2:DescribeTags

    以下是用于添加这些权限的示例策略。

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

外部容器实例

您可以使用以下方法之一将标签与您的外部容器实例相关联。

  • 方法 1–在运行安装脚本向集群注册外部实例之前,请在 /etc/ecs/ecs.config 处创建或编辑 Amazon ECS 容器代理配置文件,并添加 ECS_CONTAINER_INSTANCE_TAGS 容器代理配置参数。这将创建与外部实例关联的标签。

    以下是示例语法。

    ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"}
  • 方法 2 – 将外部实例注册到集群后,您可以使用 Amazon Web Services Management Console 添加标签。有关更多信息,请参阅 为现有资源添加标签(Amazon ECS 控制台)