1. 背景

クラウドリフトの案件でアプリをECSに載せることになりました。

なのですが、なかなかまともに動きません。そこで、ECSでちゃんと動くかの試行錯誤のループを高速で回したいので、AWSコマンドで試してみました。

じっさいにやってみたらスピード感があったので、手順を残します。

2. 手順

2.1. task登録

task-def.jsonにタスク定義を記述しておいて、それをタスク定義として登録します。

aws ecs register-task-definition --cli-input-json file://task-def.json

2.2. サービスのアップデート。

登録したタスク定義でECSにタスクをデプロイします。

aws ecs update-service --cluster sococa-ecs --service centap-service --task-definition centap-def

タスク定義は変更せずにlatestなdockerイメージを取得するだけでいいという場合は、強制アップデートとして--force-new-deploymentをつけます。

ただ、強制アップデートはタスクのリビジョンが変わらないので、本当に更新されたかが不安になります。なので、イメージだけを新しくしたい場合でもタスク定義のリビジョンを上げて実施するのが実用的だと思います。