無限ノック › DOP 練習問題一覧 › 問題
DOP弾力性に優れたクラウドソリューション

ECS Fargate で動作するマイクロサービスのローリングアップデート中に、新しいタスクが起動直後に繰り返しクラッシュしています。現状では ECS がタスクの再起動を無制限に繰り返し、デプロイが何時間も「進行中」状態のままとなっています。最小限の設定変更でデプロイの無限ループを防ぎ、以前の正常なバージョンへ自動復元する方法として最も適切なものはどれですか?

A
ECS サービスの `minimumHealthyPercent` を 100%、`maximumPercent` を 200% に設定し、タスク失敗時はオペレーターが手動でタスク定義を以前のリビジョンに戻す
自動化がなく手動対応が必要です。
B
ECS デプロイ設定で「デプロイサーキットブレーカー(Deployment Circuit Breaker)」を有効にし、「失敗時にロールバック(Rollback on failure)」オプションも合わせて有効にする
✓ 正解
ECS デプロイサーキットブレーカーは、新タスクの起動失敗が一定の閾値(デフォルト: サービス内タスク数の少なくとも 10% かつ最低 3 タスク)を超えると自動的にデプロイを失敗状態にします。「失敗時にロールバック」を有効にすると、直前の正常なタスク定義リビジョンへ自動復元されます。ECS ネイティブの機能であるため、外部 Lambda や CodeDeploy への切替えより設定が最小限で済みます。
C
EventBridge ルールで ECS タスク状態変化イベント(STOPPED)を検知し、Lambda 関数が ECS UpdateService API を呼び出して以前のタスク定義リビジョンに更新する
Lambda での非同期処理は、順序・完了の保証が難しいです。
D
CodeDeploy の Blue/Green デプロイに切り替え、テストリスナーポートへのヘルスチェックが失敗した場合に自動的にデプロイをキャンセルするよう設定する
CodeDeploy への切替えは、追加コンポーネントの導入が必要でオーバーエンジニアリングです。

解説

ECS デプロイサーキットブレーカーは、新タスクの起動失敗が一定の閾値(デフォルト: サービス内タスク数の少なくとも 10% かつ最低 3 タスク)を超えると自動的にデプロイを失敗状態にします。「失敗時にロールバック」を有効にすると、直前の正常なタスク定義リビジョンへ自動復元されます。ECS ネイティブの機能であるため、外部 Lambda や CodeDeploy への切替えより設定が最小限で済みます。 選択肢Aは自動化がなく手動対応が必要です。 選択肢CのLambda での非同期処理は、順序・完了の保証が難しいです。 選択肢DのCodeDeploy への切替えは、追加コンポーネントの導入が必要でオーバーエンジニアリングです。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る