Amazon ECS がサービスデプロイの早期成功基準を導入
Amazon Elastic Container Service (Amazon ECS) では、サービスのローリングデプロイで早期成功基準 (Early Success Criteria) をサポートするようになりました。これにより、確実性のレベルやワークロードの運用上の要件に基づいて、デプロイを成功と見なすタイミングを柔軟に定義できます。早期成功基準を使用すると、デプロイをより早く完了し、後続のデプロイ、CI/CD パイプライン、その他の依存する処理を滞りなく進められます。
早期成功基準では、正常率を設定します。正常率とは、必要数のタスクのうち、デプロイが成功としてマークされるまでに対象のサービスリビジョン上で実行中かつ正常になっている必要があるタスクの割合です。例えば、必要数が 100、正常率が 90% の場合、Amazon ECS は 90 個のタスクが正常になった時点でデプロイを成功としてマークします。残りのタスクは、デプロイライフサイクルの外で、通常のサービススケーリングとして引き続き起動します。この機能は、GPU で高速化された推論ワークロードのように、特殊なキャパシティや制約のあるキャパシティで実行されるワークロードに役立ちます。こうしたワークロードでは、ハードウェアの空き状況によってタスクの起動時間が長くなることがあります。早期成功基準では、デプロイのロールバックモニタリングを適用する期間もより細かく制御できます。設定した成功基準が満たされるまでデプロイを保護しつつ、その後のスケールアウトは通常のサービススケーリングとして継続されます。また、BLOCKING または DEFERRED を指定して、Amazon ECS がソースサービスリビジョンのクリーンアップを処理する方法を選択できます。BLOCKING を指定すると、Amazon ECS は成功と判定する前に、ソースリビジョンのクリーンアップを完了します。DEFERRED を指定すると、Amazon ECS は基準が満たされた時点で成功と判定し、ソースリビジョンのタスクをデプロイとは切り離して非同期にドレインします。これは、長時間のアクティブな接続やタスクスケールイン保護を使用しているサービスに役立ちます。こうしたサービスでは、デプロイを進行中のままにすることなく、ソースリビジョンのタスクを実行し続ける必要が生じることがあります。
この機能は、すべての AWS 商用リージョンと AWS GovCloud (米国) リージョンにおいて、ローリングデプロイ戦略で利用できます。早期成功基準は、AWS マネジメントコンソール、AWS CLI、AWS SDK、Infrastructure as Code (IaC) ツールを使用して、新規および既存の Amazon ECS サービスに設定できます。詳細については、ドキュメントを参照してください。