Configuram instanțe AWS EC2 (Ubuntu 20.04) cu cloud-init folosind scripturi de date utilizator. Observăm că scripturile de date utilizator nu se execută dacă sunt executate pe o instanță care este lansată dintr-un AMI personalizat creat dintr-o altă instanță lansată.
Creăm un AMI intermediar care are instrumente și cadre comune și îl reutilizam pentru nevoi specifice -
- Mai întâi, lansăm o instanță dintr-un AMI publicat. Scripturile de date utilizator sunt executate perfect ca prima pornire pe această instanță.
- Creăm un AMI intermediar din instanța lansată în primul pas.
- Apoi lansați o altă instanță din AMI intermediar.
Oferim script de date utilizator și în instanța lansată din AMI intermediar, dar cumva scriptul nu se execută. Am observat că cloud-init
serviciul de crawler de metadate al lui (cloud-init.service
) nu rulează în pasul 3 și, prin urmare, scripturile utilizatorului nu sunt executate.
Am încercat deja să curățăm cache-ul cloud-init înainte de a crea AMI-ul intermediar, astfel încât cloud-init să poată rula ca primă pornire pe noua instanță [Referinţă] -
sudo cloud-init clean --logs --seed
Și am încercat să curăț /etc/machine-id
ca partajat Aici dar nimic nu merge.
Există ceva ce îmi lipsește pentru a curăța pentru cloud-init, astfel încât să poată rula ca primă pornire pentru instanțe noi?