
Amazon ECS がローリングデプロイの「早期成功基準(Early Success Criteria)」を導入
AIによる解説
要約
Amazon Elastic Container Service (Amazon ECS) は、ローリングデプロイメントにおいて、デプロイが「成功」とみなされる条件をカスタマイズできる「Early Success Criteria(早期成功基準)」を導入しました。これにより、ターゲットリビジョンのタスクが一定の割合(healthy percent)に達した時点でデプロイを成功と判定し、残りのタスク起動を通常のサービススケーリングとして継続させることが可能になります。また、旧リビジョンのクリーンアップ方法として、デプロイ完了を待つ「BLOCKING」と、非同期で実行する「DEFERRED」の選択も可能になりました。
エンジニアへのヒント
🚀 何が嬉しいのか?
これまでのECSデプロイでは、すべてのDesired Count(希望するタスク数)が新しいリビジョンで正常に起動するまで、デプロイメントが「完了」しませんでした。これには以下の課題がありました:
- CI/CD パイプラインの停滞: GPUインスタンスなどのリソース確保に時間がかかるワークロードでは、タスクの起動待ちで後続のデプロイやパイプラインがブロックされてしまう。
- 長時間接続の維持: 旧タスクのクリーンアップを待つ間、デプロイメントステータスが完了せず、運用上の管理が煩雑になる。
今回のアップデートにより、**「主要なタスクが立ち上がったら、一旦デプロイ成功として次へ進む」**という柔軟な運用が可能になります。
💡 運用上のポイントと注意点
- GPUワークロードに最適: リソース制約が厳しい環境でも、デプロイ完了を早めつつ、残りのスケーリングはECSの標準機能に任せることができます。
- クリーンアップ戦略の選択:
- BLOCKING: 安全性を重視し、旧タスクの削除を確認してからデプロイ完了とする。
- DEFERRED: 長時間接続(Long-lived connections)を持つサービス向け。デプロイ完了を先に宣言し、旧タスクのドレインは非同期で行う。
- リージョン状況: 本機能はすべてのAWS商用リージョンおよびAWS GovCloud (US) リージョンで利用可能です。東京リージョン(ap-northeast-1)および大阪リージョン(ap-northeast-3)についても、商用リージョンに含まれるため利用可能です。
🛠️ 次のアクション
まずは、現在利用しているCI/CDパイプラインのデプロイ待ち時間を計測してみてください。特に、タスクの起動に時間がかかるワークロードを使用している場合は、healthy percent の設定値を調整して、デプロイ完了までのスループットが向上するか検証することをお勧めします。
参照ドキュメント: Amazon ECS Developer Guide - Early Success Criteria https://docs.aws.amazon.com/AmazonECS/latest/developerguide/early-success-criteria.html
次に読む
新着記事記事の関連性を手がかりに、次の情報を探せます。
保存にはログインが必要です。