無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

Amazon ECS(EC2 起動タイプ)上でマイクロサービスを運用している企業が、AWS CodePipeline と AWS CodeDeploy を使用した Blue/Green デプロイメントパイプラインを運用しています。デプロイ後のトラフィック移行フェーズ中に、CloudWatch メトリクス "HTTP5xxErrorRate" が 5% を超えた場合、人手を介さず自動的にロールバックを実行し、本番環境への影響を最小化したいと考えています。段階的なトラフィック移行(カナリアデプロイ)も採用する予定です。この要件を最も効果的かつ運用負荷の低い方法で実現する設定はどれですか?

A
CodeDeploy デプロイグループの「自動ロールバック」設定で「CloudWatch アラームのしきい値を超えた場合にロールバック」を有効化し、"HTTP5xxErrorRate" アラームを指定する。デプロイ設定として CodeDeployDefault.ECSCanary10Percent5Minutes を選択する
✓ 正解
CodeDeploy デプロイグループの「CloudWatch アラームによる自動ロールバック」は、指定アラームが ALARM 状態に遷移した瞬間にデプロイを停止してロールバックするマネージド機能です。カナリア設定と組み合わせることで、段階的なトラフィック移行中の早期検出と最小影響でのロールバックが実現します。
B
CodeDeploy の AfterAllowTraffic ライフサイクルフックに Lambda 関数を登録し、CloudWatch GetMetricStatistics API で HTTP5xxErrorRate を確認して 5% 超過時に CodeDeploy API の StopDeployment を呼び出す
CodeDeploy の AfterAllowTraffic ライフサイクルフックに Lambda 関数を登録する方式は技術的には動作しますが、カスタム実装が必要で運用オーバーヘッドが大きくなります。
C
Amazon EventBridge ルールで CodeDeploy のデプロイステート変化イベントを監視し、CloudWatch Alarm が ALARM 状態になったときに AWS Step Functions ステートマシンが CodeDeploy の StopDeployment API(autoRollbackEnabled オプション有効)を実行する
Amazon EventBridge ルールと AWS Step Functions を組み合わせる方式は、同様にカスタム実装が必要で複雑性が増加します。
D
AWS Systems Manager Automation ドキュメントを使用して、デプロイ完了後 5 分間 CloudWatch メトリクスを定期ポーリングするランブック(Runbook:障害対応などを手順化した自動化ドキュメント)を構築し、閾値超過時に CodeDeploy ロールバックコマンドを実行する
AWS Systems Manager Automation ドキュメントによるランブック実装は、定期ポーリングが必要であり、リアルタイム検出と比べて遅延が発生します。

解説

CodeDeploy デプロイグループの「CloudWatch アラームによる自動ロールバック」は、指定アラームが ALARM 状態に遷移した瞬間にデプロイを停止してロールバックするマネージド機能です。カナリア設定と組み合わせることで、段階的なトラフィック移行中の早期検出と最小影響でのロールバックが実現します。 選択肢Bの CodeDeploy の AfterAllowTraffic ライフサイクルフックに Lambda 関数を登録する方式は技術的には動作しますが、カスタム実装が必要で運用オーバーヘッドが大きくなります。 選択肢Cの Amazon EventBridge ルールと AWS Step Functions を組み合わせる方式は、同様にカスタム実装が必要で複雑性が増加します。 選択肢Dの AWS Systems Manager Automation ドキュメントによるランブック実装は、定期ポーリングが必要であり、リアルタイム検出と比べて遅延が発生します。

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

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

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