Erstellen Sie Alarme, um eine EC2-Instance anzuhalten, zu beenden, neu zu starten oder wiederherzustellen - Amazon CloudWatch

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.

Erstellen Sie Alarme, um eine EC2-Instance anzuhalten, zu beenden, neu zu starten oder wiederherzustellen

Mithilfe der Amazon-CloudWatch-Alarmaktionen können Sie Alarme erstellen, mit denen Ihre EC2-Instances automatisch angehalten, beendet, neu gestartet oder wiederhergestellt werden. Sie können die Aktionen zum Anhalten oder Beenden nutzen, um Geld zu sparen, wenn eine Instance über einen längeren Zeitraum nicht ausgeführt werden muss. Sie können die Aktionen zum Neustarten oder Wiederherstellen verwenden, um diese Instances automatisch neu zu starten oder um sie – für den Fall, dass eine Systembeeinträchtigung eintritt – auf einer neuen Hardware wiederherzustellen.

Es gibt eine Reihe von Szenarien, bei denen Sie Ihre Instance möglicherweise automatisch anhalten oder beenden möchten. Beispielsweise verwenden Sie Instances für die Batchverarbeitung von Gehaltsabrechnungen oder wissenschaftliche Datenverarbeitungsaufgaben, die für einen bestimmten Zeitraum ausgeführt werden und ihre Arbeit anschließend abschließen. Anstatt diese Instances im Leerlauf beizubehalten (und damit Kosten anfallen zu lassen), können Sie sie auch anhalten oder beenden und so Geld sparen. Der Hauptunterschied zwischen der Verwendung einer Alarmaktion zum Anhalten und einer Alarmaktion zum Beenden besteht darin, dass Sie eine angehaltene Instance problemlos wieder neu starten können, wenn sie später wieder ausgeführt werden soll. Sie können auch die gleiche Instance-ID und das gleiche Stamm-Volume beibehalten. Eine beendete Instance können Sie dagegen nicht neu starten. Stattdessen müssen Sie eine neue Instance starten.

Sie können die Aktionen zum Anhalten, Beenden oder Neustarten jedem Alarm hinzufügen, der auf einer Amazon EC2-Metrik pro Instance festgelegt ist, dazu zählen auch von Amazon CloudWatch (im AWS/EC2-Namespace) bereitgestellte Metriken zur grundlegenden und detaillierten Überwachung sowie alle benutzerspezifischen Metriken, die die „InstanceId=”-Dimension umfassen, solange der InstanceId-Wert auf eine gültige laufende Amazon-EC2-Instance verweist. Sie können die Wiederherstellungsaktion auch zu Alarmen hinzufügen, die für jede Amazon EC2-Metrik pro Instance festgelegt sind, mit Ausnahme von StatusCheckFailed_Instance.

Zum Einrichten eines CloudWatch-Alarms, der Instances neu starten, anhalten oder beenden kann, müssen Sie eine serviceverknüpfte IAM-Rolle verwenden, AWSServiceRoleForCloudWatchEvents. Die IAM-Rolle AWSServiceRoleForCloudWatchEvents ermöglicht AWS, Alarmaktionen durchzuführen.

Verwenden Sie zum Erstellen einer serviceverknüpften Rolle für CloudWatch Events den folgenden Befehl:

aws iam create-service-linked-role --aws-service-name events.amazonaws.com
Konsolenunterstützung

Sie können über die CloudWatch-Konsole oder die Amazon-EC2-Konsole Alarme erstellen. Für die Vorgehensweisen in dieser Dokumentation wird die CloudWatch-Konsole verwendet. Weitere Informationen zu Prozeduren, die die Amazon-EC2-Konsole verwenden, finden Sie unter Erstellen von Alarmen, mit denen eine Instance angehalten, beendet, neu gestartet oder wiederhergestellt wird in Amazon-EC2-Benutzerhandbuch für Linux-Instances.

Berechtigungen

Wenn Sie ein AWS Identity and Access Management (IAM)-Konto verwenden, um einen Alarm zu erstellen oder zu ändern, der EC2-Aktionen oder Systems Manager OpsItem-Aktionen ausführt, müssen Sie über die iam:CreateServiceLinkedRole-Berechtigung verfügen.

Hinzufügen von Aktionen für das Anhalten zu Amazon CloudWatch-Alarmen

Sie können einen Alarm erstellen, mit dem eine Amazon EC2- Instance angehalten wird, sobald ein bestimmter Schwellenwert erreicht wird. Es kann beispielsweise sein, dass Sie Entwicklungs- oder Test-Instances ausführen und gelegentlich vergessen, diese herunterzufahren. Sie können einen Alarm einrichten, der ausgelöst wird, wenn die durchschnittliche prozentuale CPU-Auslastung 24 Stunden lang unter 10 Prozent fällt. Dies signalisiert, dass sich die Instance im Leerlauf befindet und nicht mehr verwendet wird. Sie können den Schwellenwert, die Dauer und den Zeitraum an Ihre Anforderungen anpassen. Außerdem haben Sie die Möglichkeit, eine SNS-Benachrichtigung hinzuzufügen, damit Sie eine E-Mail erhalten,sobald der Alarm ausgelöst wird.

Amazon-EC2-Instances, die ein Volume von Amazon Elastic Block Store als Root-Gerät verwenden, können angehalten oder beendet werden. Instances, die den Instance-Speicher als Root-Gerät verwenden, können dagegen nur beendet werden.

So erstellen Sie einen Alarm, um eine im Leerlauf befindliche Instance mithilfe der Amazon-CloudWatch-Konsole zu stoppen
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Alarms (Alarme) und All alarms (Alle Alarme) aus.

  3. Wählen Sie Create alarm (Alarm erstellen) aus.

  4. Wählen Sie Select Metric (Metrik auswählen) aus.

  5. Wählen Sie für AWS-Namespaces die Option EC2 aus.

  6. Gehen Sie wie folgt vor:

    1. Wählen Sie Per-Instance Metrics (Metriken pro Instance) aus.

    2. Wählen Sie das Kontrollkästchen in der Zeile mit der richtigen Instance und der Metrik CPUUtilization aus.

    3. Wählen Sie Graphed metrics (Grafisch dargestellte Metrik) aus.

    4. Wählen Sie im Bereich Statistik die Option Average aus.

    5. Wählen Sie einen Zeitraum (z. B. 1 Hour).

    6. Wählen Sie Select metric (Metrik auswählen) aus.

  7. Führen Sie für den Schritt Define Alarm Folgendes aus:

    1. Wählen Sie unter Conditions (Bedingungen) die Option Static (Statisch) aus.

    2. Wählen Sie unter Whenever CPUUtilization is (Wenn CPUUtilization ist) die Option Lower (Kleiner) aus.

    3. Geben Sie für than (als) 10 ein.

    4. Wählen Sie Next (Weiter).

    5. Wählen Sie unter Notification für Send notification to ein vorhandenes SNS-Thema aus oder erstellen Sie ein neues.

      Um ein neues SNS-Thema zu erstellen, wählen Sie New list aus. Geben Sie unter Send a notification to (Benachrichtigung senden an) einen Namen für das SNS-Thema ein (z. B. EC2-Instance beenden). Geben Sie für Email list (E-Mail-Liste) eine durch Kommata getrennte Liste der E-Mail-Adressen ein, die benachrichtigt werden sollen, wenn der Alarm in den Status ALARM versetzt wird. Jeder E-Mail-Adresse wird ein Bestätigungs-E-Mail für das Abonnement eines Themas gesendet. Sie müssen das Abonnement bestätigen, bevor Benachrichtigungen an eine E-Mail-Adresse gesendet werden können.

    6. Wählen Sie Add EC2 Action (EC2-Aktion hinzufügen) aus.

    7. Wählen Sie für Alarmstatusauslöser die Option Im Alarm aus. Wählen Sie für Folgende Aktion ausführen die Option Diese Instance stoppen aus.

    8. Wählen Sie Next (Weiter).

    9. Geben Sie einen Namen und eine Beschreibung für den Alarm ein. Der Name darf nur ASCII-Zeichen enthalten. Wählen Sie anschließend Next (Weiter).

    10. Bestätigen Sie unter Preview and create (Vorschau und erstellen), dass die Informationen und Bedingungen den Anforderungen entsprechen, und wählen Sie dann Create alarm (Alarm erstellen).

Hinzufügen von Aktionen zum Beenden zu Amazon CloudWatch-Alarmen

