Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeiten mit Amazon EC2 Spot-Instances
FSxfor Lustre kann mit EC2 Spot-Instances verwendet werden, um Ihre EC2 Amazon-Kosten deutlich zu senken. Eine Spot-Instance ist eine ungenutzte EC2 Instance, die für weniger als den On-Demand-Preis erhältlich ist. Amazon EC2 kann Ihre Spot-Instance unterbrechen, wenn der Spot-Preis Ihren Höchstpreis übersteigt, wenn die Nachfrage nach Spot-Instances steigt oder wenn das Angebot an Spot-Instances sinkt.
Wenn Amazon eine Spot-Instance EC2 unterbricht, wird eine Benachrichtigung zur Unterbrechung der Spot-Instance angezeigt, sodass die Instance zwei Minuten lang gewarnt wird, bevor Amazon sie EC2 unterbricht. Weitere Informationen finden Sie unter Spot-Instances im EC2Amazon-Benutzerhandbuch.
Um sicherzustellen, dass FSx Amazon-Dateisysteme nicht von EC2 Spot-Instance-Unterbrechungen betroffen sind, empfehlen wir, die Bereitstellung von FSx Amazon-Dateisystemen aufzuheben, bevor Spot-Instances beendet oder in den Ruhezustand versetzt werden. EC2 Weitere Informationen finden Sie unter Aufheben des Mountings von Dateisystemen.
Umgang mit Amazon EC2 Spot-Instance-Unterbrechungen
FSxfor Lustre ist ein verteiltes Dateisystem, in dem Server- und Client-Instances zusammenarbeiten, um ein leistungsstarkes und zuverlässiges Dateisystem bereitzustellen. Sie sorgen für einen verteilten und kohärenten Zustand sowohl auf Client- als auch auf Serverinstanzen. FSxfür Lustre delegieren Server temporäre Zugriffsberechtigungen an Clients, während sie aktiv I/O durchführen und Dateisystemdaten zwischenspeichern. Es wird erwartet, dass Clients innerhalb kurzer Zeit antworten, wenn Server sie auffordern, ihre temporären Zugriffsberechtigungen zu widerrufen. Um das Dateisystem vor Clients zu schützen, die sich schlecht benehmen, können Server Lustre-Clients, die nach einigen Minuten nicht antworten, vom Server entfernen. Um zu vermeiden, dass Sie mehrere Minuten warten müssen, bis ein Client, der nicht reagiert, auf die Serveranfrage antwortet, ist es wichtig, die Lustre-Clients sauber auszuhängen, insbesondere bevor Sie Spot-Instances beenden. EC2
EC2Spot sendet Kündigungsmitteilungen 2 Minuten im Voraus, bevor eine Instance heruntergefahren wird. Wir empfehlen Ihnen, den Prozess der sauberen Deinstallation der Lustre-Clients zu automatisieren, bevor Sie Spot-Instances beenden. EC2
Beispiel — Skript zum sauberen Aushängen terminierter Spot-Instances EC2
Dieses Beispielskript macht die Bereitstellung terminierter Spot-Instances sauber rückgängig, indem EC2 es wie folgt vorgeht:
Sucht nach Kündigungsmitteilungen von Spot.
Wenn es eine Kündigungsmitteilung erhält:
Beenden Sie Anwendungen, die auf das Dateisystem zugreifen.
Hängt das Dateisystem aus, bevor die Instanz beendet wird.
Sie können das Skript nach Bedarf anpassen, insbesondere um Ihre Anwendung ordnungsgemäß herunterzufahren. Weitere Informationen zu bewährten Methoden für den Umgang mit Spot-Instance-Unterbrechungen finden Sie unter Bewährte Methoden für den Umgang mit EC2
#!/bin/bash # TODO: Specify below the FSx mount point you are using *FSXPATH=/fsx* cd / TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") if [ "$?" -ne 0 ]; then echo "Error running 'curl' command" >&2 exit 1 fi # Periodically check for termination while sleep 5 do HTTP_CODE=$(curl -H "X-aws-ec2-metadata-token: $TOKEN" -s -w %{http_code} -o /dev/null http://169.254.169.254/latest/meta-data/spot/instance-action) if [[ "$HTTP_CODE" -eq 401 ]] ; then # Refreshing Authentication Token TOKEN=$(curl -s -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 30") continue elif [[ "$HTTP_CODE" -ne 200 ]] ; then # If the return code is not 200, the instance is not going to be interrupted continue fi echo "Instance is getting terminated. Clean and unmount '$FSXPATH' ..." curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/spot/instance-action echo # Gracefully stop applications accessing the filesystem # # TODO*: Replace with the proper command to stop your application if possible* # Kill every process still accessing Lustre filesystem echo "Kill every process still accessing Lustre filesystem..." fuser -kMm -TERM "${FSXPATH}"; sleep 2 fuser -kMm -KILL "${FSXPATH}"; sleep 2 # Unmount FSx For Lustre filesystem if ! umount -c "${FSXPATH}"; then echo "Error unmounting '$FSXPATH'. Processes accessing it:" >&2 lsof "${FSXPATH}" echo "Retrying..." continue fi # Start a graceful shutdown of the host shutdown now done