ECS タスクのタグ付けに関連する問題をトラブルシューティングするにはどうすればよいですか?

最終更新日: 2022 年 4 月 1 日

Amazon Elastic Container Service (Amazon ECS) タスクのタグに問題があります。これをトラブルシューティングするにはどうすればよいですか?

解決方法

Amazon ECS でタグを設定する場合、次の問題が発生する可能性があります。

  • タグがサービスまたはタスク定義からタスクに伝播されない。
  • タグの Amazon リソースネーム (ARN) とリソース ID の形式が古い。
  • AWS Identity and Access Management (IAM) 許可がないか、タグの制限があるため、ECS リソースにタグを追加できない。
  • AWS Billing ダッシュボードに ECS タグが表示されない。

これらの問題をトラブルシューティングするには、次の操作を行います。

PropagateTags パラメータを使用して、サービスまたはタスク定義からタスクに伝播されていることを確認する

PropagateTags パラメータを使用すると、タスク定義またはサービスからタスクにタグをコピーできます。これは、タスクの実行時またはサービスの作成時に実行できます。このパラメータはデフォルトではオンになっていません。

PropagateTags が特定のサービスで使用されているかどうかを確認するには、AWS CLI で次のコマンドを実行し、servicenameclustername、および region を適切な値に置き換えます。

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].propagateTags' --output text

CLI を使用してサービスまたはタスク定義から伝播するようにタグを設定するには、RunTask および CreateService API を参照してください。

コンソールを使用してタグの伝播をアクティブ化するには、次の手順を実行します。

  1. Amazon ECS コンソールを開きます。
  2. ECS リソースの AWS リージョンを選択します。
  3. ナビゲーションペインで、[Task Definitions] (タスク定義) を選択します。
  4. リソースリストからタスク定義を選択し、[Actions] (アクション) を選択します。その後、[Create Service] (サービスの作成) または [Run Task] (タスクの実行) を選択します。
  5. [Task tagging configuration] (タスクのタグ付け設定) で、[Propagate tags from] (タグの伝播元) の横にある [Service] (サービス) または [Task definitions] (タスク定義) を選択します。
    注: デフォルトのオプションは [Do not propagate] (伝播しない) です。

AWS CloudFormation を使用して ECS でタグを使用するには、SERVICE または TASK_DEFINITION の値を持つ EnableECSManagedTags プロパティと PropagateTags プロパティを使用して AWS::ECS::Service というエンティティを宣言する必要があります。

:

  • CloudFormation でスタックを作成した後に ECS サービスのタグ関連のプロパティを使用するには、スタックの更新とリソースの置き換えが必要になります。つまり、サービスが削除され、CloudFormation を通じて再作成されます。
  • PropagateTags パラメータは、タスクの実行時またはサービスの作成時にのみ使用できます。詳細については、RunTask および CreateService API を参照してください。
  • Amazon ECS の RunTask API を使用して直接起動されたタスクの設定にアクセスするのと同様に、スケジュールされたタスクの同じ設定にアクセスできます。

新しい ARN 形式を使用していることを確認する

Amazon ECS リソースにタグ付けできるようにするには、新しい Amazon リソースネーム (ARN) と ID 形式を使用する必要があります。

2 つの形式の例:

  • 古い形式: arn:aws:ecs:region:aws_account_id:service/service-name
  • 新しい形式: arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

ECS デプロイを新しい ARN およびリソース ID 形式に移行するには、「Migrating your Amazon ECS deployment to the new ARN and resource ID format」(Amazon ECS デプロイを新しい ARN およびリソース ID 形式に移行する) を参照してください。

注: 既存のリソースは、再作成されるまで、タグ付け中に新しい ARN 形式を受け取ることはありません。

IAM エンティティに必要な許可があることを確認し、タグの制限を確認する

ECS サービスにタグを追加できない場合は、次の手順を実行します。

  1. CloudTrail コンソールの CloudTrail イベントTagResource イベントを確認します。
  2. AccessDenied」または「The tags cannot be updated at this time.Wait a few minutes and try again」(タグは現時点では更新できません。数分待ってからもう一度お試しください) のいずれかのエラーが表示された場合、IAM エンティティには ecs:TagResource 許可がありません。
  3. これを解決するには、ecs:TagResource 許可を IAM エンティティに追加します。
  4. 許可を追加したら、ECS クラスターへのタグの追加を再試行します。

ECS タグがタグ制限の範囲内にあることを確認します。タグの制限を確認するには、「タグの制限」を参照してください。

AWS Billing and Cost Management の問題であるかどうかを確認する

ECS タスクのレベルで必要なタグが存在することを確認するには、AWS CLI で次のコマンドを実行し、value を ARN に置き換えます。

aws ecs list-tags-for-resource --resource-arn <value>

コンソールを使用して ECS タスクのレベルで必要なタグが存在することを確認するには、次の手順を実行します。

  1. Amazon ECS コンソールを開きます。
  2. ECS リソースの AWS リージョンを選択します。
  3. ナビゲーションペインで、リソースタイプ ([Clusters] (クラスター) など) を選択します。
  4. リソースのリストからリソースを選択し、[Tags]
    (タグ) を選択します。タグが存在する場合は、そのタグが一覧表示されます。

マネージドタグを検索する場合は、ECS-managed をオンにする必要があります。次のコマンドを実行し、servicenameclustername、および region を適切な値に置き換えて、ECS-managed のステータスを確認します。

aws ecs describe-services --services <servicename> --cluster <clustername> --region <region> --query 'services[*].enableECSManagedTags' --output text

コマンド出力には enableECSManagedTags 値が含まれます。

CLI を使用してサービスの作成中またはタスクの実行中に ECS-managed タグをアクティブ化できます。詳細については、RunTask および CreateService API を参照してください。

コンソールを使用して ECS-managed タグをアクティブ化するには、次の手順を実行します。

  1. Amazon ECS コンソールを開きます。
  2. ECS リソースの AWS リージョンを選択します。
  3. ナビゲーションペインで、[Task Definitions] (タスク定義) を選択します。
  4. リソースリストからタスク定義を選択し、[Actions] (アクション) を選択します。その後、[Create Service] (サービスの作成) または [Run Task] (タスクの実行) を選択します。
  5. [Task tagging configuration] (タスクのタグ付け設定) で、[Enable ECS managed tags] (ECS で管理されたタグを有効にする) を選択します。

請求に使用されたタグが一覧表示されていても AWS Cost Explorer に表示されない場合は、Billing and Cost Management コンソールからタグがアクティブ化されていることを確認してください。コスト配分タグをアクティブ化するには、「ユーザー定義のコスト配分タグのアクティブ化」を参照してください。
注: Cost Explorer でフィルターとして表示する必要があるすべてのタグをアクティブ化する必要があります。タグのアクティブ化には最長で 24 時間かかることがあります。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?