Wie führe ich einen Befehl auf einer vorhandenen EC2-Windows-Instance aus, wenn ich die Instance neu starte oder starte?

Lesedauer: 3 Minute
0

Ich möchte ein benutzerdefiniertes Skript auf meiner vorhandenen Amazon Elastic Compute Cloud (Amazon EC2) Windows-Instance ausführen, wenn ich die Instance neu starte oder starte.

Kurzbeschreibung

Fügen Sie den Benutzerdaten ein Skript hinzu und konfigurieren Sie es dann so, dass es nach dem Neustart einer Instance oder beim Start einer Instance ausgeführt wird. EC2Config (Windows Server 2012 R2 und früher), EC2Launch (Windows Server 2016 und 2019) oder EC2LaunchV2 (Windows Server 2022) verarbeiten Benutzerdaten.

Behebung

Wenn Sie das Skript zu Benutzerdaten hinzufügen, müssen Sie es in ein spezielles Tag einschließen. Dieses Tag bestimmt, ob die Befehle in einem Befehlszeilenfenster oder in Windows PowerShell ausgeführt werden. Weitere Informationen finden Sie unter Ausführen Befehle beim Start auf Ihrer Windows-Instance.

Sie können keine Benutzerdaten hinzufügen oder ändern, wenn die Instance ausgeführt wird, aber Sie können sie anzeigen. Um Benutzerdaten hinzuzufügen oder zu ändern, muss sich die Instance im gestoppten Zustand befinden. Benutzerdatenskripts werden nicht automatisch ausgeführt, wenn Sie die Instance neu starten oder starten. Sie können die Benutzerdaten so konfigurieren, dass sie beim nächsten oder bei jedem Neustart oder Start der Instance ausgeführt werden.

Wichtig:

  • Wenn Sie keine Elastisch IP-Adresse verwenden, wird die öffentliche IP-Adresse freigegeben, wenn Sie die Instance beenden.
  • Wenn die Instance über ein Instance-Speicher-Volume verfügt, gehen alle darauf gespeicherten Daten verloren, wenn die Instance gestoppt wird.
  • Wenn das Verhalten beim Herunterfahren der Instance auf Terminate gesetzt ist, wird die Instance beendet, wenn sie gestoppt wird.
  • Wenn die Instance Teil einer Auto Scaling-Gruppe ist, trennen Sie die Instance zuerst von der Auto Scaling-Gruppe. Nachdem Sie die Instance gestoppt und gestartet haben, fügen Sie die Instance erneut der Auto Scaling-Gruppe hinzu. Weitere Informationen finden Sie unter Stoppen und Starten einer Instance.

1.Herstellen einer Verbindung mit Ihrer EC2-Windows-Instance.

2.Öffnen Sie für Windows Server 2012 R2 oder früher C:\Programme\Amazon\EC2ConfigService\Ec2ConfigServiceSetting.exe. Wählen Sie dann für Benutzerdaten die Option Aktivieren Benutzerdatenausführung für nächsten Dienststart aus.
**Hinweis:**Der vorherige Befehl ändert das lokale Administratorkennwort der Instance bei jedem Neustart. Wenn Sie ein AMI mit der ausgewählten Option Kein Schlüsselpaar verwenden, verlieren Sie möglicherweise beim Neustart den Zugriff auf Ihre Instance.

Öffnen Sie für Windows Server 2016 und 2019 ein Windows PowerShell-Befehlsfenster und führen Sie dann den folgenden Befehl aus:

C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 –Schedule

Führen Sie für Windows Server 2022 UserData als Skript aus und legen Sie die Frequenz so fest, dass sie immer bei jedem Start ausgeführt wird. Weitere Informationen zur Syntax und zu Beispielen finden Sie unter ExecuteScripts.

3.Stoppen Sie die Instance von der Amazon EC2-Konsole aus.

4.Wählen Sie die Instance aus und wählen Sie Verbinden. Wählen Sie Instance-Einstellungen, und dann **Bearbeiten Benutzerdaten **.

5.Fügen Sie die Benutzerdaten hinzu oder aktualisieren Sie sie und wählen Sie dann Speichern.
Hinweis: Um Benutzerdatenskripts bei jedem Neustart oder Neustart der Instance auszuführen, fügen Sie die folgende Einstellung hinzu:

<persist>true</persist>

6.Starten Sie die Instance. Die Benutzerdatenskripts werden als Teil des Instance-Startvorgangs ausgeführt.
Zur zusätzlichen Fehlerbehebung enthalten die Protokolldateien EC2Config, EC2Launch und EC2LaunchV2 die Ausgabe der Standardausgabe und der Standardfehlerstreams. Die Protokolldateien befinden sich wie folgt:

  • Ec2Config: C:\Programmdatei\Amazon\EC2ConfigService\Logs\Ec2Config.log
  • EC2Markteinführung: C:\Programmdaten\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2MarkteinführungV2: C:\Programmdaten\Amazon\EC2Launch\log\agent.log

Ähnliche Informationen

Wie führe ich beim Start einen Befehl auf einer neuen EC2-Windows-Instance aus?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten