Ich getestet mit einfachen PowerShell-Skript mkdir C:\tempdir
Wenn ich es als UserData zum Beispiel von Amazon Bild gestartet, alles funktioniert gut. Wenn ich eine Instanz mit angegebenen UserData starte und ein Image dieser Instanz anlege, wird UserData nicht für Instanzen ausgeführt, die aus meinem benutzerdefinierten Image erstellt wurden. Interessant ist, dass "C:\Program Files\Amazon\Ec2ConfigService\Scripts\UserScript.ps1"
UserData des ersten Starts enthält (bevor das Image erstellt wurde), obwohl es Daten enthalten sollte, die beim letzten Start angegeben wurden. Interessanter, sogar UserScript.ps1 ist vorhanden, es wird nicht ausgeführt (es sollte Textdatei erstellen, aber Textdatei ist nicht vorhanden). Hier ist Userdata von der zweiten StartAWS - UserData wird nicht zum Beispiel von benutzerdefinierten Bild erstellt
<powershell>
mkdir C:\tempdir
</powershell>
Wenn EC2ConfigService Einstellungen Dienstprogramm ausgeführt wird, zeigt es „Userdata nach SysPrep standardmäßig aktiviert wird). Ich versuchte t o Aktivieren Sie das Kontrollkästchen Benutzer-Dtaa, dann führen Sie SysPrep (zweites Register) aus und stellen Sie ein Bild von der AWS-Webkonsole her. -Dies funktioniert nicht Ich wiederholte das Verfahren, aber einfach herunterfahren Instanz und erstellte Bild Hat nicht funktioniert.Option zu aktivieren es permanetly ist nicht für mein Szenario geeignet. –
Ich verwende SysPrep nicht, da ich nicht möchte, dass es in meinem Fall läuft. Ich stelle nur sicher, dass das Kontrollkästchen aktiviert ist, die Instanz herunterfahren, sie abbilden und eine neue starten. In meinem Setup hat die alte Instanz nur ' true ' in den Benutzerdaten und wenn ich die neue starte, benutze ich ' ... ' um das Skript nur beim ersten Booten des neuen Images auszuführen. –
eirc
Als ich ' true 'zu base instance hinzufügte (ich benutze Image), hat UserData funktioniert. Ich bin immer noch verwirrt, warum es nicht funktioniert hat, wenn ich das entsprechende Kontrollkästchen ankreuze. Trotzdem Problem gelöst. Danke. –