DVA-C02デプロイMEDIUM単一選択

ある企業がAmazon ECSのEC2起動タイプでマイクロサービスを運用している。新バージョンのタスク定義をデプロイする際に、ECSローリングアップデートでデプロイ中にヘルスチェックに失敗したコンテナが増え続け、デプロイが完了せず古いタスクも削除されない状態に陥った。デプロイのスタック状態を自動的に検知して失敗させ、ロールバックを促す機能として最も適切なものはどれか。

  1. A. ECSサービスのAutoScalingスケールインポリシーを設定して不健全タスクを自動削除する
  2. B. CodeDeployのBlue/Greenデプロイに切り替えて、AllAtOnceデプロイ設定を使う
  3. C. CloudWatchアラームでECSのRunningTaskCount が閾値を下回ったらSNSで通知する
  4. D. ECSサービスのデプロイメントサーキットブレーカー(deployment circuit breaker)を有効化し、ロールバックオプションもオンにする
解答と解説を見る

正解: D

ECSサービスのデプロイメントサーキットブレーカーは、ローリングアップデート中に一定数のタスクが繰り返しヘルスチェックに失敗するとデプロイを自動的にFAILEDとマークし、ロールバックオプションが有効な場合は直前の安定したタスク定義に自動でロールバックする機能である。「スタック状態」(デプロイが永遠に完了しない状態)を防ぐ最もシンプルかつ推奨されるECSネイティブの解決策である。AのAutoScalingスケールインは容量調整の機能であり、デプロイのスタック状態を解消する機能ではない。CのCloudWatchアラームは通知のみであり自動ロールバックは行わない。追加のLambda関数等を設定する必要があり運用負荷が高い。BはCodeDeployへの移行という大きな設定変更が必要で「最も適切」とは言えない。デプロイメントサーキットブレーカーはECSサービス設定で数クリックで有効化できる。

▸ この試験を本気で演習する(全150問・無料)