Sie können einen Alarm erstellen, mit dem eine EC2 Instance automatisch beendet wird, sobald ein bestimmter Schwellenwert erreicht wird (solange für die Instance kein Beendigungsschutz aktiviert ist). Möglicherweise möchten Sie z. B. eine Instance beenden, sobald sie ihre Arbeit abgeschlossen hat, und Sie benötigen die Instance nicht erneut. Wenn Sie die Instance unter Umständen später noch einmal verwenden möchten, sollten Sie die Instance nur anhalten, anstatt sie zu beenden. Weitere Informationen zur Aktivierung und Deaktivierung des Beendigungsschutzes für eine Instance finden Sie unter Aktivieren des Beendigungsschutzes für eine Instance im Amazon-EC2-Benutzerhandbuch für Linux-Instances.

So erstellen Sie einen Alarm, um eine im Leerlauf befindliche Instance mithilfe der Amazon-CloudWatch-Konsole zu beenden
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Alarms und Alarm erstellen aus.

  3. Führen Sie für den Schritt Select Metric (Metrik auswählen) Folgendes aus:

    1. Wählen Sie unter EC2 Metrics die Option Per-Instance Metrics aus.

    2. Wählen Sie die Zeile mit der Instance und der Metrik CPUUtilization aus.

    3. Wählen Sie im Bereich Statistik die Option Average aus.

    4. Wählen Sie einen Zeitraum (z. B. 1 Hour).

    5. Wählen Sie Next (Weiter).

  4. Führen Sie für den Schritt Define Alarm Folgendes aus:

    1. Geben Sie unter Alarm Threshold einen eindeutigen Namen für den Alarm (z. B. EC2-Instance beenden) und eine Beschreibung des Alarms ein (z. B. EC2-Instance beenden, sobald die CPU zu lange im Leerlauf ist). Alarmnamen dürfen nur ASCII-Zeichen enthalten.

    2. Wählen Sie unter Whenever (Wenn) für is (ist) die Option < und geben Sie 10 ein. Geben Sie für für 24 aufeinanderfolgende Zeiträume ein.

      Eine grafische Darstellung dieses Schwellenwerts ist unter Alarm Preview zu finden.

    3. Wählen Sie unter Notification für Send notification to ein vorhandenes SNS-Thema aus oder erstellen Sie ein neues.

      Um ein neues SNS-Thema zu erstellen, wählen Sie New list aus. Geben Sie unter Send a notification to (Benachrichtigung senden an) einen Namen für das SNS-Thema ein (z. B. EC2-Instance beenden). Geben Sie für Email list (E-Mail-Liste) eine durch Kommata getrennte Liste der E-Mail-Adressen ein, die benachrichtigt werden sollen, wenn der Alarm in den Status ALARM versetzt wird. Jeder E-Mail-Adresse wird ein Bestätigungs-E-Mail für das Abonnement eines Themas gesendet. Sie müssen das Abonnement bestätigen, bevor Benachrichtigungen an eine E-Mail-Adresse gesendet werden können.

    4. Wählen Sie EC2 Action aus.

    5. Wählen Sie für Whenever this alarm die Option State is ALARM aus. Wählen Sie für Take this action die Option Terminate this instance aus.

    6. Wählen Sie Create Alarm (Alarm erstellen) aus.

Hinzufügen von Aktionen zum Neustarten zu Amazon CloudWatch-Alarmen

Sie können einen Amazon CloudWatch-Alarm erstellen, mit dem eine Amazon EC2-Instance überwacht und die Instance automatisch neu gestartet wird. Die Alarmaktion zum Neustarten wird für Instance-Zustandsprüfungsfehler empfohlen (im Gegensatz zur Alarmaktion zum Wiederherstellen, die sich für System-Zustandsprüfungsfehler eignet). Ein Neustart einer Instance entspricht einem Neustart des Betriebssystems. In den meisten Fällen dauert es nur wenige Minuten, um die Instance neu zu starten. Wenn Sie eine Instance neu starten, verbleibt sie auf demselben physischen Host, sodass die Instance ihren öffentlichen DNS- Namen, ihre private IP-Adresse sowie alle Daten auf ihren Instance-Speicher-Volumes behält.

Im Gegensatz zum Anhalten oder Neustarten der Instance beginnt mit dem erneuten Hochfahren einer Instance nicht eine neue Instance-Abrechnungsstunde. Weitere Informationen zum Neustarten einer Instance finden Sie unter Instance erneut starten im Amazon-EC2-Benutzerhandbuch für Linux-Instances.

Wichtig

Um eine Racebedingung zwischen der Neustart- und der Wiederherstellungsaktion zu vermeiden, sollten Sie für den Neustartalarm und den Wiederherstellungsalarm nicht den gleichen Auswertungszeitraum festlegen. Wir empfehlen, dass Sie Neustartalarme zu drei Auswertungszeiträumen von jeweils einer Minute festlegen.

