Шаблон CloudFormation создает инстанс EC2 (с пользовательскими данными для установки приложения) и бакет S3, используемый приложением для обслуживания статических страниц. Все ресурсы должны быть удалены при удалении стека, но удаление стека завершается с ошибкой, потому что бакет S3 не удаляется. Какой наиболее эффективный способ гарантировать удаление всех ресурсов стека без ошибок?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Добавить пользовательский ресурс, поддерживаемый функцией AWS Lambda (с ролью IAM), который зависит от бакета S3. Сделать так, чтобы обработчик Lambda удалял все объекты из бакета, когда RequestType равен Delete..
Почему это правильный ответ
Правильный ответ — использование пользовательского ресурса, поддерживаемого функцией AWS Lambda. CloudFormation не может удалить непустой S3-бакет. Функция Lambda, вызванная пользовательским ресурсом, может быть настроена для очистки бакета перед его удалением. Когда CloudFormation получает запрос на удаление стека, он отправляет событие Delete пользовательскому ресурсу, который запускает Lambda-функцию для удаления содержимого бакета, позволяя CloudFormation затем успешно удалить сам бакет. Неверные варианты: Атрибут DeletionPolicy: Delete не решает проблему непустого бакета; он просто указывает CloudFormation удалить бакет, если он пуст. Ручная очистка и удаление не является автоматизированным решением и не соответствует принципам инфраструктуры как кода. Замена на AWS OpsWorks Stacks — это чрезмерное изменение архитектуры, не решающее напрямую проблему удаления непустого S3-бакета.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется