

# 向 Amazon ECS 的 Amazon EC2 容器实例添加标签
<a name="instance-details-tags"></a>

您可以使用以下方法之一将标签与 Amazon ECS 的 Amazon EC2 容器实例关联：
+ 方法 1：在使用 Amazon EC2 API、CLI 或控制台创建容器实例时，通过使用容器代理配置参数 `ECS_CONTAINER_INSTANCE_TAGS` 将用户数据传递到实例来指定标签。这只创建与 Amazon ECS 中的容器实例关联的标签，而无法使用 Amazon EC2 API 列出这些标签。有关更多信息，请参阅 [引导启动 Amazon ECS Linux 容器实例以传递数据](bootstrap_container_instance.md)。
**重要**  
如果使用 Amazon EC2 Auto Scaling 组启动容器实例，则应使用 ECS\$1CONTAINER\$1INSTANCE\$1TAGS 配置参数添加标签。这是由标签添加到使用 自动扩缩组启动的 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 策略。](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)
  + `ec2:DescribeTags`

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

------
#### [ JSON ]

****  

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

------