Solución de problemas de Amazon ECS Service Connect con espacios de nombres de AWS Cloud Map compartidos
Utilice la siguiente información para solucionar problemas con los espacios de nombres de AWS Cloud Map compartidos y Service Connect. Para obtener más información sobre la localización de los mensajes de error, consulte Solución de problemas de Amazon ECS.
Los mensajes de error relacionados con problemas de permisos aparecen porque faltan permisos o si se ha revocado el acceso al espacio de nombres.
importante
Debe usar el permiso administrado AWSRAMPermissionCloudMapECSFullPermission para compartir el espacio de nombres para que Service Connect funcione correctamente con el espacio de nombres.
El mensaje de error aparece en uno de los siguientes formatos:
Se produjo un error (ClientException) al llamar a la operación <OperationName>: el usuario: arn:aws:iam::<account-id>:user/<user-name> no está autorizado para realizar: <ActionName> en el recurso: <ResourceArn> porque no hay ninguna política basada en recursos que permita la acción <ActionName>
Los escenarios siguientes pueden dar lugar a un mensaje de error en este formato:
- Error al crear o actualizar el clúster
-
Estos problemas se produce cuando surge un error en operaciones de Amazon ECS como
CreateClusteroUpdateClusterdebido a la falta de permisos de AWS Cloud Map. Las operaciones necesitan permisos para las siguientes acciones de AWS Cloud Map:-
servicediscovery:GetNamespace
Asegúrese de que la invitación del recurso compartido se haya aceptado en la cuenta del consumidor y de que en la configuración de Service Connect se utilice el ARN del espacio de nombres correcto.
-
- Error al crear o actualizar el servicio
-
Estos problemas se produce cuando surge un error en operaciones de Amazon ECS como
CreateServiceoUpdateServicedebido a la falta de permisos de AWS Cloud Map. Las operaciones necesitan permisos para las siguientes acciones de AWS Cloud Map:-
servicediscovery:CreateService -
servicediscovery:GetNamespace -
servicediscovery:GetOperation(para crear un nuevo servicio de AWS Cloud Map) -
servicediscovery:GetService(para cuando ya existe un servicio de AWS Cloud Map)
Asegúrese de que la invitación del recurso compartido se haya aceptado en la cuenta del consumidor y de que en la configuración de Service Connect se utilice el ARN del espacio de nombres correcto.
-
- Error en la operación
ListServicesByNamespace -
Este problema surge cuando se produce un error en la operación
ListServicesByNamespacede Amazon ECS. La operación necesita permisos para las siguientes acciones de AWS Cloud Map:-
servicediscovery:GetNamespace
Para resolver este problema, siga estos pasos:
-
Compruebe que la cuenta del consumidor tenga el permiso
servicediscovery:GetNamespace. -
Use el ARN del espacio de nombres al llamar a la API, no el nombre.
-
Asegúrese de que el recurso compartido esté activo y de que se haya aceptado la invitación.
-
El usuario: <iam-user> no está autorizado para realizar: <ActionName> en el recurso: <ResourceArn> con una denegación explícita en una política basada en la identidad.
Los escenarios siguientes pueden dar lugar a un mensaje de error en este formato:
- Se produce un error al eliminar el servicio y se queda bloqueado en el estado
DRAINING -
Este problema surge cuando se produce un error en las operaciones
DeleteServicede Amazon ECS debido a la falta del permisoservicediscovery:DeleteServicecuando se revoca el acceso al espacio de nombres. Al principio puede parecer que el servicio se ha eliminado correctamente, pero se quedará bloqueado en el estadoDRAINING. El mensaje de error aparece como un evento del servicio de Amazon ECS.Para resolver este problema, el propietario del espacio de nombres debe compartir el espacio de nombres con la cuenta del consumidor para permitir que se complete la eliminación del servicio.
- Las tareas del servicio no se pueden poner en marcha
-
Este problema se produce cuando las tareas no se inician debido a la falta de permisos. El mensaje de error aparece como un error de tarea detenida. Para obtener más información, consulte Solución de los errores de las tareas detenidas de Amazon ECS.
Se necesitan las siguientes acciones de AWS Cloud Map para poner en marcha una tarea:
-
servicediscovery:GetOperation -
servicediscovery:RegisterInstance
Asegúrese de que la cuenta del consumidor tenga los permisos necesarios y de que se pueda acceder al espacio de nombres compartido.
-
- Las tareas no se detienen correctamente o se quedan bloqueadas en el estado
DEACTIVATINGoDEPROVISIONING -
Este problema se produce cuando no se puede anular el registro de las tareas del servicio de AWS Cloud Map durante el cierre debido a la falta de permisos. El error aparece como
statusReasonen el adjunto de la tarea que se puede recuperar mediante la APIDescribeTasks. Para obtener más información, consulte DescribeTasks en la Referencia de la API de Amazon Elastic Container Service.Se necesitan las siguientes acciones de AWS Cloud Map para detener una tarea:
-
servicediscovery:DeregisterInstance -
servicediscovery:GetOperation
Si se revoca el acceso al espacio de nombres compartido, las tareas pueden permanecer en un estado
DEACTIVATINGoDEPROVISIONINGhasta que se restablezca el acceso al espacio de nombres. Solicite al propietario del espacio de nombres que restablezca el acceso al espacio de nombres. -