So erstellen Sie einen Alarm, um eine Instance mithilfe der Amazon-CloudWatch-Konsole erneut zu starten
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Alarms und Alarm erstellen aus.

  3. Führen Sie für den Schritt Select Metric (Metrik auswählen) Folgendes aus:

    1. Wählen Sie unter EC2 Metrics die Option Per-Instance Metrics aus.

    2. Wählen Sie die Zeile mit der Instance und der Metrik StatusCheckFailed_Instance aus.

    3. Wählen Sie für Statistik die Option Minimum aus.

    4. Wählen Sie einen Zeitraum (z. B. 1 Minute) aus und klicken Sie auf Next (Weiter).

  4. Führen Sie für den Schritt Define Alarm Folgendes aus:

    1. Geben Sie unter Alarm Threshold einen eindeutigen Namen für den Alarm (z. B. EC2-Instance neu starten) und eine Beschreibung des Alarms ein (z. B. EC2-Instance neu starten, sobald die Zustandsprüfung fehlschlägt). Alarmnamen dürfen nur ASCII-Zeichen enthalten.

    2. Wählen Sie unter Whenever (Jederzeit) für ist > und geben Sie 0 ein. Geben Sie für für 3 aufeinanderfolgende Zeiträume ein.

      Eine grafische Darstellung dieses Schwellenwerts ist unter Alarm Preview zu finden.

    3. Wählen Sie unter Notification für Send notification to ein vorhandenes SNS-Thema aus oder erstellen Sie ein neues.

      Um ein neues SNS-Thema zu erstellen, wählen Sie New list aus. Geben Sie unter Send a notification to (Benachrichtigung senden an) einen Namen für das SNS-Thema ein (z. B. EC2-Instance neu starten). Geben Sie für Email list (E-Mail-Liste) eine durch Kommata getrennte Liste der E-Mail-Adressen ein, die benachrichtigt werden sollen, wenn der Alarm in den Status ALARM versetzt wird. Jeder E-Mail-Adresse wird ein Bestätigungs-E-Mail für das Abonnement eines Themas gesendet. Sie müssen das Abonnement bestätigen, bevor Benachrichtigungen an eine E-Mail-Adresse gesendet werden können.

    4. Wählen Sie EC2 Action aus.

    5. Wählen Sie für Whenever this alarm die Option State is ALARM aus. Wählen Sie für Take this action die Option Reboot this instance aus.

    6. Wählen Sie Create Alarm (Alarm erstellen) aus.

Hinzufügen von Aktionen zum Wiederherstellen zu Amazon CloudWatch-Alarmen

Sie können einen Amazon-CloudWatch-Alarm erstellen, der eine Amazon-EC2-Instance überwacht und die Instance automatisch wiederherstellt, wenn diese aufgrund eines Hardware-Ausfalls oder eines Problems, das eine Beteiligung von AWS für eine Reparatur erforderlich macht, beeinträchtigt wird. Beendete Instances können nicht wiederhergestellt werden. Eine wiederhergestellte Instance ist mit der ursprünglichen Instance identisch. Dies schließt auch die Instance-ID, private IP-Adressen, Elastic IP-Adressen und alle Instance-Metadaten mit ein.

Wird der Alarm StatusCheckFailed_System ausgelöst und die Aktion zum Wiederherstellen initiiert, werden Sie über das Amazon-SNS-Thema, das Sie bei der Erstellung des Alarms gewählt haben und das mit der Aktion zum Wiederherstellen verknüpft ist, darüber benachrichtigt. Während der Instance-Wiederherstellung wird die Instance bei einem Instance-Neustart migriert und alle im Speicher befindlichen Daten gehen verloren. Wenn der Vorgang abgeschlossen ist, wird die Information in dem SNS-Thema, das Sie für den Alarm konfiguriert haben, veröffentlicht. Alle Personen, die das SNS-Thema abonniert haben, erhalten eine Benachrichtigung per E-Mail, in der auch der Status des Wiederherstellungsversuchs und weitere Anweisungen enthalten sind. Sie werden bemerken, dass auf der wiederhergestellten Instance ein Instance-Neustart durchgeführt wird.

Die Aktion zum Wiederherstellen kann nur mit StatusCheckFailed_System verwendet werden, nicht mit StatusCheckFailed_Instance.

