Verwenden Sie Systems Manager SSM Manager-Dokumente 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.

Verwenden Sie Systems Manager SSM Manager-Dokumente mit AWS FIS

AWS FISunterstützt benutzerdefinierte Fehlertypen über AWS Systems Manager SSMAgent und der AWS FISAktionaws:ssm:send-command. Vorkonfigurierte Systems Manager SSM SSM Manager-Dokumente (Dokumente), mit denen allgemeine Fehlerinjektionsaktionen erstellt werden können, sind öffentlich verfügbar. AWS Dokumente, die mit dem Präfix AWSFIS - beginnen.

SSMAgent ist Amazon-Software, die auf EC2 Amazon-Instances, lokalen Servern oder virtuellen Maschinen (VMs) installiert und konfiguriert werden kann. Dadurch ist es Systems Manager möglich, diese Ressourcen zu verwalten. Der Agent verarbeitet Anfragen von Systems Manager und führt sie dann wie in der Anfrage angegeben aus. Sie können Ihr eigenes SSM Dokument hinzufügen, um benutzerdefinierte Fehler einzufügen, oder auf eines der öffentlichen Dokumente verweisen, die sich im Besitz von Amazon befinden.

Voraussetzungen

Bei Aktionen, bei denen der SSM Agent die Aktion auf dem Ziel ausführen muss, müssen Sie Folgendes sicherstellen:

Verwenden Sie die aws:ssm:send-command action

In einem SSM Dokument werden die Aktionen definiert, die Systems Manager auf Ihren verwalteten Instanzen ausführt. Systems Manager enthält eine Reihe vorkonfigurierter Dokumente, Sie können aber auch eigene Dokumente erstellen. Weitere Informationen zum Erstellen Ihres eigenen SSM Dokuments finden Sie unter Systems Manager Manager-Dokumente erstellen in der AWS Systems Manager Benutzerleitfaden. Weitere Informationen zu SSM Dokumenten im Allgemeinen finden Sie unter AWS Systems Manager Dokumente in der AWS Systems Manager Benutzerleitfaden.

AWS FISstellt vorkonfigurierte SSM Dokumente bereit. Sie können die vorkonfigurierten SSM Dokumente unter Dokumente in der AWS Systems Manager Konsole: https://console.aws.amazon.com/systems-manager/Dokumente. Sie können auch aus einer Auswahl vorkonfigurierter Dokumente in der AWS FISKonsole. Weitere Informationen finden Sie unter Vorkonfiguriert AWS FISSSMDokumente.

Um ein SSM Dokument in Ihrem zu verwenden AWS FISExperimente, Sie können die aws:ssm:send-command Aktion verwenden. Diese Aktion ruft das angegebene SSM Dokument ab und führt es auf Ihren Zielinstanzen aus.

Wenn Sie die aws:ssm:send-command Aktion in Ihrer Experimentvorlage verwenden, müssen Sie zusätzliche Parameter für die Aktion angeben, darunter die folgenden:

  • documentArn – Erforderlich. Der Amazon-Ressourcenname (ARN) des SSM Dokuments.

  • documentParameters— Befriedigend. Die erforderlichen und optionalen Parameter, die das SSM Dokument akzeptiert. Das Format ist ein JSON Objekt mit Schlüsseln, die Zeichenfolgen sind, und Werten, die entweder Zeichenketten oder Zeichenkettenarrays sind.

  • documentVersion Optional. Die Version des SSM Dokuments, das ausgeführt werden soll.

Sie können die Informationen für ein SSM Dokument (einschließlich der Parameter für das Dokument) mithilfe der Systems Manager Manager-Konsole oder der Befehlszeile anzeigen.

Um Informationen zu einem SSM Dokument mithilfe der Konsole anzuzeigen
  1. Öffnen Sie AWS Systems Manager Konsole bei https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich die Option Documents (Dokumente) aus.

  3. Wählen Sie das Dokument und dann die Registerkarte Details aus.

Um Informationen zu einem SSM Dokument über die Befehlszeile anzuzeigen

Verwenden Sie den Befehl SSM describe-document.

Vorkonfiguriert AWS FISSSMDokumente

Sie können vorkonfigurierte verwenden AWS FISSSMDokumente mit der aws:ssm:send-command Aktion in Ihren Experimentvorlagen.

Voraussetzungen
  • Die vorkonfigurierten SSM Dokumente werden bereitgestellt von AWS FISwerden nur auf den folgenden Betriebssystemen unterstützt:

    • Amazon Linux 2023, Amazon Linux 2, Amazon Linux

    • Ubuntu

    • RHEL7, 8, 9

    • CentOS 8, 9

  • Die vorkonfigurierten SSM Dokumente werden bereitgestellt von AWS FISwerden nur auf EC2 Instanzen unterstützt. Sie werden auf anderen Typen von verwalteten Knoten, wie z. B. lokalen Servern, nicht unterstützt.

