DOP構成管理と Infrastructure as Code (IaC)
DevOpsエンジニアは、Amazon RDSインスタンスを含む本番CloudFormationスタックに対してテンプレートの更新を適用しようとしています。変更によってRDSインスタンスが置き換え(Replacement: True)られてデータが失われることを事前に検知し、セキュリティチームとDBチームの承認を経てからデプロイしたいと考えています。最もリスクが低いアプローチはどれですか?
A--no-execute-changesetフラグ付きでaws cloudformation deployを実行し、生成されたChange Setでリソースアクション一覧(特にREPLACEアクション)を確認し、承認後にChange Setを実行する
✓ 正解
Change Setにより更新前にリソースへの影響(ADD/MODIFY/REMOVE/REPLACE)を事前確認できます。REPLACEはリソースの再作成を意味し、RDSの場合はスナップショットなしで削除・再作成されるため、事前に影響を把握してから承認・実行することが重要です。
Baws cloudformation update-stackコマンドを直接実行し、CloudFormationが自動的に安全な変更のみを適用することを信頼する
update-stackの直接実行で変更の事前確認なしに即時適用されるため、意図しないREPLACEによるデータ損失を防げません。
CCodePipelineにManual Approvalアクションを追加し、承認後にCloudFormationデプロイアクションを実行する(Change Set確認なし)
Manual Approvalのみでは承認フローは担保されますが、変更内容の詳細(REPLACEの有無)を事前に確認できません。
DスタックのTermination ProtectionをONにしてからスタックを更新することで、RDSの誤置き換えを防止できる
Termination Protectionはスタック自体の誤削除を防ぐものであり、スタック更新時のリソースReplacement操作は防止しません。
解説
Change Setにより更新前にリソースへの影響(ADD/MODIFY/REMOVE/REPLACE)を事前確認できます。REPLACEはリソースの再作成を意味し、RDSの場合はスナップショットなしで削除・再作成されるため、事前に影響を把握してから承認・実行することが重要です。
選択肢Bのupdate-stackの直接実行で変更の事前確認なしに即時適用されるため、意図しないREPLACEによるデータ損失を防げません。
選択肢CのManual Approvalのみでは承認フローは担保されますが、変更内容の詳細(REPLACEの有無)を事前に確認できません。
選択肢DのTermination Protectionはスタック自体の誤削除を防ぐものであり、スタック更新時のリソースReplacement操作は防止しません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →