Ich habe ein Skript auf einer EC2-Instanz, mit dem eine andere Instanz remote gestartet wird.
Nachdem diese Instanz vollständig geladen wurde (fertig gebootet), soll automatisch ein Bash-Skript ausgeführt werden. Was ist der beste Weg, dies zu tun?
Ich brauche alles, um vollständig gestartet zu werden, im Grunde führt das Bash-Skript ein Bildkonvertierungsskript aus (mit ImageMagick und führt den Befehl "wget" einige Male aus).
Derzeit befindet sich das Skript hier:
/home/root/beginProcess.sh
Und ich kann es manuell durch Ausführen starten
bash beginProcess.sh
RHEL-6.2-Starter-EBS-i386
Hieran ist auch ein EBS-Band angehängt, wenn das hilft, danke!
quelle
/etc/rc.local
es funktioniert wunderbar, ProstWenn Sie ein AMI verwenden, auf dem das
cloud-init
Paket installiert ist (z. B. Amazon Linux oder Ubuntu), können Sie einfach das Bash-Skript (das mit #! Beginnt) als Benutzerdatendatei übergeben und es wird am Ende des Programms automatisch ausgeführt Bootvorgang.Zum Beispiel könnte es so einfach sein wie:
In diesem Artikel habe ich das Benutzerdatenskriptkonzept vorgestellt, das jetzt in wichtigen EC2-AMIs wie Amazon Linux und Ubuntu verfügbar ist: http://alestic.com/2009/06/ec2-user-data-scripts
Leider sieht es so aus, als ob Sie einen RHEL AMI verwenden möchten. Ich habe eine Kopie davon ausgeführt und konnte keine Verweise auf cloud-init oder das Ausführen von Benutzerdatenskripten beim ersten Start finden, noch habe ich die gleiche Arbeit getestet.
Ich sage nicht, dass Sie Linux-Distributionen nur für diesen Zweck wechseln sollten, aber Amazon Linux basiert auf RHEL, sodass dies für Sie funktionieren könnte.
Hier ist ein Artikel, den ich geschrieben habe, der Ihnen beim Debuggen Ihres Benutzerdatenskripts helfen könnte, wenn es beim ersten Mal nicht funktioniert: http://alestic.com/2010/12/ec2-user-data-output
quelle