@shinyaz

ECS の update-service で Linear ↔ Canary を動的に切り替えられる

約1分

ECS で Linear デプロイを設定したサービスを Canary に変えたいとき、サービスの再作成が必要だと思っていた。

実際には update-service--deployment-configurationstrategy を変更するだけで、既存サービスをそのまま切り替えられる。

Terminal
aws ecs update-service --cluster my-cluster \
  --service my-service \
  --task-definition my-task:2 \
  --deployment-configuration '{
    "maximumPercent":200,"minimumHealthyPercent":100,
    "strategy":"CANARY","bakeTimeInMinutes":1,
    "canaryConfiguration":{"canaryPercent":10,"canaryBakeTimeInMinutes":1}
  }'

ロードバランサーの設定(ターゲットグループ、リスナー、インフラロール)はサービス作成時に設定済みなので、戦略の切り替えだけなら --deployment-configuration のみで完結する。NLB での Linear / Canary 検証記事で実際に使った。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援をしており、クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。