Aktionssatz für 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.

Aktionssatz für AWS FIS

Um eine Versuchsvorlage zu erstellen, müssen Sie eine oder mehrere Aktionen definieren, aus denen das Aktionssatz besteht. Eine Liste der von AWS FIS bereitgestellten vordefinierten Aktionen finden Sie unterAktionen.

Sie können eine Aktion während eines Experiments nur einmal ausführen. Um dieselbe AWS FIS-Aktion mehrmals in demselben Experiment auszuführen, fügen Sie sie der Vorlage mehrmals unter unterschiedlichen Namen hinzu.

Syntax der Aktion

Im Folgenden finden Sie die Syntax für einen Aktionssatz.

{ "actions": { "action_name": { "actionId": "aws:service:action-type", "description": "string", "parameters": { "name": "value" }, "startAfter": ["action_name", ...], "targets": { "resource_type": "target_name" } } } }

Wenn Sie eine Aktion definieren, geben Sie Folgendes an:

Aktionsname

Ein Name für die Aktion.

actionId

Die Aktions-ID.

description

Eine optionale Beschreibung.

parameters

Beliebige Aktionsparameter.

startAfter

Alle Aktionen, die abgeschlossen sein müssen, bevor diese Aktion gestartet werden kann. Andernfalls wird die Aktion zu Beginn des Experiments ausgeführt.

targets

Beliebige Aktionsziele.

Beispiele finden Sie unter Beispielaktionen.

Dauer der Aktion

Wenn eine Aktion einen Parameter enthält, mit dem Sie die Dauer der Aktion angeben können, wird die Aktion standardmäßig erst nach Ablauf der angegebenen Dauer als abgeschlossen betrachtet. Wenn Sie die emptyTargetResolutionMode Experimentoption auf gesetzt habenskip, wird die Aktion sofort mit dem Status „übersprungen“ abgeschlossen, wenn keine Ziele gelöst wurden. Wenn Sie beispielsweise eine Dauer von 5 Minuten angeben, betrachtet AWS FIS die Aktion nach 5 Minuten als abgeschlossen. Anschließend wird die nächste Aktion gestartet, bis alle Aktionen abgeschlossen sind.

Die Dauer kann entweder der Zeitraum sein, für den eine Aktionsbedingung aufrechterhalten wird, oder der Zeitraum, für den Messwerte überwacht werden. Beispielsweise wird die Latenz für die angegebene Zeitdauer injiziert. Bei Aktionstypen, die fast sofort auftreten, wie z. B. das Beenden einer Instance, werden die Stoppbedingungen für den angegebenen Zeitraum überwacht.

Wenn eine Aktion innerhalb der Aktionsparameter eine Post-Aktion beinhaltet, wird die Post-Aktion nach Abschluss der Aktion ausgeführt. Die Zeit, die benötigt wird, um die Post-Aktion abzuschließen, kann zu einer Verzögerung zwischen der angegebenen Aktionsdauer und dem Beginn der nächsten Aktion (oder dem Ende des Experiments, wenn alle anderen Aktionen abgeschlossen sind) führen.

Beispielaktionen

Im Folgenden finden Sie Beispielaktionen.

Beispiel: Stoppen Sie EC2-Instances

Die folgende Aktion stoppt die EC2-Instances, die mithilfe des Ziels TargetInstances identifiziert wurden. Nach zwei Minuten werden die Ziel-Instances neu gestartet.

"actions": { "stopInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M" }, "targets": { "Instances": "targetInstances" } } }
Beispiel: Spot-Instances unterbrechen

Die folgende Aktion stoppt die Spot-Instances, die mithilfe des genannten targetSpotInstancesZiels identifiziert wurden. Sie wartet zwei Minuten, bevor sie die Spot-Instance unterbricht.

"actions": { "interruptSpotInstances": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M" }, "targets": { "SpotInstances": "targetSpotInstances" } } }
Beispiel: Den Netzwerkverkehr unterbrechen

Die folgende Aktion verweigert den Verkehr zwischen den Zielsubnetzen und Subnetzen in anderen Availability Zones.

"actions": { "disruptAZConnectivity": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M" }, "targets": { "Subnets": "targetSubnets" } } }
Beispiel: EKS-Mitarbeiter kündigen

Die folgende Aktion beendet 50% der EC2-Instances im EKS-Cluster, die anhand des genannten Ziels identifiziert wurden. targetNodeGroups

"actions": { "terminateWorkers": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50" }, "targets": { "Nodegroups": "targetNodeGroups" } } }