Résolution des problèmes liés à Amazon ECS Service Connect avec des espaces de noms AWS Cloud Map partagés
Utilisez les informations suivantes pour résoudre les problèmes liés aux espaces de noms AWS Cloud Map partagés et à Service Connect. Pour plus d’informations sur la localisation des messages d’erreur, consultez la section Résolution des problèmes liés à Amazon ECS.
Des messages d’erreur liés à des problèmes d’autorisations apparaissent en raison d’autorisations manquantes ou si l’accès à l’espace de noms est révoqué.
Important
Vous devez utiliser l’autorisation gérée AWSRAMPermissionCloudMapECSFullPermission pour partager l’espace de noms afin que Service Connect fonctionne correctement avec l’espace de noms.
Le message d’erreur apparaît dans l’un des formats suivants :
Une erreur s’est produite (ClientException) lors de l’appel de l’opération <OperationName> : l’utilisateur arn:aws:iam::<account-id>:user/<user-name> n’est pas autorisé à effectuer l’action <ActionName> sur la ressource <ResourceArn>, car aucune politique basée sur les ressources n’autorise l’action <ActionName>.
Les scénarios suivants peuvent générer un message d’erreur dans ce format :
- Échec de création ou de mise à jour du cluster
-
Ces problèmes surviennent lorsque des opérations Amazon ECS telles que
CreateClusterouUpdateClusteréchouent en raison d’autorisations AWS Cloud Map manquantes. Les opérations nécessitent des autorisations pour les actions AWS Cloud Map suivantes :-
servicediscovery:GetNamespace
Assurez-vous que l’invitation à partager la ressource a été acceptée dans le compte consommateur et que l’ARN correct de l’espace de noms est utilisé dans la configuration Service Connect.
-
- Échec de création ou de mise à jour du service
-
Ces problèmes surviennent lorsque des opérations Amazon ECS telles que
CreateServiceouUpdateServiceéchouent en raison d’autorisations AWS Cloud Map manquantes. Les opérations nécessitent des autorisations pour les actions AWS Cloud Map suivantes :-
servicediscovery:CreateService -
servicediscovery:GetNamespace -
servicediscovery:GetOperation(pour créer un nouveau service AWS Cloud Map) -
servicediscovery:GetService(lorsqu’un service AWS Cloud Map existe déjà)
Assurez-vous que l’invitation à partager la ressource a été acceptée dans le compte consommateur et que l’ARN correct de l’espace de noms est utilisé dans la configuration Service Connect.
-
- Échec de l’opération
ListServicesByNamespace -
Ce problème se produit lorsque l’opération Amazon ECS
ListServicesByNamespaceéchoue. L’opération nécessite des autorisations pour les actions AWS Cloud Map suivantes :-
servicediscovery:GetNamespace
Pour résoudre ce problème :
-
Vérifiez que le compte consommateur dispose de l’autorisation
servicediscovery:GetNamespace. -
Utilisez l’ARN de l’espace de noms lorsque vous appelez l’API, et pas le nom.
-
Assurez-vous que le partage de ressources est actif et que l’invitation a été acceptée.
-
L’utilisateur : <iam-user> n’est pas autorisé à effectuer l’action <ActionName> sur la ressource <ResourceArn> en raison d’un refus explicite dans une stratégie basée sur l’identité.
Les scénarios suivants peuvent générer un message d’erreur dans ce format :
- La suppression du service échoue et reste bloquée dans l’état
DRAINING -
Ce problème se produit lorsque les opérations Amazon ECS
DeleteServiceéchouent en raison d’une autorisationservicediscovery:DeleteServicemanquante lorsque l’accès à l’espace de noms est révoqué. Le service peut sembler avoir été supprimé avec succès au départ, mais il restera bloqué dans l’étatDRAINING. Le message d’erreur apparaît sous la forme d’un événement de service Amazon ECS.Pour résoudre ce problème, le propriétaire de l’espace de noms doit partager l’espace de noms avec le compte consommateur afin de permettre la suppression du service.
- Les tâches en service ne s’exécutent pas
-
Ce problème se produit lorsque les tâches ne démarrent pas en raison d’autorisations manquantes. Le message d’erreur apparaît sous la forme d’une erreur de tâche arrêtée. Pour de plus amples informations, consultez Résolution des erreurs liées aux tâches Amazon ECS arrêtées.
Les actions AWS Cloud Map suivantes sont requises pour exécuter une tâche :
-
servicediscovery:GetOperation -
servicediscovery:RegisterInstance
Assurez-vous que le compte consommateur dispose des autorisations requises et que l’espace de noms partagé est accessible.
-
- Les tâches ne s’arrêtent pas correctement ou restent bloquées dans l’état
DEACTIVATINGouDEPROVISIONING -
Ce problème se produit lorsque les tâches ne parviennent pas à annuler leur enregistrement auprès du service AWS Cloud Map pendant l’arrêt en raison d’autorisations manquantes. L’erreur apparaît sous la forme d’un
statusReasondans la pièce jointe de la tâche, qui peut être récupérée à l’aide de l’APIDescribeTasks. Pour plus d’informations, consultez la section DescribeServices dans la Référence de l’API Amazon Elastic Container Service.Les actions AWS Cloud Map suivantes sont requises pour arrêter une tâche :
-
servicediscovery:DeregisterInstance -
servicediscovery:GetOperation
Si l’accès à l’espace de noms partagé est révoqué, les tâches peuvent rester dans l’état
DEACTIVATINGouDEPROVISIONINGjusqu’à ce que l’accès à l’espace de noms soit rétabli. Demandez au propriétaire de l’espace de noms de rétablir l’accès à l’espace de noms. -