Ejecución de comandos mediante ECS Exec
Puede utilizar Amazon ECS Exec para recopilar información de diagnóstico relacionada con los contenedores y solucionar los errores detectados a lo largo del ciclo de vida de los contenedores.
Requisitos previos
Antes de comenzar a utilizar ECS Exec, asegúrese de haber completado estas acciones:
-
Consulte las consideraciones. Para obtener más información, consulte Consideraciones
-
Configure ECS Exec para sus tareas y servicios. Para obtener más información, consulte Configuración de ECS Exec
-
Instale y configure la AWS CLI. Para obtener más información, consulte Introducción a la AWS CLI.
-
Instale el complemento de Session Manager para la AWS CLI. Para obtener más información, consulte Instalación del complemento de Session Manager para la AWS CLI.
-
Configure un rol de tarea con los permisos adecuados. Debe utilizar un rol de tarea con los permisos adecuados para ECS Exec. Para obtener más información, consulte Rol de IAM de tarea.
-
Compruebe los requisitos de la versión. ECS Exec tiene requisitos de versión dependiendo de si las tareas están alojadas en Amazon EC2 o en AWS Fargate:
-
Si utiliza Amazon EC2, debe usar una AMI optimizada para Amazon ECS que se publicó después del 20 de enero de 2021, con un agente versión 1.50.2 o superior. Para obtener más información, consulte AMI optimizadas para Amazon ECS.
-
Si utiliza AWS Fargate, debe utilizar la versión
1.4.0de la plataforma o una superior (Linux) o1.0.0(Windows). Para obtener más información, consulte Versiones de la plataforma de AWS Fargate.
-
Uso de la consola para tareas de servicio
Puede utilizar la consola para ejecutar comandos mediante ECS Exec.
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En la página Clusters (Clústeres), elija el clúster.
-
En la página de detalles del clúster, en la sección Servicios, elija el servicio.
Aparecerá la página de detalles del servicio.
-
En la página de detalles del servicio, elija Tareas. A continuación, elija la tarea.
-
En Contenedores, elija el contenedor en el que desee utilizar ECS Exec.
-
Para ejecutar comandos, siga uno de los siguientes pasos:
-
Elija Conectar.
Aparecerá una sesión de CloudShell en la que puede ejecutar sus comandos.
-
Seleccione la flecha y, a continuación, elija Copiar comando de la AWS CLI.
Luego podrá ejecutar los comandos localmente.
-
Resultados esperados
Si la conexión se realiza correctamente, debería ver una petición del intérprete de comandos interactiva desde el contenedor. Ahora puede ejecutar comandos directamente en el entorno del contenedor. Para dejar la sesión, seleccione Finalizar sesión.
Uso de la consola para tareas independientes
Puede utilizar la consola para ejecutar comandos mediante ECS Exec.
Abra la consola en https://console.aws.amazon.com/ecs/v2
. -
En la página Clusters (Clústeres), elija el clúster.
-
En la página de detalles del clúster, en la sección Tareas, elija la tarea.
Se muestra la página de detalles de la tarea.
-
En Contenedores, elija el contenedor en el que desee utilizar ECS Exec.
-
Para ejecutar comandos, siga uno de los siguientes pasos:
-
Elija Conectar.
Aparecerá una sesión de CloudShell en la que puede ejecutar sus comandos.
-
Seleccione la flecha y, a continuación, elija Copiar comando de la AWS CLI.
Luego podrá ejecutar los comandos localmente.
-
Resultados esperados
Si la conexión se realiza correctamente, debería ver una petición del intérprete de comandos interactiva desde el contenedor. Ahora puede ejecutar comandos directamente en el entorno del contenedor. Para dejar la sesión, seleccione Finalizar sesión.
Uso del intérprete de comandos
Puede utilizar el intérprete de comandos para ejecutar comandos mediante ECS Exec.
Después de confirmar que ExecuteCommandAgent se está ejecutando, puede abrir un shell interactivo en el contenedor mediante el siguiente comando. Si la tarea contiene varios contenedores, debe especificar el nombre del contenedor mediante el indicador --container. Amazon ECS solo admite la iniciación de sesiones interactivas, por lo que debe utilizar el indicador --interactive.
El siguiente comando ejecutará un comando /bin/sh interactivo en un contenedor denominado para una tarea con un ID de container-nametask-id.
El task-id es el nombre de recurso de Amazon (ARN) de la tarea.
aws ecs execute-command --clustercluster-name\ --tasktask-id\ --containercontainer-name\ --interactive \ --command"/bin/sh"
Resultados esperados
Si el comando se ejecuta correctamente, debería ver una petición del intérprete de comandos interactiva desde el contenedor. Ahora puede ejecutar comandos directamente en el entorno del contenedor. Para salir de la sesión, escriba exit o pulse Ctrl+D.