Мы хотели бы запускать отдельные задачи контейнера Docker с учетом версий и журналов, но нерегламентированным способом на AWS. Каждая задача контейнера требует значительного количества виртуальных ЦП и ОЗУ (возможно, 16 виртуальных ЦП и 64 ГБ ОЗУ).
Я вижу несколько сервисов, которые могут помочь с этим, но ни одна из них не подходит идеально;
Может ли кто-нибудь предложить какой-либо опыт работы с подобными рабочими нагрузками? Есть ли какие-то очевидные услуги, которые я пропустил?
Использовать CloudFormation создать стек последовательным, воспроизводимым способом каждый раз, когда вам нужно его запускать. Шаблон CloudFormation создаст:
Затем вы можете иметь простой сценарий оболочки или ansible playbook который создаст стек из шаблона CloudFormation и запустит выполнение задачи. Затем дождитесь его завершения и срывать снова в стек, чтобы не платить за простаивающие ресурсы. При желании, если вам нужно запустить задачу, например каждое утро вы можете использовать Правило событий CloudWatch периодически запускать его.
Если запускаемый контейнер необходимо время от времени перестраивать из исходного кода, вы также можете настроить CI / CD конвейер с помощью CodePipeline, CodeBuildи т. д., которые будут последовательно перестраивать ваш контейнер каждый раз, когда вы вносите изменения в код.
Надеюсь, это поможет :)
Попробуйте terraform + ecs. Просто и легко