Один из вариантов - запуск нескольких экземпляров EC2 из одного и того же AMI в одном запросе RunInstances и каждый экземпляр EC2 считывает один и тот же файл JSON из S3.
Каждый экземпляр затем запрос свой собственный ami-launch-index из службы метаданных.Этот ami-launch-index будет уникальным для каждого экземпляра EC2, связанного с данным запросом RunInstances, и будет пронумерован от 0 до N-1 (где N - количество запущенных вами экземпляров).
Каждый экземпляр EC2 может затем обработать подмножество списка заданий в файле JSON на основе своего локального ami-launch-index (назовем это K), например, заданий с индексом K, K + N, K + 2N, ...
Другой вариант - написать сценарий, который предварительно анализирует файл JSON, решить, какие задания должен обрабатывать каждый из N экземпляров EC2, а затем передать это подмножество списка в каждый экземпляр EC2 вuserdata, например, запись его в файл json экземпляра.Приложение, запущенное на экземпляре, будет читать этот локальный файл и обрабатывать соответствующие задания.