Je reçois un message d'erreur lorsque j'utilise AWS CloudFormation pour lancer une ressource Amazon Elastic Container Service (Amazon ECS) (AWS::ECS::Service).
Brève description
Si j'utilise un Classic Load Balancer, je reçois un message d'erreur qui ressemble à ceci :
« 12:21:48 UTC+0100 CREATE_FAILED AWS::ECS::Service ECSService Impossible d'assumer un rôle et de valider les écouteurs configurés sur votre équilibreur de charge. Veuillez vérifier que le rôle transmis dispose des permissions appropriées. »
Si j'utilise un équilibreur de charge d'application, je reçois un message d'erreur similaire à ce qui suit :
« 12:21:48 UTC+0100 CREATE_FAILED AWS::ECS::Service ECSService Impossible d'assumer le rôle et de valider le targetGroupArn spécifié. « Veuillez vérifier que le rôle de service ECS transmis dispose des permissions appropriées ».
Si vous créez un Amazon ECS Service avec une ressource de stratégie AWS Identity and Access Management (IAM) indépendante qui spécifie un profil d'instance, le service Amazon ECS peut échouer et renvoyer un message d'erreur.
Résolution
Pour résoudre l'erreur à la fois pour les Classic Load Balancers et les équilibreurs de charge d'application, essayez une ou plusieurs des solutions suivantes :
- Confirmez que le rôle IAM pour Amazon ECS service dispose des autorisations nécessaires pour inscrire ou désinscrire des instances de conteneur associées à vos équilibreurs de charge.
Astuce : vous pouvez utiliser ce modèle AWS CloudFormation comme référence pour créer vos composants d'architecture Amazon ECS avec les dépendances appropriées. Les composants d'architecture incluent un cluster Amazon ECS, un service, des équilibreurs de charge, des instances de conteneur et des ressources IAM.
- Vérifiez que votre groupe Auto Scaling AWS ou une instance de conteneur Amazon ECS dispose d'un profil d'instance associé en tant qu'attribut.
- Utilisez l'attribut DependsOn pour spécifier la dépendance de la ressource AWS::ECS::Service sur AWS::IAM::Policy. Vous pouvez également utiliser une ressource personnalisée pour retarder le processus de création de pile et donner aux autorisations de rôle de service le temps de se propager.
</ul