Tutorial: CPU Stress auf einer Instanz ausführen mit AWS FIS - AWS Fehlerinjektionsservice

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.

Tutorial: CPU Stress auf einer Instanz ausführen mit AWS FIS

Sie können Folgendes verwenden … AWS Fehlerinjektionsdienst (AWS FIS), um zu testen, wie Ihre Anwendungen mit CPU Stress umgehen. Verwenden Sie dieses Tutorial, um eine Experimentvorlage zu erstellen, die Folgendes verwendet AWS FISum ein vorkonfiguriertes SSM Dokument auszuführen, das eine Instanz CPU stress. Das Tutorial verwendet eine Stopp-Bedingung, um das Experiment abzubrechen, wenn die CPU Auslastung der Instanz einen konfigurierten Schwellenwert überschreitet.

Weitere Informationen finden Sie unter Vorkonfigurierte Dokumente AWS FIS SSM.

Voraussetzungen

Bevor Sie verwenden können AWS FISUm CPU Stress zu bewältigen, müssen Sie die folgenden Voraussetzungen erfüllen.

Erstellen Sie eine IAM-Rolle

Erstellen Sie eine Rolle und fügen Sie eine Richtlinie hinzu, die Folgendes ermöglicht AWS FISum die aws:ssm:send-command Aktion in Ihrem Namen zu nutzen. Weitere Informationen finden Sie unter IAM-Rollen für AWS FIS-Experimente.

Überprüfen Sie den Zugriff auf AWS FIS

Stellen Sie sicher, dass Sie Zugriff auf haben AWS FIS. Weitere Informationen finden Sie unter AWS FISBeispiele für politische Maßnahmen.

Bereiten Sie eine EC2 Testinstanz vor
  • Starten Sie eine EC2 Instance mit Amazon Linux 2 oder Ubuntu, wie in den vorkonfigurierten SSM Dokumenten gefordert.

  • Die Instance muss von SSM verwaltet werden. Um zu überprüfen, ob die Instanz von verwaltet wirdSSM, öffnen Sie die Fleet Manager-Konsole. Wenn die Instance nicht von verwaltet wirdSSM, stellen Sie sicher, dass der SSM Agent installiert ist und dass der Instance eine IAM Rolle mit der mazonSSMManaged InstanceCore A-Richtlinie zugewiesen ist. Um den installierten SSM Agenten zu überprüfen, stellen Sie eine Verbindung zu Ihrer Instance her und führen Sie den folgenden Befehl aus.

    Amazon Linux 2

    yum info amazon-ssm-agent

    Ubuntu 

    apt list amazon-ssm-agent
  • Aktivieren Sie die detaillierte Überwachung für die Instance. Dadurch werden Daten in Zeitabständen von 1 Minute gegen Aufpreis bereitgestellt. Wählen Sie die Instanz aus und klicken Sie auf Aktionen, Überwachung und Fehlerbehebung, Detaillierte Überwachung verwalten.

Schritt 1: Erstellen Sie einen CloudWatch Alarm für eine Stopp-Bedingung

Konfigurieren Sie einen CloudWatch Alarm, sodass Sie das Experiment beenden können, wenn die CPU Auslastung den von Ihnen angegebenen Schwellenwert überschreitet. Das folgende Verfahren legt den Schwellenwert für die Zielinstanz auf eine CPU Auslastung von 50% fest. Weitere Informationen finden Sie unter Bedingungen beenden.

Um einen Alarm zu erstellen, der anzeigt, wenn die CPU Auslastung einen Schwellenwert überschreitet
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Ziel-Instance aus und wählen Sie Aktionen, Überwachung und Fehlerbehebung, CloudWatchAlarme verwalten aus.

  4. Verwenden Sie für die Alarmbenachrichtigung den Schalter, um SNS Amazon-Benachrichtigungen zu deaktivieren.

  5. Verwenden Sie für Alarmschwellenwerte die folgenden Einstellungen:

    • Gruppieren Sie die Stichproben nach: Maximum

    • Art der zu beprobenden Daten: CPUNutzung

    • Prozent: 50

    • Zeitraum: 1 Minute

  6. Wenn Sie mit der Konfiguration des Alarms fertig sind, wählen Sie Erstellen.

Schritt 2: Erstellen Sie eine Experimentvorlage

Erstellen Sie die Experimentvorlage mit AWS FISKonsole. In der Vorlage geben Sie die folgende auszuführende Aktion an: AWSFISaws:ssm:send-command/ -Run- -Stress. CPU

Um eine Experimentvorlage zu erstellen
  1. Öffnen Sie AWS FISKonsole bei https://console.aws.amazon.com/fis/.

  2. Wählen Sie im Navigationsbereich Experimentvorlagen aus.

  3. Wählen Sie Experimentvorlage erstellen aus.

  4. Geben Sie unter Beschreibung und Name eine Beschreibung und einen Namen für die Vorlage ein.

  5. Nehmen Sie bei Aktionen die folgenden Einstellungen vor:

    1. Wählen Sie Aktion hinzufügen aus.

    2. Geben Sie einen Namen für die Aktion ein. Geben Sie z. B. ei runCpuStress.

    3. Wählen Sie als Aktionstyp AWSFIS aws:ssm:send-command/ -Run- -Stress aus. CPU Dadurch wird das Dokument automatisch zum Dokument hinzugefügt. ARN SSM ARN

    4. Behalten Sie für Target das Ziel bei AWS FISkreiert für dich.

    5. Geben Sie für Aktionsparameter, Dokumentparameter Folgendes ein:

      {"DurationSeconds":"120"}
    6. Geben Sie für Aktionsparameter für Dauer den Wert 5 Minuten (PT5M) an.

    7. Wählen Sie Save (Speichern) aus.

  6. Führen Sie für Targets (Ziele) Folgendes aus:

    1. Wählen Sie Bearbeiten für das Ziel AWS FISwurde im vorherigen Schritt automatisch für Sie erstellt.

    2. Ersetzen Sie den Standardnamen durch einen aussagekräftigeren Namen. Geben Sie z. B. ei testInstance.

    3. Stellen Sie sicher, dass der Ressourcentyp aws:ec2:instance lautet.

    4. Wählen Sie für Target-Methode die Option Resource IDs und dann die ID der Testinstanz aus.

    5. Wählen Sie für den Auswahlmodus die Option Alle aus.

    6. Wählen Sie Save (Speichern) aus.

  7. Wählen Sie für Service Access die Option Bestehende IAM Rolle verwenden und wählen Sie dann die IAM Rolle aus, die Sie wie in den Voraussetzungen für dieses Tutorial beschrieben erstellt haben. Wenn Ihre Rolle nicht angezeigt wird, stellen Sie sicher, dass sie über die erforderliche Vertrauensstellung verfügt. Weitere Informationen finden Sie unter IAM-Rollen für AWS FIS-Experimente.

  8. Wählen Sie unter Stoppbedingungen den CloudWatch Alarm aus, den Sie in Schritt 1 erstellt haben.

  9. (Optional) Wählen Sie für Tags die Option Neues Tag hinzufügen aus und geben Sie einen Tag-Schlüssel und einen Tag-Wert an. Die von Ihnen hinzugefügten Tags werden auf Ihre Experimentvorlage angewendet, nicht auf die Experimente, die mit der Vorlage ausgeführt werden.

  10. Wählen Sie „Experimentvorlage erstellen“.

(Optional) Um die Experimentvorlage anzuzeigen JSON

Wählen Sie die Registerkarte Exportieren. Im Folgenden finden Sie ein Beispiel für das Verfahren, das mit der vorherigen Konsole JSON erstellt wurde.

