Ich habe festgestellt, dass sich der Zustand der Instanz während eines Neustarts nicht ändert. Gibt es eine Möglichkeit, zu überprüfen, ob die Instanz gerade einen Neustart abgeschlossen hat?Wie programmgesteuert prüfen, ob eine EC2-Instanz den Neustart abgeschlossen hat?
Antwort
Ein Neustart ist ein Ereignis auf Betriebssystemebene, sodass der Hypervisor den Neustart des Betriebssystems nicht erkennt. Es gibt keine Änderung während des Neustarts auf der API/CLI-Ebene, die Sie in den Befehlszeilentools erkennen können, wie Sie bemerkt haben.
Wenn jedoch ICMP Echo Request in der Gruppe Eingehende Sicherheit aktiviert ist, können Sie PING verwenden, um über die Netzwerkzugriffsfähigkeit der Instanz zu berichten. Dies ist ähnlich dem, was der EC2-Status-Check macht, wenn er den Zustand der Instanz meldet.
Reply from 10.0.0.1: bytes=32 time=97ms TTL=101
Reply from 10.0.0.1: bytes=32 time=80ms TTL=101
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Reply from 10.0.0.1: bytes=32 time=82ms TTL=101
Reply from 10.0.0.1: bytes=32 time=77ms TTL=101
Reply from 10.0.0.1: bytes=32 time=106ms TTL=101
und dann die Paket Antworten zurückgeben, nachdem die Instanz neu starten abgeschlossen hat:
Bei einem Neustart werden Sie Ping-Pakete für einen Moment fallen gelassen sehen.
Ich habe oft PING auf diese Weise verwendet, um festzustellen, wann ein Neustart abgeschlossen ist. Sie können das gleiche programmatisch tun.
Knoten SDK verwenden, können Sie instanceStatusOk
verwenden, um zu überprüfen, nachdem rebootInstances
instanceStatusOk
> für den instanceStatusOk Zustand Wartet durch periodisches den zugrunde liegenden EC2.describeInstanceStatus() Betrieb alle 15 Sekunden Aufruf (bei die meisten 40 Mal).
Beispiel:
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#instanceStatusOk-waiter- 1. Prüfen, ob Webseite eine reaktionsfähige Navigation hat
- 2. Wie programmgesteuert prüfen, ob eine App installiert ist?
- 3. Wie programmgesteuert erkennen, ob eine Bitmap Alphakanal hat?
- 4. Digitale Signatur programmgesteuert prüfen
- 5. Prüfen, ob Element zwei Klassen hat
- 6. Programmgesteuert Neustart IIS7 (C#)
- 7. Neustart Android-Gerät programmgesteuert
- 8. prüfen, ob eine Befehlsausgabe erzeugt
- 9. Wie kann ich prüfen, ob ein Double einen Bruchteil hat?
- 10. Rubin: Prüfen, ob eine Zeichenfolge
- 11. Testen, ob eine Eingabe den Fokus hat
- 12. Eine Word-Seriendruck-Datenquelle programmgesteuert prüfen
- 13. Überprüfen, ob die Variable den Wert '' hat
- 14. Wie Benachrichtigung erhalten, die eine System.Threading.Tasks.Task abgeschlossen hat
- 15. Kompilierzeit prüfen, ob eine Basisklasse "interface" ist
- 16. Prüfen, ob Fenster den Fokus verliert
- 17. Prüfen, ob eine Zeichenfolge eine andere enthält
- 18. Wie zu überprüfen, ob Thread-Ausführung abgeschlossen
- 19. ADO.Net Excel, Prüfen, ob eine Tabelle existiert?
- 20. Javascript, um zu prüfen, ob ein Feld einen Wert hat
- 21. Fileupload - Prüfen, ob eine tatsächliche Datei
- 22. Prüfen, ob die Datei ein CSV-Format mit Python hat
- 23. C++ prüfen, ob Unicode-Zeichen volle Breite hat
- 24. Prüfen, ob eine Datenbank verfügbar ist?
- 25. Prüfen, ob eine Scheitelpunktliste ein Objekt enthält
- 26. Wörterbücher - prüfen, ob der Wert einen Schlüssel hat
- 27. Prüfen, ob eine Zeichenfolge Zahlen enthält
- 28. Wie überprüft man, ob mindestens eine Eingabe abgeschlossen ist?
- 29. Prüfen, ob eine Variable definiert ist?
- 30. Programmgesteuert Neustart des USB-Geräts in Windows
Nach dem Aufrufen der Instanzstatus OK Neustart kann (30 Sekunden) => Init (3 Sekunden) => OK. Wenn dieser Übergang innerhalb von 5 Sekunden stattgefunden hat, könnte das Abrufen alle 15 Sekunden fehlschlagen. – wz366