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.
Aktionen für AWS FIS
Um eine Versuchsvorlage zu erstellen, müssen Sie eine oder mehrere Aktionen definieren. Eine Liste vordefinierter Aktionen finden Sie unter AWS FIS, sieheReferenz zu Aktionen.
Sie können eine Aktion während eines Experiments nur einmal ausführen. Um dasselbe auszuführen AWS FISAktion mehr als einmal in demselben Experiment, fügen Sie sie der Vorlage mehrmals unter verschiedenen Namen hinzu.
Inhalt
Syntax der Aktion
Das Folgende ist die Syntax für eine Aktion.
{
"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:
action_name
-
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.
Aktions-Identifikatoren
Jeder AWS FISAktion hat einen Bezeichner mit dem folgenden Format:
aws:service-name
:action-type
Mit der folgenden Aktion werden beispielsweise die EC2 Amazon-Ziel-Instances gestoppt:
aws:ec2:stop-instances
Eine vollständige Liste der Aktionen finden Sie unterAWS FIS Referenz zu Aktionen.
Aktionsparameter
Etwas AWS FISAktionen haben zusätzliche Parameter, die für die Aktion spezifisch sind. Diese Parameter werden verwendet, um Informationen zu übergeben AWS FISwenn die Aktion ausgeführt wird.
AWS FISunterstützt benutzerdefinierte Fehlertypen mithilfe der aws:ssm:send-command
Aktion, bei der der SSM Agent und ein SSM Befehlsdokument verwendet werden, um den Fehlerzustand auf den Zielinstanzen zu erstellen. Die aws:ssm:send-command
Aktion umfasst einen documentArn
Parameter, der den Amazon-Ressourcennamen (ARN) eines SSM Dokuments als Wert verwendet. Sie geben Werte für Parameter an, wenn Sie die Aktion zu Ihrer Experimentvorlage hinzufügen.
Weitere Informationen zum Angeben von Parametern für die aws:ssm:send-command
Aktion finden Sie unterVerwenden Sie aws:ssm:send-command action.
Wenn möglich, können Sie in die Aktionsparameter eine Rollback-Konfiguration (auch als Post-Aktion bezeichnet) eingeben. Eine Post-Aktion führt das Ziel in den Zustand zurück, in dem es sich vor Ausführung der Aktion befunden hat. Die Post-Aktion wird nach der in der Aktionsdauer angegebenen Zeit ausgeführt. Nicht alle Aktionen können Post-Aktionen unterstützen. Wenn die Aktion beispielsweise eine EC2 Amazon-Instance beendet, können Sie die Instance nicht wiederherstellen, nachdem sie beendet wurde.
Ziele der Aktion
Eine Aktion wird auf den von Ihnen angegebenen Zielressourcen ausgeführt. Nachdem Sie ein Ziel definiert haben, können Sie seinen Namen angeben, wenn Sie eine Aktion definieren.
"targets": {
"resource_type
": "resource_name
"
}
AWS FISAktionen unterstützen die folgenden Ressourcentypen für Aktionsziele:
-
Auto Scaling Scaling-Gruppen — Amazon EC2 Auto Scaling Scaling-Gruppen
-
Eimer — Amazon S3 S3-Eimer
-
Cluster — EKS Amazon-Cluster
-
Cluster — ECS Amazon-Cluster oder Amazon Aurora-DB-Cluster
-
DBInstances— RDS Amazon-DB-Instances
-
Verschlüsselte globale Tabellen — Amazon DynamoDB; globale Tabellen, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt sind
-
Globale Tabellen — Amazon DynamoDB; globale Tabellen
-
Instances — EC2 Amazon-Instances
-
Nodegroups — EKS Amazon-Knotengruppen
-
Pods — Kubernetes-Pods bei Amazon EKS
-
ReplicationGroups— ElastiCache Redis-Replikationsgruppen
-
Rollen — IAM Rollen
-
SpotInstances— Amazon EC2 Spot-Instances
-
Subnetze — VPC Subnetze
-
Aufgaben — ECS Amazon-Aufgaben
-
TransitGateways— Transit-Gateways
-
Volumen — EBS Amazon-Volumen
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, AWS FISbetrachtet 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.
Beispiele
Beispiel: Stoppen Sie EC2 Instanzen
Die folgende Aktion stoppt die EC2 Instanzen, die mithilfe des genannten Ziels identifiziert wurden targetInstances
. Nach zwei Minuten werden die Zielinstanzen neu gestartet.
"actions": { "
stopInstances
": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT2M
" }, "targets": { "Instances": "targetInstances
" } } }
Beispiel: Spot-Instances unterbrechen
Mit der folgenden Aktion werden die Spot-Instances gestoppt, die mithilfe des genannten Ziels identifiziert wurden targetSpotInstances
. Es wartet zwei Minuten, bevor die Spot-Instance unterbrochen wird.
"actions": { "
interruptSpotInstances
": { "actionId": "aws:ec2:send-spot-instance-interruptions", "parameters": { "durationBeforeInterruption": "PT2M
" }, "targets": { "SpotInstances": "targetSpotInstances
" } } }
Beispiel: Unterbrechen Sie den Netzwerkverkehr
Mit der folgenden Aktion wird der Verkehr zwischen den Zielsubnetzen und Subnetzen in anderen Availability Zones verweigert.
"actions": { "
disruptAZConnectivity
": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "scope": "availability-zone", "duration": "PT5M
" }, "targets": { "Subnets": "targetSubnets
" } } }
Beispiel: Kündigen Sie Mitarbeiter EKS
Die folgende Aktion beendet 50% der EC2 Instances im EKS Cluster, die mithilfe des genannten Ziels identifiziert wurden targetNodeGroups
.
"actions": { "
terminateWorkers
": { "actionId": "aws:eks:terminate-nodegroup-instances", "parameters": { "instanceTerminationPercentage": "50
" }, "targets": { "Nodegroups": "targetNodeGroups
" } } }