Alarme erstellen, um eine EC2 Instanz zu stoppen, 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.

Alarme erstellen, um eine EC2 Instanz zu stoppen, 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 EC2 Amazon-Instance-Metrik festgelegt ist, einschließlich grundlegender und detaillierter Überwachungsmetriken, die von Amazon bereitgestellt werden CloudWatch (im EC2 NamespaceAWS/), zusätzlich zu allen benutzerdefinierten Metriken, die die Dimension "InstanceId=“ enthalten, sofern sich der InstanceId Wert auf eine gültige laufende EC2 Amazon-Instance bezieht. Sie können die Wiederherstellungsaktion auch zu Alarmen hinzufügen, die für jede EC2 Amazon-Instanz-Metrik festgelegt ist, mit Ausnahme StatusCheckFailed_Instance von.

Wichtig

Für EC2 Amazon-Metriken konfigurierte Alarme können vorübergehend den DATA Status INSUFFICIENT _ annehmen, wenn Metrikdatenpunkte fehlen. Dies ist selten, kann aber passieren, wenn die Metrikberichterstattung unterbrochen wird, selbst wenn die EC2 Amazon-Instance fehlerfrei ist. Für Alarme auf EC2 Amazon-Metriken, die so konfiguriert sind, dass sie Aktionen zum Stoppen, Beenden, Neustarten oder Wiederherstellen ausführen, empfehlen wir, diese Alarme so zu konfigurierenmissing, dass fehlende Daten als solche 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 Messwerte reagiert wird, für die Alarme aktiviert wurden, finden Sie unterKonfiguration, wie CloudWatch Alarme fehlende Daten behandeln.

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 dienstbezogene 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 EC2 Amazon-Konsole erstellen. Die Verfahren in dieser Dokumentation verwenden die CloudWatch Konsole. Verfahren, die die EC2 Amazon-Konsole verwenden, finden Sie unter Create Alarms That That Stop, Terminate, Reboot or Recover an Instance im EC2Amazon-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, der eine EC2 Amazon-Instance stoppt, wenn ein bestimmter Schwellenwert erreicht wurde. Es kann beispielsweise sein, dass Sie Entwicklungs- oder Test-Instances ausführen und gelegentlich vergessen, diese herunterzufahren. Sie können einen Alarm erstellen, der ausgelöst wird, wenn der durchschnittliche CPU Nutzungsgrad 24 Stunden lang unter 10 Prozent lag. Dies signalisiert, dass die Maschine inaktiv ist und nicht mehr verwendet wird. Sie können den Schwellenwert, die Dauer und den Zeitraum an Ihre Bedürfnisse anpassen und außerdem eine SNS Benachrichtigung hinzufügen, sodass Sie eine E-Mail erhalten, wenn der Alarm ausgelöst wird.

