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 von CloudWatch Amazon-Alarmaktionen können Sie Alarme erstellen, die Ihre EC2-Instances automatisch stoppen, beenden, neu starten oder wiederherstellen. 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 Stoppen, Beenden oder Neustarten zu jedem Alarm hinzufügen, der für eine Amazon EC2-Metrik pro Instance festgelegt ist, einschließlich grundlegender und detaillierter Überwachungsmetriken, die von Amazon CloudWatch (im AWS/EC2-Namespace) bereitgestellt werden, zusätzlich zu allen benutzerdefinierten Metriken, die die Dimension "InstanceId=“ enthalten, sofern sich der InstanceId Wert auf eine gültige laufende Amazon EC2 EC2-Instance bezieht. 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.

Wichtig

Für Amazon EC2-Metriken konfigurierte Alarme können vorübergehend den Status INSUFFICIENT_DATA annehmen, wenn Metrikdatenpunkte fehlen. Dies ist selten, kann aber passieren, wenn die Metrikberichterstattung unterbrochen wird, selbst wenn die Amazon EC2 EC2-Instance fehlerfrei ist. Für Alarme auf Amazon EC2-Metriken, die so konfiguriert sind, dass sie Stopp-, Beenden-, Neustart- oder Wiederherstellungsaktionen ausführen, empfehlen wir, diese Alarme so zu konfigurierenmissing, dass fehlende Daten behandelt werden und dass diese Alarme nur ausgelöst werden, wenn sie sich im ALARM-Status befinden.

Weitere Informationen darüber, wie Sie so konfigurieren können CloudWatch , dass auf fehlende Metriken reagiert wird, für die Alarme aktiviert sind, finden Sie unterKonfiguration, wie Alarme fehlende Daten behandeln CloudWatch .

Um eine CloudWatch Alarmaktion einzurichten, mit der eine Instance neu gestartet, gestoppt oder beendet werden kann, müssen Sie eine dienstbezogene IAM-Rolle verwenden. AWSServiceRoleForCloudWatchEvents Die AWSServiceRoleForCloudWatchEvents IAM-Rolle ermöglicht es AWS , Alarmaktionen in Ihrem Namen durchzuführen.

Verwenden Sie den folgenden Befehl, um die serviceverknüpfte Rolle für CloudWatch Ereignisse zu erstellen:

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

Sie können Alarme mit der CloudWatch Konsole oder der Amazon EC2 EC2-Konsole erstellen. Die Verfahren in dieser Dokumentation verwenden die CloudWatch Konsole. Verfahren, die die Amazon EC2 EC2-Konsole verwenden, finden Sie unter Create Alarms That Stop, Terminate, Reboot or Recover an Instance im Amazon EC2 EC2-Benutzerhandbuch.

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 Manager-Aktionen ausführt, benötigen Sie die iam:CreateServiceLinkedRole entsprechende Genehmigung.

Hinzufügen von Stoppaktionen zu CloudWatch Amazon-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.

Um mithilfe der CloudWatch Amazon-Konsole einen Alarm zum Stoppen einer Instance im Leerlauf zu erstellen
  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 die Registerkarte Graphed metrics (Grafisch dargestellte Metriken) 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 Weiter aus.

    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 Weiter aus.

    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 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).

Abbruchaktionen zu CloudWatch Amazon-Alarmen hinzufügen

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. Informationen zum Aktivieren und Deaktivieren des Kündigungsschutzes für eine Instance finden Sie unter Enabling Termination Protection for an Instance im Amazon EC2 EC2-Benutzerhandbuch.

Um einen Alarm zu erstellen, um eine Instance im Leerlauf mithilfe der CloudWatch Amazon-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 Weiter aus.

  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 Alarm erstellen aus.

Neustartaktionen zu CloudWatch Amazon-Alarmen hinzufügen

Sie können einen CloudWatch Amazon-Alarm erstellen, der eine Amazon EC2-Instance überwacht und die Instance automatisch neu startet. 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 Reboot Your Instance im Amazon EC2 EC2-Benutzerhandbuch.

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.

Um einen Alarm für den Neustart einer Instance mithilfe der CloudWatch Amazon-Konsole zu erstellen
  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 Instanz 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).

    5. Wählen Sie Weiter aus.

  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 Alarm erstellen aus.

Wiederherstellungsaktionen zu CloudWatch Amazon-Alarmen hinzufügen

Sie können einen CloudWatch Amazon-Alarm erstellen, der eine Amazon EC2-Instance überwacht und die Instance automatisch wiederherstellt, wenn sie aufgrund eines zugrunde liegenden Hardwarefehlers oder eines Problems, das eine Reparatur erfordert AWS , 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.

Um einen Alarm zur Wiederherstellung einer Instance mithilfe der CloudWatch Amazon-Konsole zu erstellen
  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 Instanz 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 Weiter aus.

  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 Alarm erstellen aus.

Verlauf ausgelöster Alarme und Aktionen ansehen

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

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.