Solução de problemas do Amazon ECS Service Connect com namespaces compartilhados do AWS Cloud Map
Use as informações a seguir para solucionar problemas com namespaces compartilhados do AWS Cloud Map e com o Service Connect. Para obter mais informações sobre a localização de mensagens de erro, consulte Solução de problemas do Amazon ECS.
As mensagens de erro relacionadas a problemas de permissões aparecem por causa da falta de permissões ou se o acesso ao namespace for revogado.
Importante
Você deve usar a permissão gerenciada AWSRAMPermissionCloudMapECSFullPermission para compartilhar o namespace para que o Service Connect funcione corretamente com ele.
A mensagem de erro aparece em um dos seguintes formatos:
Ocorreu um erro (ClientException) ao chamar a operação <OperationName>: o usuário: arn:aws:iam::<account-id>:user/<user-name> não está autorizado a executar: <ActionName> no recurso: <ResourceArn> porque nenhuma política baseada em recurso permite a ação <ActionName>
Os cenários a seguir podem resultar em uma mensagem de erro neste formato:
- Falha na criação ou atualização do cluster
-
Esses problemas ocorrem quando as operações do Amazon ECS, como
CreateClusterouUpdateClusterfalham por causa da falta de permissões do AWS Cloud Map. As operações exigem permissões para as seguintes ações do AWS Cloud Map:-
servicediscovery:GetNamespace
Verifique se o convite de compartilhamento de recursos foi aceito na conta do consumidor e se o ARN do namespace correto está sendo usado na configuração do Service Connect.
-
- Falha na criação ou atualização do serviço
-
Esses problemas ocorrem quando as operações do Amazon ECS, como
CreateServiceouUpdateServicefalham por causa da falta de permissões do AWS Cloud Map. As operações exigem permissões para as seguintes ações do AWS Cloud Map:-
servicediscovery:CreateService -
servicediscovery:GetNamespace -
servicediscovery:GetOperation(para criar um novo serviço do AWS Cloud Map) -
servicediscovery:GetService(para quando um serviço do AWS Cloud Map já existir)
Verifique se o convite de compartilhamento de recursos foi aceito na conta do consumidor e se o ARN do namespace correto está sendo usado na configuração do Service Connect.
-
- Falha na operação
ListServicesByNamespace -
Esse problema ocorre quando a operação
ListServicesByNamespacedo Amazon ECS falha. A operação exige permissões para as seguintes ações do AWS Cloud Map:-
servicediscovery:GetNamespace
Para resolver esse problema:
-
Verifique se a conta do consumidor tem a permissão
servicediscovery:GetNamespace. -
Use o ARN do namespace ao chamar a API, não o nome.
-
Verifique se o compartilhamento de recursos está ativo e se o convite foi aceito.
-
O usuário: <iam-user> não está autorizado a executar: <ActionName> no recurso: <ResourceArn> com uma negação explicita em uma política baseada em identidade.
Os cenários a seguir podem resultar em uma mensagem de erro neste formato:
- A exclusão do serviço falha e fica presa no estado
DRAINING -
Esse problema ocorre quando as operações
DeleteServicedo Amazon ECS falham em decorrência da falta de permissãoservicediscovery:DeleteServicequando o acesso ao namespace é revogado. O serviço pode parecer ter sido excluído com êxito inicialmente, mas ficará preso no estadoDRAINING. A mensagem de erro aparece como evento de serviço do Amazon ECS.Para resolver esse problema, o proprietário do namespace deve compartilhar o namespace com a conta do consumidor para permitir que a exclusão do serviço seja concluída.
- Falha na execução das tarefas do serviço
-
Esse problema ocorre quando as tarefas não são iniciadas por causa da falta de permissões. A mensagem de erro aparece como erro de tarefa interrompida. Para obter mais informações, consulte Resolver erros de tarefa interrompida do Amazon ECS.
As ações do AWS Cloud Map a seguir são necessárias para executar uma tarefa:
-
servicediscovery:GetOperation -
servicediscovery:RegisterInstance
Certifique-se de que a conta do consumidor tenha as permissões necessárias e de que o namespace compartilhado esteja acessível.
-
- As tarefas não param de forma limpa ou ficam presas no estado
DEACTIVATINGouDEPROVISIONING -
Esse problema ocorre quando as tarefas não conseguem cancelar o registro do serviço do AWS Cloud Map durante o encerramento por causa da falta de permissões. O erro aparece como
statusReasonno anexo da tarefa que pode ser recuperado usando a APIDescribeTasks. Para obter mais informações, consulte DescribeTasks na Referência de APIs do Amazon Elastic Container Service.As seguintes ações do AWS Cloud Map são necessárias para interromper uma tarefa:
-
servicediscovery:DeregisterInstance -
servicediscovery:GetOperation
Se o acesso ao namespace compartilhado for revogado, as tarefas poderão permanecer em um estado
DEACTIVATINGouDEPROVISIONINGaté que o acesso ao namespace seja restaurado. Solicite que o proprietário do namespace restaure o acesso a ele. -