EC2Amazon-Instances, die ein Amazon Elastic Block Store-Volume als Root-Gerät verwenden, können gestoppt oder beendet werden, wohingegen Instances, die den Instance-Speicher als Root-Gerät verwenden, nur beendet werden können.

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. Für AWS Namespaces wählen Sie. EC2

  6. Gehen Sie wie folgt vor:

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

    2. Aktivieren Sie das Kontrollkästchen in der Zeile mit der richtigen Instanz und der Metrik. CPUUtilization

    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 Wann immer CPUUtilization ist die Option Niedriger aus.

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

    4. Wählen Sie Weiter aus.

    5. Wählen Sie unter Benachrichtigung für Benachrichtigung senden an ein vorhandenes SNS Thema aus, oder erstellen Sie ein neues.

      Um ein SNS Thema zu erstellen, wählen Sie Neue Liste aus. Geben Sie unter Benachrichtigung senden an einen Namen für das SNS Thema ein (z. B. Stop_ EC2 _Instance). 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 „Aktion hinzufügen EC2“.

    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, der eine EC2 Instance automatisch beendet, wenn ein bestimmter Schwellenwert erreicht wurde (sofern der Kündigungsschutz für die Instance nicht 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 EC2Amazon-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 EC2Metriken die Option Metriken pro Instanz aus.

    2. Wählen Sie die Zeile mit der Instance und der CPUUtilizationMetrik 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 Alarmschwellenwert einen eindeutigen Namen für den Alarm (z. B. EC2 Instanz beenden) und eine Beschreibung des Alarms (z. B. EC2 Instanz beenden, wenn sie zu lange inaktiv CPU ist) ein. 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 Benachrichtigung für Benachrichtigung senden an ein vorhandenes SNS Thema aus, oder erstellen Sie ein neues.

      Um ein SNS Thema zu erstellen, wählen Sie Neue Liste aus. Geben Sie unter Benachrichtigung senden an einen Namen für das SNS Thema ein (z. B. Terminate_ EC2 _Instance). 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 Aktion aus. EC2

    5. Wählen Sie für Wann immer dieser Alarm ist die Option Status ist ausALARM. 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 EC2 Amazon-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 Ihre Instance ihren öffentlichen DNS Namen, ihre private IP-Adresse und 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 EC2Amazon-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 EC2Metriken die Option Metriken pro Instanz 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 Alarmschwellenwert einen eindeutigen Namen für den Alarm (z. B. EC2 Instanz neu starten) und eine Beschreibung des Alarms (z. B. EC2 Instanz neu starten, wenn Integritätsprüfungen fehlschlagen) ein. 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 Benachrichtigung für Benachrichtigung senden an ein vorhandenes SNS Thema aus, oder erstellen Sie ein neues.

      Um ein SNS Thema zu erstellen, wählen Sie Neue Liste aus. Geben Sie unter Benachrichtigung senden an einen Namen für das SNS Thema ein (z. B. Reboot_ EC2 _Instance). 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 Aktion aus. EC2

    5. Wählen Sie für Wann immer dieser Alarm ist die Option Status ist ausALARM. 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 EC2 Amazon-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.

Wenn der StatusCheckFailed_System Alarm ausgelöst und die Wiederherstellungsaktion eingeleitet wird, werden Sie von dem SNS Amazon-Thema benachrichtigt, das Sie bei der Erstellung des Alarms und der zugehörigen Wiederherstellungsaktion ausgewählt haben. 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, werden Informationen zu dem SNS Thema veröffentlicht, das Sie für den Alarm konfiguriert haben. Jeder, der dieses SNS Thema abonniert hat, erhält eine E-Mail-Benachrichtigung mit dem Status des Wiederherstellungsversuchs und weiteren Anweisungen. 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 (Alarme) und All alarms (Alle Alarme) aus.

  3. Wählen Sie Alarm erstellen aus.

  4. Wählen Sie Select Metric und gehen Sie dann wie folgt vor:

    1. Wählen Sie EC2Metriken, Metriken pro Instanz aus.

    2. Wählen Sie die Zeile mit der Instanz und der Metrik StatusCheckFailed_System aus und wählen Sie dann Metrik auswählen 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. Gehen Sie unter Bedingungen wie folgt vor:

    1. Wählen Sie unter Schwellenwerttyp die Option Statisch aus.

    2. Wählen Sie unter Wann immer die Option Größer aus und geben Sie 0 für als... ein .

    3. Wählen Sie Zusätzliche Konfiguration und geben Sie dann für Datenpunkte, an denen ein Alarm ausgelöst werden soll, 2 von 2 an.

  6. Wählen Sie Weiter aus.

  7. Gehen Sie unter Benachrichtigung wie folgt vor:

    1. Wählen Sie für Alarmstatusauslöser die Option Im Alarm aus.

    2. Wählen Sie unter Benachrichtigung zum folgenden SNS Thema senden ein vorhandenes SNS Thema aus, oder erstellen Sie ein neues.

    3. Wählen Sie „EC2Aktion hinzufügen“.

    4. Wählen Sie für Alarmstatusauslöser die Option Im Alarm aus.

    5. Wählen Sie für Die folgende Aktion ausführen die Option Diese Instanz wiederherstellen aus.

    6. Wählen Sie Weiter aus.

  8. Geben Sie unter Alarmname einen eindeutigen Namen für den Alarm (z. B.Recover EC2 instance) und eine Beschreibung des Alarms (z. B.Recover EC2 instance when health checks fail) ein. Alarmnamen dürfen nur ASCII Zeichen enthalten.

  9. Wählen Sie Weiter aus.

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