Если машина - часть ASG и min-max-desired настроены (1-2-1 например, важно что max=min+1, desired=min) то оно само пересоздаст инстансы. Если нужно именно этот же инстанс обновлять, без его пересоздания - надо в сторону ansible смотреть.
Также, есть секция, которая запускается при каждом старте, что-то типа bootcmd, надо доки уточнить. И есть cloud_final_modules
https://aws.amazon.com/ru/premiumsupport/knowledge-center/execute-user-data-ec2/
вот тут про bootcmd есть
https://stackoverflow.com/questions/6475374/how-do-i-make-cloud-init-startup-scripts-run-every-time-my-ec2-instance-boots
В плане, в эти блоки можно поставить ansible. Потому что userdata работает только при создании инстанса.