Wie behebe ich „Net::OpenTimeout“-Fehler in CodeDeploy?

Lesedauer: 2 Minute
0

Ich möchte eine Windows Amazon Machine Image (AMI)-Instance in AWS CodeDeploy starten. Ich erhalte jedoch die folgende Fehlermeldung in meiner Protokolldatei für den AWS-CodeDeploy-Agenten: „Fehler CodeDeploy Instance Agent Service beim Start oder Ausführen: Net::OpenTimeout - Ausführung ist abgelaufen - C:/Windows/TEMP/ocrFxxx.tmp/lib/ruby/2.3.0/net/http.rb:880:in 'initialisieren'.“

Kurzbeschreibung

Für von AWS bereitgestellte Windows-Server-2016-AMI-Instances legt EC2Launch die Metadaten oder AWS Key Management Service (AWS KMS)-Routen beim ersten Start statistisch fest. Wenn Sie aus diesen Instances ein benutzerdefiniertes AMI erstellen, werden die Routen als Teil der Betriebssystemkonfiguration erfasst. Alle neuen Instances, die Sie über das AMI starten, behalten dieselben Routen bei, unabhängig von der Platzierung des Subnetzes.

Beim Start von einem benutzerdefinierten AMI aus werden diese statischen Routen nur aktualisiert, wenn eine der folgenden Konfigurationen zutrifft:

  • Sie verwenden Sysprep für Ihr benutzerdefiniertes AMI.
  • Sie planen die Startinitialisierungsaufgaben für Amazon Elastic Compute Cloud (Amazon EC2), bevor Sie das AMI erstellen.

Beim Start von einem benutzerdefinierten AMI in einem anderen Amazon Virtual Private Cloud (Amazon VPC), Subnetz oder CIDR-Block treten die folgenden Probleme auf:

  • Konfigurierte Routen sind nicht mehr gültig.
  • Die Instance kann den Metadaten-Service oder die AWS-KMS-Server, die für die Instance-Aktivierung erforderlich sind, nicht erreichen.

Behebung

1.    Erstellen Sie ein benutzerdefiniertes AMI in Windows.

2.    Verwenden Sie das benutzerdefinierte AMI, das Sie in Schritt 1 erstellt haben, um eine neue Instance zu starten.

Wichtig: Wenn Sie Sysprep verwenden, verwenden Sie Sysprep, nachdem Sie Ihre neue Instance gestartet haben.

3.    Stellen Sie eine Verbindung zu Ihrer gestarteten Windows-Instance her.

4.    Melden Sie sich als Administrator bei Windows PowerShell an.

5.    Navigieren Sie in PowerShell zu C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts. Geben Sie dann den folgenden Befehl ein:

.\InitializeInstance.ps1 -Schedule

6.    Drücken Sie die Eingabetaste.

7.    Beenden Sie die Instance, die Sie in Schritt 3 erstellt haben. Erstellen Sie dann ein neues AMI aus der Instance, die Sie beendet haben.

8.    Verwenden Sie das neue AMI, um die Instance in CodeDeploy zu starten.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr