#はじめに
Fargateを使って、コンテナの中から色々操作したい(特に開発環境)時に使えるのがECS Execです。
入れたらめっちゃ便利になったので備忘録的に残しておきます。
#結論
これ読んでください。すごくわかりやすく書いてあります。
[アップデート] 実行中のコンテナに乗り込んでコマンドを実行できる「ECS Exec」が公開されました
ただ、ちょっとだけつまったところをメモしておきます。
- AWS CLIを最新バージョンにしておく(ECS Execのコマンドが入ってるバージョンであれば良いです)
- ECS TaskExecRoleじゃなくてTaskRoleにポリシー付与(なんかごっちゃになったので)
- aws ecs update-serviceを使うときは、自分のconfigのリージョンが東京の可能性あるので、--region ap-northeast-3っていうオプションつける(これはこれに限った話じゃないですが、デフォルトのコンフィグと違うリージョンで使う場合にはリージョンの指定が必要です)
- コマンドはbin/shじゃなくてshだけ(これは多分dockerイメージ的にそうしないといけないだけだと思うからイメージによりそう)
- session-manager-pluginっていうのをローカルにインストール必要
最終的なコマンドは
aws ecs execute-command \
--cluster cluster-name \
--task task-name \
--container container-name \
--interactive \
--command "sh" \
--region region-name
これでコンテナの中で操作できると思います!
まとめ
めっちゃ便利