一個 CloudFormation 範本建立了一個 EC2 instance (帶有使用者資料來安裝應用程式) 和一個 S3 bucket,該 bucket 被應用程式用來提供靜態頁面。當堆疊被刪除時,所有資源都必須被移除,但堆疊刪除失敗,因為 S3 bucket 未被移除。最有效的方法是什麼,以確保所有堆疊資源都能無錯誤地刪除?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 新增一個由 AWS Lambda 函數 (帶有 IAM 角色) 支援的自訂資源,該資源依賴於 S3 bucket。讓 Lambda 處理程式在 RequestType 為 Delete 時刪除 bucket 中的所有物件。.
為什麼這是答案
當 S3 儲存貯體包含物件時,CloudFormation 無法刪除它。最有效的方法是使用 AWS Lambda 函數支援的自訂資源。此 Lambda 函數會在堆疊刪除時(RequestType 為 Delete)被觸發,並在刪除儲存貯體之前清空其內容。這確保了 CloudFormation 可以成功刪除空儲存貯體,避免手動干預。 錯誤選項分析: 為 S3 bucket 資源新增 DeletionPolicy 屬性,其值為 Delete:此屬性是預設行為,但如果 bucket 包含物件,CloudFormation 仍然無法刪除它。 識別是哪個資源阻止了刪除,然後手動清空並刪除 S3 bucket:這不是自動化解決方案,需要手動干預,不符合「最有效」的要求。 將 EC2 instance 和 S3 bucket 替換為 AWS OpsWorks Stacks 資源:OpsWorks Stacks 是一種配置管理服務,但它本身不會解決 S3 bucket 內有物件時無法刪除的問題,且引入了不必要的複雜性。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