Se você estiver usando um grupo de escalonamento automático do EC2, isso pode ser bem simples. Estou fazendo algo parecido, mas com o tamanho da fila do RabbitMQ.
Verifique o tamanho da fila periodicamente e, em seguida, decida para um determinado comprimento de fila quantos trabalhadores você deseja. Você pode então usar a API ASG (ou ferramentas de linha de comando) para definir a "capacidade desejada" para o grupo de acordo com o número de trabalhadores que você precisa. Em seguida, o ASG cuida da criação e encerramento de instâncias, conforme necessário.