Solução de problemas do Amazon ECS Service Connect com namespaces compartilhados do AWS Cloud Map - Amazon Elastic Container Service

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 CreateCluster ou UpdateCluster falham 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 CreateService ou UpdateService falham 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 ListServicesByNamespace do 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 DeleteService do Amazon ECS falham em decorrência da falta de permissão servicediscovery:DeleteService quando o acesso ao namespace é revogado. O serviço pode parecer ter sido excluído com êxito inicialmente, mas ficará preso no estado DRAINING. 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 DEACTIVATING ou DEPROVISIONING

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 statusReason no anexo da tarefa que pode ser recuperado usando a API DescribeTasks. 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 DEACTIVATING ou DEPROVISIONING até que o acesso ao namespace seja restaurado. Solicite que o proprietário do namespace restaure o acesso a ele.