Wir haben 2 automatische Skalierungsgruppen (eine für On-Demand- und eine für Spot-Instanzen), die beide auf eine statische Anzahl von Instanzen eingestellt sind (min, max und gewünscht sind alle gleich - in unserem Fall 5). Die Instanzen in der On-Demand-Gruppe werden weiterhin ausgeführt, die Instanzen in der Spot-Gruppe werden jedoch häufig aufgrund einer Systemintegritätsprüfung beendet. Die Meldung, die für eine terminierte Instanz auf der Registerkarte Skalierungsverlauf in der EC2-Verwaltungskonsole angezeigt wird, lautet z.
"Am 2014-05-07T18: 06: 45Z wurde eine Instanz als Reaktion auf eine Systemintegritätsprüfung außer Betrieb genommen."
Ich weiß nicht, warum unsere Spot-Instanzen einen Gesundheitscheck nicht bestehen. Unser Angebotspreis ist hoch, und ich denke nicht, dass die Instanzen aufgrund des Spotpreises (basierend auf dem Spotpreisverlauf) hätte beendet werden müssen. Ich habe die AZs angepasst, in denen die Instanzen auch gestartet werden, und ich sehe keinen Unterschied. Ich sehe keine verdächtigen Nachrichten, wenn ich das Syslog einer kürzlich beendeten Instanz überprüfe. Wir verwenden für beide Gruppen eine private / benutzerdefinierte AMI, aber ich sehe dasselbe Verhalten, wenn ich zu einer allgemeineren AMI wechsle (das auf alestic.com aufgeführte Image "Ubuntu 12.04 LTS Precise EBS boot" - ami-5db4a934). Auch hier laufen unsere On-Demand-Instanzen weiter und bestehen keine Integritätsprüfungen. Wir verwenden den Health Check-Typ "EC2".
Hier ist der Befehl, mit dem wir unsere Startkonfiguration über die AWS-CLI erstellen:
aws autoscaling create-launch-configuration \
--launch-configuration-name [name] \
--image-id ami-5db4a934 \
--key-name [our key] \
--security-groups [our SGs] \
--instance-type m3.xlarge \
--block-device-mappings '[ { "DeviceName": "/dev/sda1", "Ebs": { "VolumeSize": 8 } } ]' \
--spot-price "1.00"
Weiß jemand, was dies sein könnte oder wie wir mehr Einblick bekommen können, warum die Spot-Instanzen die Integritätsprüfungen nicht bestehen?