{ "description": "Test CPU stress predefined SSM document", "targets": { "testInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id" ], "selectionMode": "ALL" } }, "actions": { "runCpuStress": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress", "documentParameters": "{\"DurationSeconds\":\"120\"}", "duration": "PT5M" }, "targets": { "Instances": "testInstance" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:region:123456789012:alarm:awsec2-instance_id-GreaterThanOrEqualToThreshold-CPUUtilization" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISSSMActions", "tags": {} }

Schritt 3: Starten Sie das Experiment

Wenn Sie mit der Erstellung Ihrer Experimentvorlage fertig sind, können Sie sie verwenden, um ein Experiment zu starten.

Um ein Experiment zu starten
  1. Sie sollten sich auf der Detailseite der Experimentvorlage befinden, die Sie gerade erstellt haben. Andernfalls wählen Sie Experimentvorlagen und dann die ID der Experimentvorlage aus, um die Detailseite zu öffnen.

  2. Wählen Sie Start Experiment (Experiment starten) aus.

  3. (Optional) Um Ihrem Experiment ein Tag hinzuzufügen, wählen Sie Neues Tag hinzufügen und geben Sie einen Tag-Schlüssel und einen Tag-Wert ein.

  4. Wählen Sie Start Experiment (Experiment starten) aus. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie start ein. Wählen Sie Start Experiment (Experiment starten) aus.

Schritt 4: Verfolgen Sie den Fortschritt des Experiments

Sie können den Fortschritt eines laufenden Experiments verfolgen, bis das Experiment abgeschlossen, beendet oder fehlschlägt.

Um den Fortschritt eines Experiments zu verfolgen
  1. Sie sollten sich auf der Detailseite für das Experiment befinden, das Sie gerade gestartet haben. Andernfalls wählen Sie Experimente und dann die ID des Experiments aus, um die Detailseite für das Experiment zu öffnen.

  2. Um den Status des Experiments anzuzeigen, aktivieren Sie im Detailbereich die Option Status. Weitere Informationen finden Sie unter Versuchsstatus.

  3. Wenn der Status des Experiments „Wird ausgeführt“ lautet, fahren Sie mit dem nächsten Schritt fort.

Schritt 5: Überprüfen Sie die Ergebnisse des Experiments

Sie können die CPU Auslastung Ihrer Instance überwachen, während das Experiment läuft. Wenn die CPU Auslastung den Schwellenwert erreicht, wird der Alarm ausgelöst und das Experiment wird durch die Stopp-Bedingung angehalten.

Um die Ergebnisse des Experiments zu überprüfen
  1. Wählen Sie die Registerkarte Stoppbedingungen. Der grüne Rand und das grüne Häkchensymbol zeigen an, dass sich der Alarm im Ausgangszustand befindetOK. Die rote Linie gibt den Alarmschwellenwert an. Wenn Sie ein detaillierteres Diagramm bevorzugen, wählen Sie im Widget-Menü die Option „Vergrößern“.

    Grafik, die zeigt, dass die CPU Auslastung nach einer Phase niedriger Aktivität von etwa 50 Prozent auf 100 Prozent angestiegen ist.
  2. Wenn die CPU Auslastung den Schwellenwert überschreitet, weisen der rote Rand und das rote Ausrufezeichen auf der Registerkarte Stoppbedingungen darauf hin, dass der Alarmstatus auf geändert wurde. ALARM Im Detailbereich lautet der Status des Experiments Gestoppt. Wenn Sie den Status auswählen, wird die Meldung „Das Experiment wurde durch die Abbruchbedingung angehalten“ angezeigt.

    Diagramm, das die CPU Auslastung im Zeitverlauf mit einer roten Schwellenlinie bei 50 Prozent zeigt.
  3. Wenn die CPU Auslastung unter den Schwellenwert fällt, weisen der grüne Rand und das grüne Häkchensymbol darauf hin, dass der Alarmstatus auf OK geändert wurde.

  4. (Optional) Wählen Sie im Widget-Menü die Option In Alarmen anzeigen aus. Dadurch wird die Seite mit den Alarmdetails in der CloudWatch Konsole geöffnet, auf der Sie weitere Informationen zum Alarm abrufen oder die Alarmeinstellungen bearbeiten können.

Schritt 6: Bereinigen

Wenn Sie die EC2 Testinstanz, die Sie für dieses Experiment erstellt haben, nicht mehr benötigen, können Sie sie beenden.

Beenden der Instances
  1. Öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Test-Instances aus und wählen Sie Instance-Status, Instanz beenden aus.

  4. Wählen Sie Terminate (Kündigen) aus, wenn Sie zur Bestätigung aufgefordert werden.

Wenn Sie die Experimentvorlage nicht mehr benötigen, können Sie sie löschen.

Um eine Experimentvorlage zu löschen, verwenden Sie AWS FISKonsole
  1. Öffnen Sie AWS FISKonsole bei https://console.aws.amazon.com/fis/.

  2. Wählen Sie im Navigationsbereich Experimentvorlagen aus.

  3. Wählen Sie die Experimentvorlage aus und klicken Sie dann auf Aktionen, Experimentvorlage löschen.

  4. Wenn Sie zur Bestätigung aufgefordert werden, geben Sie die Eingabe ein delete und wählen Sie dann Experimentvorlage löschen.