Você também pode configurar os dados do usuário para executar novamente em cada inicialização, em vez de remover o arquivo de estado. É necessário usar cloud_final_modules
no script userdata para executar novamente o script userdata e, para isso, é necessário customizar uderdata para ter vários arquivos em userdata. Exemplo de arquivo userdata seria como:
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
/bin/echo "Hello World" >> /tmp/userdata-test.txt
--//
Isso fará com que o script userdata seja executado na última etapa de cada processo de inicialização. Aqui apenas uma única linha bin/echo "Hello World" >> /tmp/userdata-test.txt
a ser executada, substitua-a pelo seu shell script que precisa ser executado toda vez que uma máquina for inicializada.