向 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 控制台)。