SAP-C02-048 · 理解確認
理解確認:Change ManagementとRollback
変更 管理 / 変更セット / ロールバック / ロールバックのトリガー / バージョン / 復旧手順 · 15問
企業は本番変更について、影響確認、承認、実行、監視、失敗時の復旧まで一貫した統制を必要としている。最も適切な変更管理の考え方はどれか。
B. インフラストラクチャ変更だけを管理対象とし、アプリケーション変更は個別運用とする
C. 計画・レビュー・承認・実行・監視・復旧を一続きのプロセスとして管理する
D. ロールバック手順だけを事前に作成し、影響レビューと検証は省略する
答えと解説
答え:C
変更管理は本番変更をレビューから復旧まで一続きの制御されたプロセスとして管理します。
CloudFormationで本番スタックを更新する。実行前にインフラストラクチャへの影響を確認して承認し、実行後はレイテンシーアラームが閾値を超えた場合にロールバックしたい。最も適切な設計はどれか。
B. 変更セットで事前影響をレビューして承認後に実行し、CloudWatchアラームをロールバックトリガーにする
C. CloudWatch アラームだけを設定し、実行前の影響レビューは本番で確認する
D. 変更セットを承認機能として使い、ロールバック条件は障害発生後に運用者が決定する
答えと解説
答え:B
変更セットを変更前の制御、CloudWatch アラームをロールバックトリガーとして組み合わせます。
変更セットとロールバックトリガーの違いとして最も適切な説明はどれか。
B. 両者は同じ制御であり、設定するタイミングだけが異なる
C. 変更セットは障害後の復旧に使い、ロールバックトリガーは変更前の承認に使う
D. 変更セットは実行前の影響レビュー、ロールバックトリガーは実行中・監視期間の障害条件判定に使う
答えと解説
答え:D
変更セットは変更前、ロールバックトリガーは変更実行後の正常性制御という時間軸の違いがあります。
アプリケーションの復旧対象を確実に再現できるようにするバージョン管理として最も適切なのはどれか。
B. 常に `latest` だけを参照し、過去アーティファクトは同じリポジトリ 経路から上書きする
C. デプロイ時刻だけを記録し、アーティファクト自体の識別子は保存しない
D. ロールバック時に送信元の最新状態からアーティファクトを再ビルドして以前の状態を再現する
答えと解説
答え:A
復旧対象は再現可能に一意特定できる必要があります。
安全な変更管理に必要な要素を3つ選択してください。
B. 判断を柔軟にするためロールバックトリガーは障害発生後に定義する
C. 本番変更に必要な承認を実行前に取得する
D. 復旧時は現在の状態に関係なく常に最新アーティファクトを利用する
E. 障害時の復旧方法と検証方法を事前に定義する
F. 復旧手順は本番障害が発生してから作成する
答えと解説
答え:A / C / E
影響レビュー、承認、復旧 / 検証の事前設計を一続きに行います。
CloudFormation スタック更新後のアプリケーションレイテンシーを監視し、設定したCloudWatch アラームがALARMになった場合にスタック運用をロールバックしたい。最も適切な機能はどれか。
B. StackSetsの自動デプロイ制御
C. CloudFormation ロールバックトリガー
D. CodeBuildレポートグループによる判定
答えと解説
答え:C
CloudFormation ロールバックトリガーはCloudWatch アラームを監視してスタック運用のロールバック判断に利用できます。
CodeDeployでEC2 / オンプレミスへアプリケーションをデプロイしている。デプロイ障害または設定済みCloudWatch アラームを契機に自動ロールバックする場合、代表的なロールバック動作として最も適切なのはどれか。
B. 以前に成功した アプリケーション改訂を新しいデプロイとして再デプロイする
C. 送信元 リポジトリの最新コミットを自動ビルドし、そのアーティファクトを復旧対象としてデプロイする
D. EC2インスタンス全体を自動スナップショットから復元してアプリケーション改訂を復元する
答えと解説
答え:B
EC2 / オンプレミスでは以前成功した改訂をロールバック用の新しいデプロイとして再デプロイします。
ロールバックトリガーの設計として適切なものを3つ選択してください。
B. 変更実行前にトリガーとなるシグナルとしきい値を定義する
C. トリガーは運用者の主観だけで判断し、メトリクスは参考情報として扱う
D. エラー率やレイテンシーなど観測可能な正常性シグナルを利用する
E. 復旧仕組みを用意せず、トリガー発生を検知できればロールバック設計は完了とする
F. トリガー発生時にどの復旧手順へ進むかを明確にする
答えと解説
答え:B / D / F
トリガーは事前定義した観測可能なシグナルとしきい値にし、復旧手順へ結び付けます。
デプロイを途中で停止した。フリートの一部にはすでに新しいバージョンが反映されている。停止とロールバックの違いとして最も適切なのはどれか。
B. ロールバックは新しいバージョンを維持したまま、残りリソースへのデプロイだけを終了する
C. 停止とロールバックは常に同一API 運用として処理され、状態差は発生しない
D. 停止は進行を止めるだけの場合があり、ロールバックは定義した安全な状態へ復旧する
答えと解説
答え:D
デプロイ停止だけでは部分的な変更が残る場合があり、既知の正常状態への復旧とは異なります。
データベース状態が新バージョンで変更され、旧アプリケーションへ戻すと互換性問題が発生する。一方、原因が限定されており小さなパッチを安全に短時間で展開できる。最も適切な復旧判断はどれか。
B. 本番トラフィックを停止したまま、状態が自然に元へ戻るまで変更を行わない
C. 現在状態とロールバックリスクを評価し、旧バージョンへ戻すリスクが高ければ前進修正を選択する
D. 以前のアーティファクト識別子を削除し、最新送信元から再ビルドしたバージョンを無条件でデプロイする
答えと解説
答え:C
ロールバック自体が状態リスクを高める場合は、現在状態を評価して前進修正を選ぶことがあります。
復旧手順として最も適切な内容はどれか。
B. 復旧対象と実行コマンドだけを記載し、判断基準と検証は障害発生時に補完する
C. ロールバック担当者と連絡先だけを定義し、具体的な対象や状態 処理はサービス側へ委ねる
D. 障害発生時の柔軟性を優先し、事前手順は作らず運用者が状況ごとに復旧を設計する
答えと解説
答え:A
復旧手順は開始条件から復旧後検証までを事前に定義します。
変更セット、ロールバックトリガー、ロールバック仕組み、復旧手順の関係について正しいものを4つ選択してください。
B. 変更セットを確認すれば実行時障害が発生しないことまで保証できる
C. ロールバックトリガーは復旧を開始する条件を定義する
D. ロールバック仕組みは安全な復旧対象へ戻す方法を定義する
E. 復旧手順には復旧後のサービス検証も含める
F. ロールバックトリガーを設定すれば復旧対象を識別する必要はない
答えと解説
答え:A / C / D / E
変更前 レビュー、トリガー、仕組み、検証は異なる責任として連携させます。
テスト環境で検証したアーティファクトと同一内容を本番へデプロイし、障害時にも以前の既知の正常状態 アーティファクトを再現したい。最も適切な設計はどれか。
B. 不変なバージョン識別子でアーティファクトを追跡し、検証済みの同じアーティファクトを環境間で昇格させる
C. 変更可能な `latest` タグ タグだけを使い、本番時点で最新のアーティファクトを自動選択する
D. デプロイ時刻だけを保持し、アーティファクト識別子はビルドシステムから削除する
答えと解説
答え:B
不変 / バージョン管理された アーティファクトを追跡し、同じ検証済みアーティファクトを昇格させると再現性を高められます。
ブルー/グリーンデプロイで本番トラフィックを旧環境へ戻したが、新バージョンが永続 データへ変更を書き込んでいる。最も適切な復旧判断はどれか。
B. 旧環境がトラフィックを受けた時点で永続 データも自動的に旧状態へ戻ったと判断する
C. アプリケーショントラフィックが正常なら状態互換性は不要とし、復旧手順を終了する
D. ブルー/グリーンではアプリケーションと状態が常に同時バージョンになるため、データの確認を省略する
答えと解説
答え:A
トラフィック切り戻しはアプリケーション経路の復旧であり、永続状態全体のロールバックを保証しません。
高リスクな本番変更について、実行前の影響レビューから障害後の復旧まで安全に設計するために適切なものを3つ選択してください。
B. 正常性メトリクスに基づくロールバックトリガーを変更前に定義する
C. ロールバック時の柔軟性を高めるため既知の正常状態 アーティファクトの識別子は保持しない
D. 障害時には現在状態を確認せず、すべて同じロールバック手順を適用する
E. 復旧後にサービス正常性を検証して安全な状態を確認する
F. 変更セットを作成すれば変更後の監視と復旧手順は不要になる
答えと解説
答え:A / B / E
影響レビュー、事前トリガー、復旧後検証を同じ変更プロセスへ組み込みます。