Um diese SSM Dokumente in Experimenten mit ECS Aufgaben zu verwenden, verwenden Sie die entsprechenden ECSAmazon-Aktionen Dokumente. Die aws:ecs:task-cpu-stress Aktion verwendet zum Beispiel AWSFIS-Run-CPU-Stress Dokumente

Unterschied zwischen Aktionsdauer und DurationSeconds in AWS FISSSMDokumente

Einige SSM Dokumente beschränken ihre eigene Ausführungszeit, zum Beispiel wird der DurationSeconds Parameter von einigen vorkonfigurierten Dokumenten verwendet AWS FISSSMDokumente. Daher müssen Sie zwei unabhängige Dauern in der AWS FISDefinition der Aktion:

  • Action duration: Bei Experimenten mit einer einzigen Aktion entspricht die Aktionsdauer der Versuchsdauer. Bei mehreren Aktionen hängt die Versuchsdauer von der Dauer der einzelnen Aktionen und der Reihenfolge ab, in der sie ausgeführt werden. AWS FISüberwacht jede Aktion, bis ihre Aktionsdauer abgelaufen ist.

  • DokumentparameterDurationSeconds: Die in Sekunden angegebene Dauer, für die das SSM Dokument ausgeführt wird.

Sie können unterschiedliche Werte für die beiden Arten von Dauer wählen:

  • Action duration exceeds DurationSeconds: Die Ausführung des SSM Dokuments wird abgeschlossen, bevor die Aktion abgeschlossen ist. AWS FISwartet, bis die Aktionsdauer abgelaufen ist, bevor nachfolgende Aktionen gestartet werden.

  • Action duration is shorter than DurationSeconds: Das SSM Dokument setzt die Ausführung fort, nachdem die Aktion abgeschlossen ist. Wenn das SSM Dokument noch ausgeführt wird und die Aktionsdauer abgelaufen ist, wird der Aktionsstatus auf Abgeschlossen gesetzt. AWS FISüberwacht die Ausführung nur, bis die Aktionsdauer abgelaufen ist.

Beachten Sie, dass einige SSM Dokumente eine variable Dauer haben. Beispiel AWS FISSSMDokumente bieten die Option, erforderliche Komponenten zu installieren, wodurch die Gesamtdauer der Ausführung über den angegebenen DurationSeconds Parameter hinaus verlängert werden kann. Wenn Sie also die Aktionsdauer DurationSeconds auf denselben Wert festlegen, ist es möglich, dass das SSM Skript länger als die Aktionsdauer ausgeführt wird.

AWSFIS-Run-CPU-Stress

Führt CPU Stress auf einer Instanz aus, die das stress-ng Tool verwendet. Verwendet das AWSFISDokument -Run- CPU -StressSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-CPU-Stress

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-CPU-Stress

Parameter des Dokuments
  • DurationSeconds – Erforderlich. Die Dauer des CPU Stresstests in Sekunden.

  • CPU Optional. Die Anzahl der zu CPU verwendenden Stressoren. Die Standardeinstellung ist 0, wodurch alle CPU Stressoren verwendet werden.

  • LoadPercent Optional. Der CPU Ziellastanteil liegt zwischen 0 (keine Last) und 100 (Volllast). Der Standardwert ist 100.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeit iststress-ng.

Das Folgende ist ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Disk-Fill

Weist Festplattenspeicher auf dem Root-Volume einer Instanz zu, um zu simulieren, dass die Festplatte voll ist. Verwendet das Dokument AWSFIS-Run-Disk-FillSSM.

Wenn das Experiment, bei dem dieser Fehler ausgelöst wurde, entweder manuell oder durch eine Stopp-Bedingung gestoppt wird, AWS FISversucht, ein Rollback durchzuführen, indem das laufende SSM Dokument abgebrochen wird. Wenn die Festplatte jedoch zu 100% voll ist, entweder aufgrund des Fehlers oder des Fehlers und der Anwendungsaktivität, kann Systems Manager den Abbruchvorgang möglicherweise nicht abschließen. Wenn Sie das Experiment möglicherweise beenden müssen, stellen Sie daher sicher, dass die Festplatte nicht zu 100% voll ist.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Disk-Fill

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Disk-Fill

