静的ウェブサイトがS3バケットでホストされ、CloudFormation経由でデプロイされています。このテンプレートはS3バケットと、ソースからバケットにサイトコンテンツをコピーするカスタムリソースを作成します。チームはウェブサイトを移動するためにスタックを削除して再作成する必要がありますが、CloudFormationはスタックをきれいに削除できません。最も可能性の高い原因は何ですか?また、エンジニアは現在のサイトバージョンと将来のサイトバージョンでこれをどのように防ぐべきですか?
解答を選択
オプションをタップして解答を確認してください。
正解: S3バケットが空ではないため、削除に失敗しました。カスタムリソースをバックアップするLambdaを更新して、RequestTypeがDeleteの場合にバケットを再帰的に空にするようにしてください。.
これが解答である理由
S3バケットが空でない場合、CloudFormationはデフォルトでバケットを削除できません。ウェブサイトコンテンツはカスタムリソースによってバケットにコピーされているため、スタック削除時にこれらのオブジェクトは自動的に削除されません。したがって、スタックの削除が失敗します。この問題を解決するには、カスタムリソースの背後にあるLambda関数を更新し、RequestTypeがDeleteの場合にS3バケットの内容を再帰的に空にするロジックを追加する必要があります。 他の選択肢が正しくない理由は以下の通りです。 S3バケットにウェブサイト設定があること自体は、削除を妨げません。 カスタムリソースにDeletionPolicyがない場合、デフォルトでは物理リソースは保持されますが、スタックの削除が失敗する直接の原因ではありません。 S3バケットリソースにDeletionPolicy: Emptyを追加しても、バケットが空でない限り削除は成功しません。Emptyポリシーは、バケットが空の場合にのみ適用されます。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要