🗂
コンテナログイン専用のone-time ECS Taskを立ち上げるツールを開発した
動機
Ralis consoleをECSで利用したいケースがあり、リクエストを捌く為に起動されたECS Taskへecs-execするのも微妙な気がするし、専用のTaskを立ち上げっぱなしにするのも、それなりにコストがかかる。
Rails consoleを利用する際に毎度Taskを立ち上げては、利用が終わったらTaskを停止するという
運用作業が手間だったため、ECS Taskの起動 + ecs-execを実行するCLIツールを開発しました。
機能
このツールでは、ecs-exec、ssmによるポートフォワーディングの2つの機能があります。
どちらもコマンドの実行時に指定されたECS Taskを立ち上げ、ecs-execの場合は
ecs-execを終了した時、ポートフォワーディングの場合はシグナルを受け取った際に
立ち上げたECS Taskを停止します。
ecs-exec
ecs-console exec \
--cluster hoge \
--task-def hoge:latest \
--command /bin/bash \
--container app \
--subnets sb-hoge \
--security-groups sg-hoge
ポートフォワーディング
ecs-console portforward \
--cluster hoge \
--task-def hoge:latest \
--container app \
--subnets sb-hoge \
--security-groups sg-hoge \
--local-port 8080 \
--remote-port 80
今後
とりあえず形にしたのでテストが無かったり、バイナリを配布する手段がなかったりするので
そこらへんの整備をしていきたいと思っています。
Discussion