CloudFormationスタックを削除・更新する際に、スタック内のRDSデータベースやS3バケットが誤って削除されないようリソースを保持したり、削除前にスナップショットを取得したりするために設定する属性はどれですか
正解の理由:DeletionPolicy はスタック削除時(またはテンプレートからリソースを除去した時)の挙動を Delete、Retain、Snapshot から指定する属性で、RDS や Redshift、EBS などは Snapshot を指定すると削除前に自動でスナップショットを取得します。UpdateReplacePolicy は更新でリソースの置換が発生する場合の旧リソースの扱いを同様に指定します。両方をセットで指定するのがベストプラクティスで、S3バケットは中身があると削除自体が失敗するため Retain が定番です。DependsOn は作成順序の制御、Condition はリソースを作成するかどうかの条件、Metadata は補足情報の記述であり、削除時の保護には関係しません。