Beispiele für Probleme, die dazu führen, dass Systemstatusprüfungen fehlschlagen, sind:

  • Verlust der Netzwerkverbindung

  • Systemstromausfall

  • Softwareprobleme auf dem physischen Host

  • Hardwareprobleme auf dem physischen Host, die die Erreichbarkeit des Netzwerks beeinträchtigen

Die Wiederherstellungsaktion wird nur auf einigen Instances unterstützt. Weitere Informationen zu unterstützten Instance-Typen und anderen Anforderungen finden Sie unter Ihre Instance wiederherstellen und Anforderungen.

Wichtig

Um eine Racebedingung zwischen der Neustart- und der Wiederherstellungsaktion zu vermeiden, sollten Sie für den Neustartalarm und den Wiederherstellungsalarm nicht den gleichen Auswertungszeitraum festlegen. Wir empfehlen, dass Sie Wiederherstellungsalarme zu zwei Auswertungszeiträumen von jeweils einer Minute und Neustartalarme zu drei Auswertungszeiträumen von jeweils einer Minute festlegen.

So erstellen Sie einen Alarm, um eine Instance mithilfe der Amazon-CloudWatch-Konsole wiederherzustellen
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Alarms und Alarm erstellen aus.

  3. Führen Sie für den Schritt Select Metric (Metrik auswählen) Folgendes aus:

    1. Wählen Sie unter EC2 Metrics die Option Per-Instance Metrics aus.

    2. Wählen Sie die Zeile mit der Instance und der Metrik StatusCheckFailed_System aus.

    3. Wählen Sie für Statistik die Option Minimum aus.

    4. Wählen Sie einen Zeitraum (z. B. 1 Minute).

      Wichtig

      Um eine Racebedingung zwischen der Neustart- und der Wiederherstellungsaktion zu vermeiden, sollten Sie für den Neustartalarm und den Wiederherstellungsalarm nicht den gleichen Auswertungszeitraum festlegen. Wir empfehlen, dass Sie Wiederherstellungsalarme zu zwei Auswertungszeiträumen von jeweils einer Minute festlegen.

    5. Wählen Sie Next (Weiter).

  4. Führen Sie für den Schritt Define Alarm Folgendes aus:

    1. Geben Sie unter Alarm Threshold einen eindeutigen Namen für den Alarm (z. B. EC2-Instance wiederherstellen) und eine Beschreibung des Alarms ein (z. B. EC2-Instance wiederherstellen, sobald die Zustandsprüfung fehlschlägt). Alarmnamen dürfen nur ASCII-Zeichen enthalten.

    2. Wählen Sie unter Whenever (Jederzeit) für ist > und geben Sie 0 ein. Geben Sie für für 2 aufeinanderfolgende Zeiträume ein.

    3. Wählen Sie unter Notification für Send notification to ein vorhandenes SNS-Thema aus oder erstellen Sie ein neues.

      Um ein neues SNS-Thema zu erstellen, wählen Sie New list aus. Geben Sie unter Send a notification to (Benachrichtigung senden an) einen Namen für das SNS-Thema ein (z. B. EC2-Instance wiederherstellen). Geben Sie für Email list (E-Mail-Liste) eine durch Kommata getrennte Liste der E-Mail-Adressen ein, die benachrichtigt werden sollen, wenn der Alarm in den Status ALARM versetzt wird. Jeder E-Mail-Adresse wird ein Bestätigungs-E-Mail für das Abonnement eines Themas gesendet. Sie müssen das Abonnement bestätigen, bevor Benachrichtigungen an eine E-Mail-Adresse gesendet werden können.

    4. Wählen Sie EC2 Action aus.

    5. Wählen Sie für Whenever this alarm die Option State is ALARM aus. Wählen Sie für Take this action die Option Recover this instance aus.

    6. Wählen Sie Create Alarm (Alarm erstellen) aus.

Verlauf ausgelöster Alarme und Aktionen ansehen

Sie können den Alarm- und Aktionsverlauf in der Amazon CloudWatch-Konsole einsehen. Amazon CloudWatch speichert den Alarm- und Aktionsverlauf der letzten zwei Wochen.

So zeigen Sie den Verlauf ausgelöster Alarme und Aktionen an
  1. Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie im Navigationsbereich Alarms (Alarme) und wählen Sie einen Alarm aus.

  3. Wählen Sie die Registerkarte Details aus, um neben den Zeit- und Metrikwerten den neuesten Statusübergang anzuzeigen.

  4. Wählen Sie die Registerkarte History (Verlauf) aus, um die neuesten Verlaufseinträge anzuzeigen.