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 エージェント設定パラメータを使用してタグを追加する必要があります。これは、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 に伝達されることを許可するには、以下のアクセス許可を コンテナインスタンスの IAM ロールにインラインポリシーとして手動で追加します。詳細については、「IAM ポリシーの追加と削除」を参照してください。
-
ec2:DescribeTags
これらのアクセス許可を追加するために使用される、ポリシーの例を次に示します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeTags" ], "Resource": "*" } ] }
-
外部コンテナインスタンス
次のいずれかの方法を使用して、外部コンテナインスタンスにタグを関連付けることができます。
-
方法 1 — インストールスクリプトを実行して外部インスタンスをクラスターに登録する前に、Amazon ECS コンテナエージェント設定ファイル (
/etc/ecs/ecs.config
を追加しECS_CONTAINER_INSTANCE_TAGS
コンテナエージェント設定パラメーター。これにより、外部インスタンスに関連付けられているタグが作成されます。構文の例を次に示します。
ECS_CONTAINER_INSTANCE_TAGS={"
tag_key
": "tag_value
"} -
方法 2 — 外部インスタンスがクラスターに登録された後、AWS Management Console を使用して、タグを追加できます。詳細については、「既存のリソースにタグを追加する (Amazon ECS コンソール)」を参照してください。