EC2-Start - Wie erkennt man, wann Windows bereit ist?

10

Ich arbeite mit Amazon EC2 und habe einige Windows-AMIs, die mit EBS unterstützt werden. Wenn ich eine neue Instanz über einen EBS-Snapshot starte, bereitet der EC2Config-Dienst den Windows-Computer für mich vor. Ich weiß, wann EC2Config fertig ist, weil ich die Konsolenausgabe der Instanz überprüfen kann - sobald dort "Windows ist bereit" steht, weiß ich, dass ich gut bin.

Was ich suche, ist eine Möglichkeit, innerhalb des Betriebssystems selbst zu erkennen, dass "Windows bereit ist". Ich würde denken, dass die Metadaten-URL, auf die innerhalb des Betriebssystems zugegriffen werden kann, mir dies sagen würde, aber ich kann keine geeigneten Werte finden.

http://169.254.169.254/latest/meta-data/

Mein Ziel ist es, Konfigurationsskripte auszuführen, sobald "Windows bereit ist". Einige meiner Konfigurationsaufgaben müssen vor dem Start sicherstellen, dass der Computer vollständig konfiguriert ist - insbesondere, wenn EC2Config den Computer umbenennt und neu startet. Ich könnte etwas mit den EC2-Tools oder C # schreiben ... aber dafür müsste ich meine AWS-Schlüssel auf meinen AMIs verwenden (was ich nicht tun möchte). Im Idealfall möchte ich mir etwas auf dem Computer selbst ansehen, um festzustellen, wann ich mit der Konfiguration beginnen kann - beispielsweise einen EventLog-Eintrag, das Ansehen einer Textdatei, das Überprüfen der Metadaten-URL usw.

Nebenfrage: Ich könnte einen guten Artikel darüber verwenden, was genau der Bundle / Unbundle-Prozess mit EBS-Maschinen macht.

Dan
quelle

Antworten:

14

Die EC2Config ist standardmäßig so konfiguriert, dass der Host beim ersten Start umbenannt wird. Das Umbenennen des Hosts unter Windows erfordert einen Neustart. Daher wird jede Instanz nach dem ersten Start einmal neu gestartet. Sie können das Umbenennen des Hosts deaktivieren, wenn Sie das interne DNS für die Instanz nicht verwenden. Weitere Details hier:

Windows-Konfigurationsdienst: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/appendix-windows-config.html

Der EC2Config-Dienst verfügt auch über eine eigene Protokolldatei innerhalb der Instanz:

C: \ Programme \ Amazon \ Ec2ConfigService \ Logs \ Ec2ConfigLog.txt

Diese Datei sollte die für den EC2Config-Dienst relevanten Details enthalten, die auf der Amazon Console-Ausgabe angezeigt werden. Hier ist ein Ausschnitt aus einer meiner Instanzen:

===== Starten von Ec2RebootInstance in einem neuen Thread =======
Ec2InitializeDrives: Gefundene Festplatte: \. \ PHYSICALDRIVE0
Überprüfen der aktuellen Volumes auf Änderungen des Gerätenamens
C: wird mit Volume Name gemountet.
Öffnen des COM-Port-Handles zum Schreiben in das Konsole
Ec2RebootInstance: Warten auf den Abschluss aller Threads
Ec2InitializeDrives: Die Initialisierung ist abgeschlossen. Plugin wird beendet ...
Ec2RebootInstance: Überprüfen, ob ein Thread einen Neustart angefordert hat.
Ec2RebootInstance: Windows
ist einsatzbereit. Senden von Ereignisfenstern ist für alle

Benutzer bereit. Ec2RebootInstance: Überwachung auf Neustartanforderungen.

Ameer Deen
quelle
Perfekt - genau das brauchte ich. Vielen Dank.
Dan
Hallo Dan, wenn das für dich geklappt hätte, würde es dir etwas ausmachen, die Antwort als hilfreich abzustimmen :)? Ich bin neu auf dieser Seite, aber ich denke, die Abstimmung sollte sich von Null erhöhen, wenn Sie dies tun.
Ameer Deen
Woher kommt diese Zeile "Das Senden von Ereignisfenstern ist für alle bereit"? Das steht nicht in meinen Logs und ich würde dieses Ereignis lieben!
Davemyron