Время от времени нужно обновлять AMIs используемые в launch templates
Явный намёк на иммутабельную (неизменяемую) инфраструктуру. Best practice подсказывает, что свежеиспечённый образ должен быть очищен от ненужного и установлено всё необходимое. Затем всё протестировано и проверено.
Подходит ли Terraform для этого?
Для развёртывания / обновления с новым AMI? Да.
Для создания нового образа с требуемыми настройками? В принципе можно накрутить user data, но всё рано будет не тот фасон. Для этих целей больше подходит Ansible.