Solución de problemas de Amazon ECS Service Connect con espacios de nombres de AWS Cloud Map compartidos - Amazon Elastic Container Service

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 CreateCluster o UpdateCluster debido 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 CreateService o UpdateService debido 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 ListServicesByNamespace de 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 DeleteService de Amazon ECS debido a la falta del permiso servicediscovery:DeleteService cuando 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 estado DRAINING. 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 DEACTIVATING o DEPROVISIONING

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 statusReason en el adjunto de la tarea que se puede recuperar mediante la API DescribeTasks. 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 DEACTIVATING o DEPROVISIONING hasta que se restablezca el acceso al espacio de nombres. Solicite al propietario del espacio de nombres que restablezca el acceso al espacio de nombres.