現在、「コンテナ時代のWebサービスの作り方」という書籍を元に、AWS ECSの学習をしております。
Terraformを利用してリソースを作成し、AWS CLIを利用してECSのタスク定義更新、サービス更新をしようとしております。
やりたいことは、「起動しているタスク定義のリビジョンを最新にしたい」です。
ECSのサービスに紐づくタスク定義のリビジョンの更新は新しくなるものの、起動しているタスク定義のタスクのリビジョンが新しくならず困っております。
環境
$ sw_vers ProductName: macOS ProductVersion: 11.1 BuildVersion: 20C69 $ aws --version aws-cli/2.1.28 Python/3.9.2 Darwin/20.2.0 source/x86_64 prompt/off
前提
- タスク定義名: webapp-service
- サービス名: webapp-service
- クラスタ名: sample-ecs-cluster
実施したこと
# タスク定義のテンプレートを出力 & 保存 $ aws ecs describe-task-definition --task-definition webapp-service | jq '.taskDefinition | { containerDefinitions: .containerDefinitions }' > task_definition.json # タスク定義のテンプレートに基づきタスク定義を更新 $ aws ecs register-task-definition --family webapp-service --cli-input-json file://task_definition.json # サービスを更新 $ aws ecs update-service --cluster sample-ecs-cluster --service webapp-service --task-definition webapp-service
※コマンドのリファレンス: update-service — AWS CLI 1.19.17 Command Reference
結果
- サービスに紐づくタスク定義のリビジョン: 最新になっている
webapp-service: 8
- 起動しているタスクのタスク定義のリビジョン: 古いまま
webapp-service: 4
お願い
起動しているタスク定義のリビジョンを最新にしたいです。
「確認すべき項目」や「次に取るべきアクション」など、アドバイスいただけますと幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。