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

本番環境で AWS CodeDeploy を使用した EC2 インスタンスへの Blue/Green デプロイを実施しています。先日のデプロイ後、ALB(Application Load Balancer)のヘルスチェックはすべて正常でしたが、CloudWatch カスタムメトリクス `AppErrorRate` が閾値を超えアプリケーションレベルの障害が発生していました。次回以降のデプロイで同様の問題が発生した際に、人手を介さず自動ロールバックするための最も適切な設定はどれですか?

A
CodeDeploy デプロイグループの「アラームの設定」に `AppErrorRate` の CloudWatch アラームを追加し、「デプロイが失敗した場合やモニタリングしきい値を超えた場合にロールバックする」を有効にする
✓ 正解
CodeDeploy デプロイグループには CloudWatch アラームを監視設定として追加でき、指定アラームが ALARM 状態になると自動的にデプロイを停止してロールバックします。ALB ヘルスチェックが正常でもアプリケーションレベルのカスタムメトリクスでロールバックを制御でき、完全自動化が実現します。
B
CodePipeline に手動承認ステージを追加し、`AppErrorRate` アラーム通知を SNS 経由でオペレーターに送信してロールバック可否の判断を求める
CodePipeline への手動承認ステージ追加は手動介入が必要で RTO が悪化します。
C
ALB アクセスログを S3 に出力し、EventBridge ルールで S3 PutObject イベントを検知した Lambda 関数が CodeDeploy の StopDeployment API を呼び出す
ALB アクセスログのリアルタイム性が低く(数分の遅延),Lambda 経由での API 呼び出しより CodeDeploy ネイティブのアラーム連携である A が最もシンプルかつ確実です。
D
CloudWatch Synthetics カナリアを設定し、エラー検知時に SNS トピックへ通知を送りオペレーターが手動で Blue 環境へ切り戻す
CloudWatch Synthetics カナリアは手動介入が必要で RTO が悪化します。

解説

選択肢Aは、CodeDeploy デプロイグループには CloudWatch アラームを監視設定として追加でき、指定アラームが ALARM 状態になると自動的にデプロイを停止してロールバックします。ALB ヘルスチェックが正常でもアプリケーションレベルのカスタムメトリクスでロールバックを制御でき、完全自動化が実現します。 選択肢Bは、CodePipeline への手動承認ステージ追加は手動介入が必要で RTO(Recovery Time Objective: 目標復旧時間)が悪化します。 選択肢Cは、ALB アクセスログのリアルタイム性が低く(数分の遅延)、Lambda 経由での API 呼び出しより CodeDeploy ネイティブのアラーム連携のほうがシンプルかつ確実です。 選択肢Dは、CloudWatch Synthetics カナリアは手動介入が必要で RTO が悪化します。

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

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

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