I’ll introduce a sample script for one-shot login to AWS ECS Exec with /bin/sh.
Please set the environment variables AWS_ECS_EXEC_PROFILE, AWS_ECS_EXEC_CLUSTER, AWS_ECS_EXEC_SERVICE_NAME to your own values before use.
AWS_ECS_EXEC_PROFILE="your-aws-profice"
AWS_ECS_EXEC_CLUSTER="your-ecs-cluster"
AWS_ECS_EXEC_SERVICE_NAME="your-service-name"
# Display ECS Task list and set Task Id to environment variable AWS_ECS_EXEC_TASK
aws ecs list-tasks \\
--profile $AWS_ECS_EXEC_PROFILE \\
--cluster $AWS_ECS_EXEC_CLUSTER \\
--service-name $AWS_ECS_EXEC_SERVICE_NAME \\
--output text \\
| sed -n 1p \\
| grep -oE "[^/]+$" \\
| read AWS_ECS_EXEC_TASK;
# Login to container with environment variable AWS_ECS_EXEC_TASK using AWS ECS Exec
aws ecs execute-command \\
--profile $AWS_ECS_EXEC_PROFILE \\
--cluster $AWS_ECS_EXEC_CLUSTER \\
--task $AWS_ECS_EXEC_TASK \\
--interactive \\
--command "/bin/sh"
That’s all from the Gemba about creating a sample script for one-shot login to AWS ECS Exec.