Po uruchomieniu przez Cloud-init skryptu danych użytkownika przy pierwszym uruchomieniu instancji EC2 plik stanu jest prawdopodobnie zapisywany, aby Cloud-init nie uruchomił ponownie tego skryptu przy kolejnych uruchomieniach. Są przypadki, w których chciałbym usunąć ten plik stanu, aby skrypt danych użytkownika został ponownie uruchomiony. Gdzie to jest?
amazon-ec2
cloud-init
Mikrofon
źródło
źródło
curl
że usługa metadanych, aby uzyskać identyfikator bieżącej instancji, jest niepotrzebna, ponieważ/var/lib/cloud/instance
jest już dowiązaniem symbolicznym do bieżącej instancji/var/lib/cloud/instances
. :-)Możesz umieścić swój skrypt w /etc/rc.local, który uruchomi skrypt przy każdym ponownym uruchomieniu.
źródło
/etc/rc.local
nie ma nic wspólnego z danymi użytkownika EC2.Możesz również skonfigurować dane użytkownika, aby były uruchamiane przy każdym rozruchu, zamiast usuwać plik stanu. Musisz użyć
cloud_final_modules
w swoim skrypcie danych użytkownika, aby ponownie uruchomić skrypt użytkownika, i w tym celu musisz dostosować uderdata, aby mieć wiele plików w danych użytkownika. Przykładowy plik danych użytkownika wygląda następująco:Spowoduje to, że skrypt danych użytkownika zostanie wykonany na ostatnim etapie każdego procesu rozruchu. Tutaj
bin/echo "Hello World" >> /tmp/userdata-test.txt
należy wykonać tylko jedną linię , zamień ją na skrypt powłoki, który musi być wykonywany przy każdym uruchomieniu komputera.źródło