Amazon ECS(EC2 起動タイプ)上でマイクロサービスを運用している企業が、AWS CodePipeline と AWS CodeDeploy を使用した Blue/Green デプロイメントパイプラインを運用しています。デプロイ後のトラフィック移行フェーズ中に、CloudWatch メトリクス "HTTP5xxErrorRate" が 5% を超えた場合、人手を介さず自動的にロールバックを実行し、本番環境への影響を最小化したいと考えています。段階的なトラフィック移行(カナリアデプロイ)も採用する予定です。この要件を最も効果的かつ運用負荷の低い方法で実現する設定はどれですか?
CodeDeploy デプロイグループの「CloudWatch アラームによる自動ロールバック」は、指定アラームが ALARM 状態に遷移した瞬間にデプロイを停止してロールバックするマネージド機能です。カナリア設定と組み合わせることで、段階的なトラフィック移行中の早期検出と最小影響でのロールバックが実現します。 選択肢Bの CodeDeploy の AfterAllowTraffic ライフサイクルフックに Lambda 関数を登録する方式は技術的には動作しますが、カスタム実装が必要で運用オーバーヘッドが大きくなります。 選択肢Cの Amazon EventBridge ルールと AWS Step Functions を組み合わせる方式は、同様にカスタム実装が必要で複雑性が増加します。 選択肢Dの AWS Systems Manager Automation ドキュメントによるランブック実装は、定期ポーリングが必要であり、リアルタイム検出と比べて遅延が発生します。