AWS ECS Exec を /bin/sh で一発でログインできるサンプルスクリプトをご紹介します。
環境変数 AWS_ECS_EXEC_PROFILE, AWS_ECS_EXEC_CLUSTER, AWS_ECS_EXEC_SERVICE_NAME をご自身の値に設定してご利用下さい。
AWS_ECS_EXEC_PROFILE="your-aws-profice"
AWS_ECS_EXEC_CLUSTER="your-ecs-cluster"
AWS_ECS_EXEC_SERVICE_NAME="your-service-name"
# ECS Task 一覧表示して Task Id を環境変数 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;
# AWC ECS Exec で 環境変数 AWS_ECS_EXEC_TASK のコンテナへログイン
aws ecs execute-command \\
--profile $AWS_ECS_EXEC_PROFILE \\
--cluster $AWS_ECS_EXEC_CLUSTER \\
--task $AWS_ECS_EXEC_TASK \\
--interactive \\
--command "/bin/sh"
以上、AWS ECS Exec を一発でログインできるサンプルスクリプトを作成した、現場からお送りしました。