Parameter des Dokuments
  • DurationSeconds – Erforderlich. Die Dauer des Festplattenfülltests in Sekunden.

  • Percent Optional. Der Prozentsatz der Festplatte, der während des Festplattenfülltests zugewiesen werden soll. Die Standardeinstellung ist 95%.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeiten sind atd undfallocate.

Das Folgende ist ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-IO-Stress

Führt mithilfe des stress-ng Tools I/O-Stress auf einer Instanz aus. Verwendet das Dokument AWSFIS-Run-IO-StressSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-IO-Stress

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-IO-Stress

Parameter des Dokuments
  • DurationSeconds – Erforderlich. Die Dauer des IO-Stresstests in Sekunden.

  • Workers Optional. Die Anzahl der Worker, die eine Mischung aus sequentiellen, zufälligen und speicherbezogenen Lese-/Schreibvorgängen, erzwungener Synchronisation und Cache-Löschen ausführen. Mehrere untergeordnete Prozesse führen unterschiedliche I/O-Operationen an derselben Datei durch. Der Standardwert ist 1.

  • Percent Optional. Der Prozentsatz des freien Speicherplatzes auf dem Dateisystem, der während des IO-Stresstests verwendet werden soll. Die Standardeinstellung ist 80%.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeit iststress-ng.

Das Folgende ist ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"Workers":"1", "Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Kill-Process

Stoppt den angegebenen Prozess in der Instanz mithilfe des killall Befehls. Verwendet das Dokument AWSFIS-Run-Kill-ProcessSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Kill-Process

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Kill-Process

Parameter des Dokuments
  • ProcessName – Erforderlich. Der Name des Prozesses, der gestoppt werden soll.

  • Signal Optional. Das Signal, das zusammen mit dem Befehl gesendet werden soll. Die möglichen Werte sind SIGTERM (die der Empfänger ignorieren kann) und SIGKILL (die nicht ignoriert werden können). Der Standardwert ist SIGTERM.

  • InstallDependencies – Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeit istkillall.

Das Folgende ist ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"ProcessName":"myapplication", "Signal":"SIGTERM"}

AWSFIS-Run-Memory-Stress

Führt eine Speicherbelastung auf einer Instanz aus, die das stress-ng Tool verwendet. Verwendet das Dokument AWSFIS-Run-Memory-StressSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Memory-Stress

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Memory-Stress

Parameter des Dokuments
  • DurationSeconds – Erforderlich. Die Dauer des Speicherstresstests in Sekunden.

  • Workers Optional. Die Anzahl der Stressfaktoren für den virtuellen Speicher. Der Standardwert ist 1.

  • Percent – Erforderlich. Der Prozentsatz des virtuellen Speichers, der während des Speicherbelastungstests verwendet werden soll.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeit iststress-ng.

Das Folgende ist ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"Percent":"80", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Blackhole-Port

Löscht eingehenden oder ausgehenden Datenverkehr für das Protokoll und den Port mithilfe des iptables Tools. Verwendet das Dokument AWSFIS-Run-Network-Blackhole-PortSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Network-Blackhole-Port

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Network-Blackhole-Port

Parameter des Dokuments
  • Protocol – Erforderlich. Das Protokoll. Die möglichen Werte sind tcp und udp.

  • Port – Erforderlich. Die Port-Nummer.

  • TrafficType Optional. Der Typ des Datenverkehrs. Die möglichen Werte sind ingress und egress. Der Standardwert ist ingress.

  • DurationSeconds – Erforderlich. Die Dauer des Netzwerk-Blackhole-Tests in Sekunden.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeiten sind atddig, undiptables.

Im Folgenden finden Sie ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"Protocol":"tcp", "Port":"8080", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Latency

Fügt der Netzwerkschnittstelle mithilfe des tc Tools Latenz hinzu. Verwendet das Dokument AWSFIS-Run-Network-LatencySSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Network-Latency

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Network-Latency

Parameter des Dokuments
  • Interface Optional. Die Netzwerkschnittstelle. Der Standardwert ist eth0.

  • DelayMilliseconds – Optional. Die Verzögerung in Millisekunden. Die Standardeinstellung ist 200.

  • DurationSeconds – Erforderlich. Die Dauer des Netzwerklatenztests in Sekunden.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeiten sind atddig, undtc.

Im Folgenden finden Sie ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"DelayMilliseconds":"200", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Latency-Sources

Fügt der Netzwerkschnittstelle Latenz und Jitter hinzu, indem das tc Tool für den Datenverkehr zu oder von bestimmten Quellen verwendet wird. Verwendet das Dokument AWSFIS-Run-Network-Latency-SourcesSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Network-Latency-Sources

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Network-Latency-Sources

