Eu recomendaria usar uma das AMIs da Canonical em conjunto com o cloud-init
Procure a seção "Scripts de dados do usuário", na qual você pode usar o arquivo --user-data para iniciar automaticamente um script na inicialização. Assim, você pode simplesmente colocar todos os comandos que deseja executar no script e colocar "shutdown -h now" no final do script.