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:
-
Der Agent ist auf dem Ziel installiert. SSMDer Agent ist standardmäßig auf einigen Amazon Machine Images (AMIs) installiert. Andernfalls können Sie den SSM Agenten auf Ihren Instances installieren. Weitere Informationen finden Sie unter Manuelles Installieren SSM des Agenten für EC2 Instances in der AWS Systems Manager Benutzerleitfaden.
-
Systems Manager ist berechtigt, Aktionen auf Ihren Instances durchzuführen. Sie gewähren Zugriff mithilfe eines IAM Instanzprofils. Weitere Informationen finden Sie unter Erstellen eines IAM Instanzprofils für Systems Manager und Anhängen eines IAM Instanzprofils an eine EC2 Instanz in der AWS Systems Manager Benutzerhandbuch.
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
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
-
Öffnen Sie AWS Systems Manager Konsole bei https://console.aws.amazon.com/systems-manager/
. -
Wählen Sie im Navigationsbereich die Option Documents (Dokumente) aus.
-
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
-Documents
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 -Stress
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 lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Fill
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 lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Stress
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 lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Process
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) undSIGKILL
(die nicht ignoriert werden können). Der Standardwert istSIGTERM
. -
InstallDependencies – Optional. Wenn der Wert lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Stress
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 lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Port
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
undudp
. -
Port – Erforderlich. Die Port-Nummer.
-
TrafficType Optional. Der Typ des Datenverkehrs. Die möglichen Werte sind
ingress
undegress
. Der Standardwert istingress
. -
DurationSeconds – Erforderlich. Die Dauer des Netzwerk-Blackhole-Tests in Sekunden.
-
InstallDependencies Optional. Wenn der Wert lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Latency
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 lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Sources
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 und
S3
.DYNAMODB
Wenn SieDYNAMODB
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
undegress
. Der Standardwert istingress
. -
DurationSeconds – Erforderlich. Die Dauer des Netzwerklatenztests in Sekunden.
-
InstallDependencies Optional. Wenn der Wert lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen, sofern sie nicht bereits installiert sind. Der Standardwert istTrue
. 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-Loss
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 lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen. Der Standardwert istTrue
. 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-Sources
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 und
S3
.DYNAMODB
Wenn SieDYNAMODB
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
undegress
. Der Standardwert istingress
. -
DurationSeconds – Erforderlich. Die Dauer des Tests zum Verlust von Netzwerkpaketen in Sekunden.
-
InstallDependencies Optional. Wenn der Wert lautet
True
, installiert Systems Manager die erforderlichen Abhängigkeiten auf den Zielinstanzen. Der Standardwert istTrue
. 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
Öffnen Sie AWS Systems Manager Konsole bei https://console.aws.amazon.com/systems-manager/
. -
Wählen Sie im Navigationsbereich Node Management, Run Command aus.
-
Verwenden Sie auf der Registerkarte Befehlsverlauf die Filter, um die Ausführung des Dokuments zu ermitteln.
-
Wählen Sie die ID des Befehls, um die zugehörige Detailseite zu öffnen.
-
Wählen Sie die ID der Instanz. Überprüfen Sie die Ausgabe und die Fehler für jeden Schritt.