

# Solução de problemas do Amazon ECS Service Connect com namespaces compartilhados do AWS Cloud Map
<a name="service-connect-shared-namespaces-troubleshooting"></a>

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](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html).

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.

**`ListServicesByNamespace` Falha na operação**  
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](resolve-stopped-errors.md).  
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](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) 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.