Comment puis-je résoudre les problèmes liés au balisage des tâches ECS ?

Lecture de 6 minute(s)
0

Je souhaite résoudre les problèmes liés aux balises de tâches Amazon Elastic Container Service (Amazon ECS).

Résolution

Lorsque vous définissez des balises de tâche dans Amazon ECS, vous pouvez rencontrer les problèmes suivants :

  • La propagation des balises aux tâches à partir du service ou de la définition de tâche ne s’exécute pas.
  • Vous utilisez un format d’ARN et d’ID de ressource obsolète pour les balises.
  • L’absence d’autorisations AWS Identity and Access Management (IAM) ou les restrictions de balise vous empêchent d’ajouter des balises aux ressources ECS.
  • Les balises ECS ne sont pas visibles sur le tableau de bord de facturation AWS.

Pour résoudre ces problèmes, effectuez les tâches suivantes.

Utilisation du paramètre PropagateTags pour propager les balises aux tâches à partir du service ou de la définition de tâche

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez la version la plus récente de l’interface AWS CLI.

Le paramètre PropagateTags n’est pas activé par défaut. Pour copier les balises sur les tâches à partir du service ou de la définition de tâche, activez le paramètre. Vous pouvez copier les balises lorsque vous exécutez une tâche, créez ou mettez à jour un service.

Pour vérifier si le paramètre PropagateTags est activé dans un service spécifique, exécutez la commande suivante dans l’interface AWS CLI :

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

Remarque : remplacez servicename, clustername et region par vos valeurs.

Pour configurer les balises à propager à partir du service ou de la définition de tâche à l’aide de l’interface AWS CLI, exécutez les commandes run-task, create-service et update-service.

Pour activer la propagation des balises à l’aide de la console, procédez comme suit :

  1. Ouvrez la console Amazon ECS.
  2. Sélectionnez la région AWS de votre ressource ECS.
  3. Dans le volet de navigation, choisissez Définitions de tâche.
  4. Sélectionnez la définition de tâche dans la liste des ressources, puis choisissez Actions.
  5. Choisissez Créer un service ou Exécuter une tâche.
  6. Dans Configuration de balisage de tâche, choisissez Service ou Définition de tâche.
    Remarque : l'option par défaut est Ne pas propager.

Pour mettre à jour la propagation des balises pour un service existant à l’aide de l’interface AWS CLI, exécutez la commande suivante :

aws ecs update-service --cluster <clustername> --service <servicename> --propagate-tags <SERVICE/TASK_DEFINITION> --force-new-deployment

Pour configurer des balises dans ECS à l’aide du service AWS CloudFormation, vous devez déclarer la ressource AWS::ECS::Service. Pour déclarer la ressource AWS::ECS::Service, définissez les propriétés EnableECSManagedTags et PropagateTags avec la valeur SERVICE ou TASK_DEFINITION.

Remarque :

  • pour utiliser les balises de service liées aux propriétés ECS après avoir créé une pile dans CloudFormation, vous devez mettre à jour la pile et le remplacement des ressources. La mise à jour supprime et recrée le service via CloudFormation.
  • Vous pouvez accéder aux mêmes configurations pour les tâches planifiées que pour les tâches lancées directement depuis l’API Amazon ECS RunTask.

Utilisation du nouveau format ARN

Pour baliser les ressources Amazon ECS, vous devez utiliser les nouveaux formats d’ARN et d’ID. Pour migrer un déploiement ECS vers le nouveau format d’ARN et d’ID de ressource, consultez Migration d’un déploiement Amazon ECS vers le nouveau format d’ARN et d’ID de ressource.

Remarque : vos ressources existantes ne reçoivent pas le nouveau format ARN tant qu’elles n’ont pas été recréées.

Vérifier que l’entité IAM dispose des autorisations requises et vérifier les restrictions de balise

Si vous ne parvenez pas à ajouter de balises à votre service ECS, procédez comme suit :

  1. Consultez les événements AWS CloudTrail pour rechercher des événements TagResource.
  2. Passez en revue les événements pour rechercher l’un des messages d’erreur suivants :
    « AccessDenied »
    « The tags cannot be updated at this time. Wait a few minutes and try again »
    Si vous trouvez l’une des erreurs précédentes, cela signifie que l’entité IAM ne dispose pas des autorisations ecs:TagResource.
  3. Utilisez la console IAM ou l’interface AWS CLI pour ajouter les autorisations ecs:TagResource aux entités IAM.
  4. Réessayez d’ajouter les balises au cluster ECS.
  5. Vérifiez que les balises ECS respectent les restrictions de balise.

Vérifiez si vous rencontrez un problème de facturation et gestion des coûts AWS

Pour vérifier que les balises requises sont propagées au niveau des tâches ECS, exécutez la commande list-tags-for-resource :

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

Remarque : remplacez la valeur par votre ARN.

Pour vérifier, à l’aide de la console, que les balises requises sont propagées aux tâches ECS, procédez comme suit :

  1. Ouvrez la console Amazon ECS.
  2. Sélectionnez la région de la ressource ECS.
  3. Dans le volet de navigation, sélectionnez un type de ressource, tel que Clusters.
  4. Sélectionnez la ressource dans la liste des ressources, puis choisissez Balises. Si des balises existent, elles sont répertoriées.

Si vous recherchez des balises gérées, activez Balises gérées par ECS. Pour vérifier que Balises gérées par ECS est activé, exécutez la commande suivante :

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

Remarque : remplacez servicename, clustername et region par vos valeurs.

La sortie de la commande contient la valeur enableECSManagedTags.

Pour activer Balises gérées par ECS à l’aide de la console, procédez comme suit :

  1. Ouvrez la console Amazon ECS.
  2. Sélectionnez la région de la ressource ECS.
  3. Dans le volet de navigation, sélectionnez Définitions de tâche.
  4. Sélectionnez la définition de tâche dans la liste des ressources, puis choisissez Actions.
  5. Choisissez Créer un service ou Exécuter une tâche.
  6. Dans Configuration de balisage de tâche, choisissez Activer les balises gérées par ECS.

Pour activer les balises gérées par ECS à l’aide de l’interface AWS CLI, exécutez la commande update-service :

aws ecs update-service --cluster <clustername> --service <servicename> --enable-ecs-managed-tags --force-new-deployment

Les balises que vous utilisez pour la facturation sont répertoriées, mais peuvent ne pas être visibles dans l’explorateur de coûts AWS. Pour résoudre ce problème, activez les balises de répartition des coûts dans la console de facturation et de gestion des coûts.

Remarque : l’activation des balises peut prendre jusqu’à 24 heures.

Informations connexes

Résolution des problèmes avec Amazon ECS

Balisage des ressources Amazon ECS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois