Canary / Linear / Blue-Green に対応した Amazon ECS コンソールの「デプロイ」タブを試してみた

Canary / Linear / Blue-Green に対応した Amazon ECS コンソールの「デプロイ」タブを試してみた

Fargate の Canary デプロイで、10% / 90% のトラフィックシフト、イメージ取得失敗時のロールバック、Amazon Q による原因調査を試しました。段階的な ECS デプロイを運用する際に、「デプロイ」タブをどう活用できるかを紹介します。
2026.09.23

はじめに

2026年9月21日のアップデートで、Amazon ECS コンソールの「デプロイ」タブが Linear、Canary、Blue-Green のデプロイタイプに対応しました。

https://aws.amazon.com/about-aws/whats-new/2026/09/amazon-ecs-console-deployment-observability/

このタイムライン表示は7月にローリングデプロイ向けとして提供され、今回、ほかのデプロイ戦略にも対応が広がりました。

https://dev.classmethod.jp/articles/ecs-realtime-deployment-observability-console/

従来、Canary や Linear では、デプロイ中に本番トラフィックを段階的に移行するため、タスク数の増減だけからは、新旧どちらのリビジョンにどの程度の比率でトラフィックが流れているかを判別することは困難でした。

今回のアップデートにより、「デプロイ」タブでは green / blue のトラフィック配分とライフサイクルステージの進行を同じ画面で確認できるようになりました。本記事では Fargate の Canary デプロイを実施し、これらの表示と失敗時の診断を検証しました。

検証環境

ap-northeast-1 で、ALB と blue / green 用の2つのターゲットグループを使用する Fargate サービスを使いました。デプロイ戦略には Canary を選択し、Canary フェーズで green にシフトするトラフィックを 10% に設定しました。ベイク時間は Canary の段階で 5 分、100% 移行後に 3 分としています。

Canary のデプロイ設定。Deployment strategy: Canary、Canary percent: 10%、Canary bake time: 5 minutes、Deployment bake time: 3 minutes が表示されている

正常な Canary デプロイでの表示

nginx イメージを 1.27 から 1.28 に更新したタスク定義のリビジョン 2 で Canary デプロイを開始しました。

green タスクの起動中は、ロードバランサーのヘルシーなターゲット数が必要数に達しておらず、本番トラフィックは blue のままです。

SCALE_UP ステージのタイムライン。Launching green tasks が 50%(1 of 2 tasks started)、Load balancer target health check が 1 Healthy / 0 Unhealthy、Service revisions の Source が 100% と表示されている

green のターゲットがすべて健全になった後、デプロイはトラフィックシフトのステージへ進みました。今回は Canary のトラフィックシフトが1段階のみのため、green 10% / blue 90% の状態が 5 分間維持されます。

PRODUCTION_TRAFFIC_SHIFT ステージ。Green 10% / Blue 90% のプログレスバーと Bake time of 5 minutes between each shift の表示。Service revisions に Target 10% と Source 90% が並んでいる

5 分間のベイクが終了すると green が 100% までシフトし、移行完了後のベイク(3 分)に入ります。

Production traffic shift が完了し、Bake time の計測中であることと Total bake time: 3 minutes が表示されている。Service revisions は Target 100% / Source 0%

今回のデプロイは、開始から完了まで 11 分 31 秒かかりました。ベイク時間の合計である 8 分を含むため、設定値によって所要時間は変わります。

全ステージが完了したタイムライン。Completed at September 23, 2026, 00:26 JST・11 minutes, 31 seconds。Service revisions に Target ecs-canary-nginx:2 と Source ecs-canary-nginx:1、Deployment strategy: Canary が表示されている

失敗した Canary デプロイの診断とロールバック

続いて、存在しないイメージタグを指定したタスク定義(リビジョン 3)で意図的にデプロイを失敗させました。

green タスクが停止すると、タイムラインに Recent failure: task stoppedCannotPullContainerError のエラー内容が表示されます。トラフィックシフトへ進んでいないため、本番トラフィックは blue 側のリビジョン 2 に 100% のままルーティングされます。タスク詳細・ログ・トラブルシューティングガイドへのリンクも同じ画面に表示されます。

タイムラインに Recent failure: task stopped の赤いアイコンと CannotPullContainerError: pull image manifest has been retried 7 time(s) が表示され、View task details / View logs / View troubleshooting guide のリンクが並んでいる。Load balancer は No targets、Source は 2 Running で 100%

この状態から、画面上のロールバック(Roll back)ボタンで手動ロールバックを実行しました。

Roll back service deployment? の確認ダイアログ。This action will stop the ongoing deployment and roll back the service to the last stable deployed service revision. と表示されている

ロールバック完了後は、リビジョン 3 のタスクが 0 になり、リビジョン 2 の2タスクが稼働した状態で維持されました。今回はトラフィックシフト前の失敗だったため、blue 側は当初から 100% を維持していました。

Rollback complete と Service deployment rolled back by user. の黄色バナー。Finished at September 23, 2026, 00:36 JST・7 minutes, 3 seconds。Service revisions は Target ecs-canary-nginx:3 が 0 Running、Source ecs-canary-nginx:2 が 2 Running。Deployment status は Rollback successful

「Amazon Q で検査」で根本原因を確認する

失敗画面には「Amazon Q で検査」(Inspect with Amazon Q)ボタンがあります。押すとチャットが開き、今回は英語のレポートが返りました。日本語で確認したい場合は、次のように再依頼します。

先ほどの ECS デプロイ失敗レポートを、日本語版で改めて表示して

無効なコンテナイメージタグを根本原因として示す日本語の分析が返ってきました。根拠となる証跡テーブルと解決策の推奨事項も日本語で表示されました。

Amazon Q の日本語根本原因分析。根本原因はタスク定義リビジョン 3 の無効なコンテナイメージタグであることが示され、確認済みの証跡テーブルと解決策の推奨事項が日本語で表示されている

まとめ

ECS コンソールの「デプロイ」タブが機能強化され、Canary、Linear、Blue-Green デプロイの状況もコンソール上で確認できるようになりました。

「デプロイ」タブは、デプロイ中の進捗や異常を確認する監視画面として利用でき、問題が発生した場合はロールバックを実行することで、進行中のデプロイを中断し、迅速に切り戻すことができます。

Amazon Q を使えば、デプロイエラーの調査も可能です。回答を日本語で確認したい場合は、チャットで日本語による再依頼もできます。あわせて活用してみてください。

関連記事

https://dev.classmethod.jp/articles/ecs-realtime-deployment-observability-console/

https://dev.classmethod.jp/articles/amazon-ecs-action-logs-deployment-visibility/

https://dev.classmethod.jp/articles/ecs-deployment-circuit-breaker-custom-threshold-settings/

https://dev.classmethod.jp/articles/ecs-early-success-criteria-deploy-time/

https://dev.classmethod.jp/articles/ecs-deploy-wait-time-tuning-242s-to-47s/

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事