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.
Um eine Versuchsvorlage zu erstellen, müssen Sie eine oder mehrere Aktionen definieren. Eine Liste der von AWS FIS bereitgestellten vordefinierten Aktionen finden Sie unterReferenz zu Aktionen.
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.
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": {
"ResourceType
": "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
Jede AWS FIS-Aktion hat eine Kennung 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
Einige AWS FIS-Aktionen haben zusätzliche Parameter, die für die Aktion spezifisch sind. Diese Parameter werden verwendet, um Informationen an AWS FIS zu übergeben, wenn die Aktion ausgeführt wird.
AWS FIS unterstü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 den 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": {
"ResourceType
": "resource_name
"
}
AWS FIS-Aktionen unterstützen die folgenden Ressourcentypen für Aktionsziele:
-
AutoScalingGroups— Amazon EC2 Auto Scaling Scaling-Gruppen
-
Eimer — Amazon S3 S3-Eimer
-
Cluster — Amazon EKS-Cluster
-
Cluster — Amazon ECS-Cluster oder Amazon Aurora Aurora-DB-Cluster
-
DBInstances— Amazon RDS-DB-Instances
-
Tabellen — Globale Amazon DynamoDB-Tabellen
-
Instanzen — EC2 Amazon-Instances
-
Knotengruppen — Amazon EKS-Knotengruppen
-
Pods — Kubernetes-Pods auf Amazon EKS
-
ReplicationGroups— Replikationsgruppen ElastiCache
-
Rollen — IAM-Rollen
-
SpotInstances— Amazon EC2 Spot-Instances
-
Subnetze — VPC-Subnetze
-
Aufgaben — Amazon ECS-Aufgaben
-
TransitGateways— Transit-Gateways
-
Volumen — Amazon EBS-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, 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.
Beispiele
Beispiel: Stoppen Sie EC2 Instanzen
Die folgende Aktion stoppt die EC2 Instanzen, die mithilfe des genannten Ziels identifiziert wurdentargetInstances
. 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 targetSpotInstances
Ziels 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: Unterbrechen Sie den Netzwerkverkehr
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: Kündigen Sie EKS-Mitarbeiter
Die folgende Aktion beendet 50% der EC2 Instances im EKS-Cluster, die anhand des genannten targetNodeGroups
Ziels identifiziert wurden.
"actions": {
"terminateWorkers
": {
"actionId": "aws:eks:terminate-nodegroup-instances",
"parameters": {
"instanceTerminationPercentage": "50
"
},
"targets": {
"Nodegroups": "targetNodeGroups
"
}
}
}