🗂

コンテナログイン専用のone-time ECS Taskを立ち上げるツールを開発した

2022/11/17に公開

動機

Ralis consoleをECSで利用したいケースがあり、リクエストを捌く為に起動されたECS Taskへecs-execするのも微妙な気がするし、専用のTaskを立ち上げっぱなしにするのも、それなりにコストがかかる。
Rails consoleを利用する際に毎度Taskを立ち上げては、利用が終わったらTaskを停止するという
運用作業が手間だったため、ECS Taskの起動 + ecs-execを実行するCLIツールを開発しました。

https://github.com/yyamanoi1222/ecs-console

機能

このツールでは、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