Я бы выбрал самое простое решение, так как это не такая сложная задача (с архитектурной точки зрения).
Сконфигурируйте событие S3 для корзины, в которой вы храните новый большой трехмерный массив,запуск лямбда-функции после того, как объект был помещен в корзину (вы можете быть более детализированным и запускать его на основе префикса, если вы храните все / разные данные в одном и том же контейнере).
Внутри этой лямбда-функциивы просто запускаете новый экземпляр EC2 и передаете ему скрипт user data
, который загрузит необходимые файлы и запустит задачу (это можно сделать с помощью boto3 для Python).
Использование CloudFormation в этом случае было бы излишним (мое мнение).