Parameter des Dokuments
  • Interface Optional. Die Netzwerkschnittstelle. Der Standardwert ist eth0.

  • DelayMilliseconds – Optional. Die Verzögerung in Millisekunden. Die Standardeinstellung ist 200.

  • JitterMilliseconds Optional. Der Jitter in Millisekunden. Der Standardwert ist 10.

  • Sources – Erforderlich. Die Quellen, durch Kommas getrennt. Die möglichen Werte sind: eine IPv4 Adresse, ein IPv4 CIDR Block, ein Domainname undS3. DYNAMODB Wenn Sie DYNAMODB oder angebenS3, gilt dies nur für den regionalen Endpunkt in der aktuellen Region.

  • TrafficType Optional. Der Typ des Datenverkehrs. Die möglichen Werte sind ingress und egress. Der Standardwert ist ingress.

  • DurationSeconds – Erforderlich. Die Dauer des Netzwerklatenztests in Sekunden.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert ist True. Die Abhängigkeiten sind atddig,jq, undtc.

Im Folgenden finden Sie ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"DelayMilliseconds":"200", "JitterMilliseconds":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Packet-Loss

Fügt der Netzwerkschnittstelle mithilfe des tc Tools Paketverlust hinzu. Verwendet das Dokument AWSFIS-Run-Network-Packet-LossSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Network-Packet-Loss

Parameter des Dokuments
  • Interface Optional. Die Netzwerkschnittstelle. Der Standardwert ist eth0.

  • LossPercent – Optional. Der Prozentsatz des Paketverlusts. Die Standardeinstellung ist 7%.

  • DurationSeconds – Erforderlich. Die Dauer des Tests zum Verlust von Netzwerkpaketen in Sekunden.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen. Der Standardwert ist True. Die Abhängigkeiten sind atddig, undtc.

Im Folgenden finden Sie ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"LossPercent":"15", "Interface":"eth0", "DurationSeconds":"60", "InstallDependencies":"True"}

AWSFIS-Run-Network-Packet-Loss-Sources

Fügt der Netzwerkschnittstelle Paketverlust hinzu, indem das tc Tool für den Datenverkehr zu oder von bestimmten Quellen verwendet wird. Verwendet das Dokument AWSFIS-Run-Network-Packet-Loss-SourcesSSM.

Aktionstyp (nur Konsole)

aws:ssm:send-command/AWSFIS-Run-Network-Packet-Loss-Sources

ARN

arn:aws:ssm:Region::document/AWSFIS-Run-Network-Packet-Loss-Sources

Parameter des Dokuments
  • Interface Optional. Die Netzwerkschnittstelle. Der Standardwert ist eth0.

  • LossPercent – Optional. Der Prozentsatz des Paketverlusts. Die Standardeinstellung ist 7%.

  • Sources – Erforderlich. Die Quellen, durch Kommas getrennt. Die möglichen Werte sind: eine IPv4 Adresse, ein IPv4 CIDR Block, ein Domainname undS3. DYNAMODB Wenn Sie DYNAMODB oder angebenS3, gilt dies nur für den regionalen Endpunkt in der aktuellen Region.

  • TrafficType Optional. Der Typ des Datenverkehrs. Die möglichen Werte sind ingress und egress. Der Standardwert ist ingress.

  • DurationSeconds – Erforderlich. Die Dauer des Tests zum Verlust von Netzwerkpaketen in Sekunden.

  • InstallDependencies Optional. Wenn der Wert lautetTrue, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen. Der Standardwert ist True. Die Abhängigkeiten sind atddig,jq, undtc.

Im Folgenden finden Sie ein Beispiel für die Zeichenfolge, die Sie in die Konsole eingeben können.

{"LossPercent":"15", "Sources":"S3,www.example.com,72.21.198.67", "Interface":"eth0", "TrafficType":"egress", "DurationSeconds":"60", "InstallDependencies":"True"}

Beispiele

Ein Beispiel für eine Versuchsvorlage finden Sie unterFühren Sie eine vorkonfigurierte AWS FISSSMDokument.

Ein Tutorial finden Sie unter CPUStress auf einer Instanz ausführen.

Fehlerbehebung

Gehen Sie wie folgt vor, um Probleme zu beheben.

Um Probleme mit SSM Dokumenten zu beheben
  1. Öffnen Sie AWS Systems Manager Konsole bei https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Node Management, Run Command aus.

  3. Verwenden Sie auf der Registerkarte Befehlsverlauf die Filter, um die Ausführung des Dokuments zu ermitteln.

  4. Wählen Sie die ID des Befehls, um die zugehörige Detailseite zu öffnen.

  5. Wählen Sie die ID der Instanz. Überprüfen Sie die Ausgabe und die Fehler für jeden Schritt.