AWS ECS Exec を /bin/sh でログインするサンプルスクリプト

AWS ECS Exec を /bin/sh で一発でログインできるサンプルスクリプトをご紹介します。

AWS

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 を一発でログインできるサンプルスクリプトを作成した、現場からお送りしました。

参考情報