Minha alteração que fez funcionar:
userdata = <<-EOF
#!/bin/bash
cd /home/ubuntu <---- REMOVI
echo "AWS Teste Index" > index.html
nohup busybox httpd -f -p 8080 &
EOF
Minha alteração que fez funcionar:
userdata = <<-EOF
#!/bin/bash
cd /home/ubuntu <---- REMOVI
echo "AWS Teste Index" > index.html
nohup busybox httpd -f -p 8080 &
EOF
Allen, teu código está perfeito. Ele funciona porque todos os comandos no script serão executados na pasta atual, tornando a linha que você removeu aparentemente obsoleta.
Talvez a linha não tenha funcionado para você porque teu usuário não é "ubuntu".
Uma alternativa para garantir que os arquivos serão criados, e os comandos executados, na pasta do usuário, é utilizar o alias universal cd ~