Приложение, работающее на EC2, опрашивает файловую систему Amazon EFS на наличие новых файлов. Когда появляется новый файл, приложение выбирает образ контейнера Docker для обработки файла, запускает соответствующий контейнер и передает местоположение файла. Обработка может занимать до 2 часов; по завершении контейнер записывает результат обратно в EFS и завершает работу. Компания хочет удалить экземпляры EC2, на которых работают эти контейнеры. Какой подход к рефакторингу соответствует требованию?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Создать кластер Amazon ECS и запускать обработку как задачи AWS Fargate. Извлечь логику выбора контейнера в функцию AWS Lambda, которая запускает соответствующую задачу Fargate. Переместить хранилище файлов в бакет Amazon S3, обновить код обработки для использования S3 и настроить уведомление о событиях S3 для вызова функции Lambda при создании объекта..
Почему это правильный ответ
Правильный ответ предлагает наиболее бессерверное и масштабируемое решение. Перенос файлов в S3 позволяет использовать уведомления о событиях S3, которые напрямую вызывают функцию Lambda. Lambda идеально подходит для извлечения логики выбора контейнера, так как она бессерверна и реагирует на события. Запуск задач Fargate в кластере ECS позволяет выполнять контейнерные рабочие нагрузки без управления серверами EC2, что соответствует требованию по удалению экземпляров EC2. Время обработки до 2 часов также хорошо подходит для Fargate. Остальные варианты менее оптимальны: Первый вариант использует EventBridge для запуска задач Fargate при добавлении файлов в EFS. Хотя EventBridge может запускать Fargate, EFS не имеет прямой интеграции с EventBridge для уведомлений о новых файлах, что затрудняет реализацию. Второй вариант предлагает сервис Fargate для логики выбора, что добавляет ненужную сложность и постоянный ресурс для простой логики, которую можно реализовать в Lambda. Уведомления EFS для вызова сервиса Fargate также не являются стандартным паттерном. Четвертый вариант предлагает использовать функции Lambda в виде образов контейнеров для обработки, но Lambda имеет ограничение по времени выполнения (до 15 минут), что не подходит для обработки, занимающей до 2 часов.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется