An action is the fault injection activity that you run on a target using AWS Fault Injection Service (AWS FIS). AWS FIS provides preconfigured actions for specific types of targets across AWS services. You add actions to an experiment template, which you then use to run experiments.
This reference describes the common actions in AWS FIS, including information about the action parameters and the required IAM permissions. You can also list the supported AWS FIS actions using the AWS FIS console or the list-actions command from the AWS Command Line Interface (AWS CLI). Once you have the name of a specific action, you can view detailed information about the action by using the get-action command. For more information on using AWS FIS commands with the AWS CLI, see the AWS Command Line Interface User Guide and fis in the AWS CLI Command Reference.
For more information on how AWS FIS actions work, see Actions for AWS FIS and How AWS Fault Injection Service works with IAM.
Fault injection actionsAWS FIS supports the following fault injection actions.
aws:fis:inject-api-internal-errorInjects Internal Errors into requests made by the the target IAM role. The specific response depends on each service and API. For more information, please review the SDK and API documentation of your service.
Resource typeaws:iam:role
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
service â The target AWS API namespace. The supported value is ec2
.
percentage â The percentage (1-100) of calls to inject the fault into.
operations â The operations to inject the fault into, separated using commas. For a list of the API actions for the ec2
namespace, see Actions in the Amazon EC2 API Reference.
fis:InjectApiInternalError
Injects throttling errors into requests made by the target IAM role. The specific response depends on each service and API. For more information, please review the SDK and API documentation of your service.
Resource typeaws:iam:role
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
service â The target AWS API namespace. The supported value is ec2
.
percentage â The percentage (1-100) of calls to inject the fault into.
operations â The operations to inject the fault into, separated using commas. For a list of the API actions for the ec2
namespace, see Actions in the Amazon EC2 API Reference.
fis:InjectApiThrottleError
Injects Unavailable errors into requests made by the target IAM role. The specific response depends on each service and API. For more information, please review the SDK and API documentation of your service.
Resource typeaws:iam:role
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
service â The target AWS API namespace. The supported value is ec2
.
percentage â The percentage (1-100) of calls to inject the fault into.
operations â The operations to inject the fault into, separated using commas. For a list of the API actions for the ec2
namespace, see Actions in the Amazon EC2 API Reference.
fis:InjectApiUnavailableError
Recovery actions are performed to mitigate risk or protect applications after impairment.
AWS FIS supports the following recovery actions.
aws:arc:start-zonal-autoshiftAutomatically shifts traffic for supported resources away from a potentially impaired Availability Zone (AZ) and reroutes them to healthy AZs in the same AWS Region. This allows for experiencing zonal autoshift through FIS. Zonal autoshift is a capability in Amazon Application Recovery Controller (ARC) that allows AWS to shift traffic for a resource away from an AZ, on your behalf, when AWS determines that there is an impairment that could potentially affect customers in the AZ.
When you run the aws:arc:start-zonal-autoshift
action, AWS FIS manages the zonal shift using the StartZonalShift, UpdateZonalShift, and CancelZonalShift APIs with the expiresIn
field for these requests set to 1 minute as a safety mechanism. This enables AWS FIS to quickly rollback the zonal shift in the case of any unexpected events such as network outages or system issues. In the ARC console, the expiration time field will display AWS FIS-managed, and the actual expected expiration is determined by the duration specified in the zonal shift action.
aws:arc:zonal-shift-managed-resource
Zonal shift managed resources are resource types including Amazon EKS clusters, Amazon EC2 Application and Network Load Balancers, and Amazon EC2 Auto Scaling groups that can be enabled for ARC zonal autoshift. For more information, see supported resources and enabling zonal autoshift resources in the ARC Developer Guide.
duration â The length of time for which traffic will be shifted. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
availabilityZoneIdentifier â Traffic moves away from this AZ. This can be an AZ name (us-east-1a) or AZ ID (use1-az1).
managedResourceTypes â The resource types from which traffic will be shifted, separated by commas. Possible options are ASG
(Auto Scaling Group), ALB
(Application Load Balancer), NLB
(Network Load Balancer), and EKS
(Amazon EKS).
zonalAutoshiftStatus â The zonalAutoshiftStatus
status of the resources that you want to target. Possible options are ENABLED
DISABLED
, and ANY
. The default is ENABLED
.
arc-zonal-shift:StartZonalShift
arc-zonal-shift:GetManagedResource
arc-zonal-shift:UpdateZonalShift
arc-zonal-shift:CancelZonalShift
arc-zonal-shift:ListManagedResources
autoscaling:DescribeTags
tag:GetResources
AWS FIS supports the following wait action.
aws:fis:waitRuns the AWS FIS wait action.
Parametersduration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
AWS FIS supports the following Amazon CloudWatch action.
aws:cloudwatch:assert-alarm-stateVerifies that the specified alarms are in one of the specified alarm states.
ParametersalarmArns â The ARNs of the alarms, separated by commas. You can specify up to five alarms.
alarmStates â The alarm states, separated by commas. The possible alarm states are OK
, ALARM
, and INSUFFICIENT_DATA
.
cloudwatch:DescribeAlarms
AWS FIS supports the following Amazon DynamoDB action.
aws:dynamodb:global-table-pause-replicationPauses Amazon DynamoDB multi-Region eventually consistent (MREC) global table replication to any replica table. Tables may continue to be replicated for up to 5 minutes after action begins.
This action does not support multi-Region strongly consistent (MRSC) global tables. For more information see Consistency modes, in the Amazon DynamoDB developer guide.
The following statement will be dynamically appended to the policy for the target DynamoDB MREC global table:
{
"Statement":[
{
"Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
"Effect":"Deny",
"Principal":{
"AWS":"arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
},
"Action":[
"dynamodb:GetItem",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:DescribeTable",
"dynamodb:UpdateTable",
"dynamodb:Scan",
"dynamodb:DescribeTimeToLive",
"dynamodb:UpdateTimeToLive"
],
"Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable",
"Condition": {
"DateLessThan": {
"aws:CurrentTime": "2024-04-10T09:51:41.511Z"
}
}
}
]
}
The following statement will be dynamically appended to the stream policy for the target DynamoDB MREC global table:
{
"Statement":[
{
"Sid": "DoNotModifyFisDynamoDbPauseReplicationEXPxxxxxxxxxxxxxxx",
"Effect":"Deny",
"Principal":{
"AWS":"arn:aws:iam::123456789012:role/aws-service-role/replication.dynamodb.amazonaws.com/AWSServiceRoleForDynamoDBReplication"
},
"Action":[
"dynamodb:GetRecords",
"dynamodb:DescribeStream",
"dynamodb:GetShardIterator"
],
"Resource":"arn:aws:dynamodb:us-east-1:123456789012:table/ExampleGlobalTable/stream/2023-08-31T09:50:24.025",
"Condition": {
"DateLessThan": {
"aws:CurrentTime": "2024-04-10T09:51:41.511Z"
}
}
]
}
If a target table or stream does not have any attached resource polices, a resource policy is created for the duration of the experiment, and automatically deleted when the experiment ends. Otherwise, the fault statement is inserted into an existing policy, without any additional modifications to the existing policy statements. The fault statement is then removed from the policy at the end of the experiment.
Resource typeaws:dynamodb:global-table
duration â In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
dynamodb:PutResourcePolicy
dynamodb:DeleteResourcePolicy
dynamodb:GetResourcePolicy
dynamodb:DescribeTable
tag:GetResources
AWS FIS supports the following Amazon EBS action.
aws:ebs:pause-volume-ioPauses I/O operations on target EBS volumes. The target volumes must be in the same Availability Zone and must be attached to instances built on the Nitro System. The volumes can't be attached to instances on an Outpost.
To initiate the experiment using the Amazon EC2 console, see Fault testing on Amazon EBS in the Amazon EC2 User Guide.
Resource typeaws:ec2:ebs-volume
duration â The duration, from one second to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute, PT5S represents five seconds, and PT6H represents six hours. In the AWS FIS console, you enter the number of seconds, minutes, or hours. If the duration is small, such as PT5S, the I/O is paused for the specified duration, but it might take longer for the experiment to complete due to the time it takes to initialize the experiment.
ec2:DescribeVolumes
ec2:PauseVolumeIO
tag:GetResources
AWS FIS supports the following Amazon EC2 actions.
AWS FIS also supports fault injection actions through the AWS Systems Manager SSM Agent. Systems Manager uses an SSM document that defines actions to perform on EC2 instances. You can use your own document to inject custom faults, or you can use pre-configured SSM documents. For more information, see Use Systems Manager SSM documents with AWS FIS.
aws:ec2:api-insufficient-instance-capacity-errorInjects InsufficientInstanceCapacity
error responses on requests made by the target IAM roles. Supported operations are RunInstances, CreateCapacityReservation, StartInstances, CreateFleet calls. Requests that include capacity asks in multiple Availability Zones are not supported. This action doesn't support defining targets using resource tags, filters, or parameters.
aws:iam:role
duration â In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
availabilityZoneIdentifiers â The comma separated list of Availability Zones. Supports Zone IDs (e.g. "use1-az1, use1-az2"
) and Zone names (e.g. "us-east-1a"
).
percentage â The percentage (1-100) of calls to inject the fault into.
ec2:InjectApiError
with condition key ec2:FisActionId
value set to aws:ec2:api-insufficient-instance-capacity-error
and ec2:FisTargetArns
condition key set to target IAM roles.
For an example policy, see Example: Use condition keys for ec2:InjectApiError.
aws:ec2:asg-insufficient-instance-capacity-errorInjects InsufficientInstanceCapacity
error responses on requests made by the target Auto Scaling groups. This action only supports Auto Scaling groups using launch templates. To learn more about insufficient instance capacity errors, see the Amazon EC2 user guide.
aws:ec2:autoscaling-group
duration â In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
availabilityZoneIdentifiers â The comma separated list of Availability Zones. Supports Zone IDs (e.g. "use1-az1, use1-az2"
) and Zone names (e.g. "us-east-1a"
).
percentage â Optional. The percentage (1-100) of the target Auto Scaling group's launch requests to inject the fault. The default is 100.
ec2:InjectApiError
with condition key ec2:FisActionId value set to aws:ec2:asg-insufficient-instance-capacity-error
and ec2:FisTargetArns
condition key set to target Auto Scaling groups.
autoscaling:DescribeAutoScalingGroups
For an example policy, see Example: Use condition keys for ec2:InjectApiError.
aws:ec2:reboot-instancesRuns the Amazon EC2 API action RebootInstances on the target EC2 instances.
Resource typeaws:ec2:instance
ec2:RebootInstances
ec2:DescribeInstances
Interrupts the target Spot Instances. Sends a Spot Instance interruption notice to target Spot Instances two minutes before interrupting them. The interruption time is determined by the specified durationBeforeInterruption parameter. Two minutes after the interruption time, the Spot Instances are terminated or stopped, depending on their interruption behavior. A Spot Instance that was stopped by AWS FIS remains stopped until you restart it.
Immediately after the action is initiated, the target instance receives an EC2 instance rebalance recommendation. If you specified durationBeforeInterruption, there could be a delay between the rebalance recommendation and the interruption notice.
For more information, see Tutorial: Test Spot Instance interruptions using AWS FIS. Alternatively, to initiate the experiment by using the Amazon EC2 console, see Initiate a Spot Instance interruption in the Amazon EC2 User Guide.
Resource typeaws:ec2:spot-instance
durationBeforeInterruption â The time to wait before interrupting the instance, from 2 to 15 minutes. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT2M represents two minutes. In the AWS FIS console, you enter the number of minutes.
ec2:SendSpotInstanceInterruptions
ec2:DescribeInstances
Runs the Amazon EC2 API action StopInstances on the target EC2 instances.
Resource typeaws:ec2:instance
startInstancesAfterDuration â Optional. The time to wait before starting the instance, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours. If the instance has an encrypted EBS volume, you must grant AWS FIS permission to the KMS key used to encrypt the volume, or add the experiment role to the KMS key policy.
completeIfInstancesTerminated â Optional. If true, and if startInstancesAfterDuration
is also true, this action will not fail when targeted EC2 instances have been terminated by a separate request outside of FIS and cannot be restarted. For example, Auto Scaling groups may terminate stopped EC2 instances under their control before this action completes. The default is false.
ec2:StopInstances
ec2:StartInstances
ec2:DescribeInstances
â Optional. Required with completeIfInstancesTerminated to validate instance state at end of action.
kms:CreateGrant
â Optional. Required with startInstancesAfterDuration to restart instances with encrypted volumes.
Runs the Amazon EC2 API action TerminateInstances on the target EC2 instances.
Resource typeaws:ec2:instance
ec2:TerminateInstances
ec2:DescribeInstances
AWS FIS supports the following Amazon ECS actions.
aws:ecs:drain-container-instancesRuns the Amazon ECS API action UpdateContainerInstancesState to drain the specified percentage of underlying Amazon EC2 instances on the target clusters.
Resource typeaws:ecs:cluster
drainagePercentage â The percentage (1-100).
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
ecs:DescribeClusters
ecs:UpdateContainerInstancesState
ecs:ListContainerInstances
tag:GetResources
Runs the Amazon ECS API action StopTask to stop the target task.
Resource typeaws:ecs:task
ecs:DescribeTasks
ecs:ListTasks
ecs:StopTask
tag:GetResources
Runs CPU stress on the target tasks. Uses the AWSFIS-Run-CPU-Stress SSM document. The tasks must be managed by AWS Systems Manager. For more information, see ECS task actions.
Resource typeaws:ecs:task
duration â The duration of the stress test, in ISO 8601 format.
percent â Optional. The target load percentage, from 0 (no load) to 100 (full load). The default is 100.
workers â Optional. The number of stressors to use. The default is 0, which uses all stressors.
installDependencies â Optional. If this value is True
, Systems Manager installs the required dependencies on the sidecar container for the SSM agent, if they are not already installed. The default is True
. The dependency is stress-ng.
ecs:DescribeTasks
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
Runs I/O stress on the target tasks. Uses the AWSFIS-Run-IO-Stress SSM document. The tasks must be managed by AWS Systems Manager. For more information, see ECS task actions.
Resource typeaws:ecs:task
duration â The duration of the stress test, in ISO 8601 format.
percent â Optional. The percentage of free space on the file system to use during the stress test. The default is 80%.
workers â Optional. The number of workers. Workers perform a mix of sequential, random, and memory-mapped read/write operations, forced synchronizing, and cache dropping. Multiple child processes perform different I/O operations on the same file. The default is 1.
installDependencies â Optional. If this value is True
, Systems Manager installs the required dependencies on the sidecar container for the SSM agent, if they are not already installed. The default is True
. The dependency is stress-ng.
ecs:DescribeTasks
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
Stops the specified process in the tasks, using the killall command. Uses the AWSFIS-Run-Kill-Process SSM document. The task definition must have pidMode
set to task
. The tasks must be managed by AWS Systems Manager. For more information, see ECS task actions.
aws:ecs:task
processName â The name of the process to stop.
signal â Optional. The signal to send along with the command. The possible values are SIGTERM
(which the receiver can choose to ignore) and SIGKILL
(which cannot be ignored). The default is SIGTERM
.
installDependencies â Optional. If this value is True
, Systems Manager installs the required dependencies on the sidecar container for the SSM agent, if they are not already installed. The default is True
. The dependency is killall.
ecs:DescribeTasks
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
Drops inbound or outbound traffic for the specified protocol and port, using the Amazon ECS Fault Injection endpoints. Uses the AWSFIS-Run-Network-Blackhole-Port-ECS SSM document. The task definition must have pidMode
set to task
. The tasks must be managed by AWS Systems Manager. You can't set networkMode
to bridge
in the task definition. For more information, see ECS task actions.
When useEcsFaultInjectionEndpoints
is set to false
, the fault uses the iptables
tool, and uses the AWSFIS-Run-Network-Blackhole-Port SSM document.
aws:ecs:task
duration â The duration of the test, in ISO 8601 format.
port â The port number.
trafficType â The type of traffic. The possible values are ingress
and egress
.
protocol â Optional. The protocol. The possible values are tcp
and udp
. The default is tcp
.
installDependencies â Optional. If this value is True
, Systems Manager installs the required dependencies on the sidecar container for the SSM agent, if they are not already installed. The default is True
. The dependencies are atd, curl-minimal, dig and jq.
useEcsFaultInjectionEndpoints â Optional. If set to true, the Amazon ECS Fault Injection APIs will be used. The default is false.
ecs:DescribeTasks
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
Adds latency and jitter to the network interface for egress traffic to specific sources, using the Amazon ECS Fault Injection endpoints . Uses the AWSFIS-Run-Network-Latency-ECS SSM document. The task definition must have pidMode
set to task
. The tasks must be managed by AWS Systems Manager. You can't set networkMode
to bridge
in the task definition. For more information, see ECS task actions.
When useEcsFaultInjectionEndpoints
is set to false
, the fault uses the tc
tool, and uses the AWSFIS-Run-Network-Latency-Sources SSM document.
aws:ecs:task
duration â The duration of the test, in ISO 8601 format.
delayMilliseconds â Optional. The delay, in milliseconds. The default is 200.
jitterMilliseconds â Optional. The jitter, in milliseconds. The default is 10.
sources â Optional. The sources, separated by commas, without spaces. The possible values are: an IPv4 address, an IPv4 CIDR block, a domain name, DYNAMODB
, and S3
. If you specify DYNAMODB
or S3
, this applies only to the Regional endpoint in the current Region. The default is 0.0.0.0/0, which matches all IPv4 traffic.
installDependencies â Optional. If this value is True
, Systems Manager installs the required dependencies on the sidecar container for the SSM agent, if they are not already installed. The default is True
. The dependencies are atd, curl-minimal, dig, jq and lsof.
useEcsFaultInjectionEndpoints â Optional. If set to true, the Amazon ECS Fault Injection APIs will be used. The default is false.
ecs:DescribeTasks
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
Adds packet loss to the network interface for egress traffic to specific sources, using the Amazon ECS Fault Injection endpoints. Uses the AWSFIS-Run-Network-Packet-Loss-ECS SSM document. The task definition must have pidMode
set to task
. The tasks must be managed by AWS Systems Manager. You can't set networkMode
to bridge
in the task definition. For more information, see ECS task actions.
When useEcsFaultInjectionEndpoints
is set to false
, the fault uses the tc
tool, and uses the AWSFIS-Run-Network-Packet-Loss-Sources SSM document.
aws:ecs:task
duration â The duration of the test, in ISO 8601 format.
lossPercent â Optional. The percentage of packet loss. The default is 7%.
sources â Optional. The sources, separated by commas, without spaces. The possible values are: an IPv4 address, an IPv4 CIDR block, a domain name, DYNAMODB
, and S3
. If you specify DYNAMODB
or S3
, this applies only to the Regional endpoint in the current Region. The default is 0.0.0.0/0, which matches all IPv4 traffic.
installDependencies â Optional. If this value is True
, Systems Manager installs the required dependencies on the sidecar container for the SSM agent, if they are not already installed. The default is True
. The dependencies are atd, curl-minimal, dig, jq and lsof.
useEcsFaultInjectionEndpoints â Optional. If set to true, the Amazon ECS Fault Injection APIs will be used. The default is false.
ecs:DescribeTasks
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
AWS FIS supports the following Amazon EKS actions.
aws:eks:inject-kubernetes-custom-resourceRuns a ChaosMesh or Litmus experiment on a single target cluster. You must install ChaosMesh or Litmus on the target cluster.
When you create an experiment template and define a target of type aws:eks:cluster
, you must target this action to a single Amazon Resource Name (ARN). This action doesn't support defining targets using resource tags, filters, or parameters.
When you install ChaosMesh, you must specify the appropriate container runtime. Starting with Amazon EKS version 1.23, the default runtime changed from Docker to containerd. Starting with version 1.24, Docker was removed.
Resource typeaws:eks:cluster
kubernetesApiVersion â The API version of the Kubernetes custom resource. The possible values are chaos-mesh.org/v1alpha1
| litmuschaos.io/v1alpha1
.
kubernetesKind â The Kubernetes custom resource kind. The value depends on the API version.
chaos-mesh.org/v1alpha1
â The possible values are AWSChaos
| DNSChaos
| GCPChaos
| HTTPChaos
| IOChaos
| JVMChaos
| KernelChaos
| NetworkChaos
| PhysicalMachineChaos
| PodChaos
| PodHttpChaos
| PodIOChaos
| PodNetworkChaos
| Schedule
| StressChaos
| TimeChaos
|
litmuschaos.io/v1alpha1
â The possible value is ChaosEngine
.
kubernetesNamespace â The Kubernetes namespace.
kubernetesSpec â The spec
section of the Kubernetes custom resource, in JSON format.
maxDuration â The maximum time allowed for the automation execution to complete, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
No AWS Identity and Access Management (IAM) permissions are required for this action. The permissions required to use this action are controlled by Kubernetes using RBAC authorization. For more information, see Using RBAC Authorization in the official Kubernetes documentation. For more information about Chaos Mesh, see the official Chaos Mesh documentation. For more information about Litmus, see the official Litmus documentation.
aws:eks:pod-cpu-stressRuns CPU stress on the target pods. For more information, see EKS Pod actions.
Resource typeaws:eks:pod
duration â The duration of the stress test, in ISO 8601 format.
percent â Optional. The target load percentage, from 0 (no load) to 100 (full load). The default is 100.
workers â Optional. The number of stressors to use. The default is 0, which uses all stressors.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
fisPodSecurityPolicy â Optional. The Kubernetes Security Standards policy to use for the fault orchestration pod created by FIS and the ephemeral containers. Possible values are privileged
, baseline
and restricted
. This action is compatible with all policy levels.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Deletes the target pods. For more information, see EKS Pod actions.
Resource typeaws:eks:pod
gracePeriodSeconds â Optional. The duration, in seconds, to wait for the pod to terminate gracefully. If the value is 0, we perform the action immediately. If the value is nil, we use the default grace period for the pod.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
fisPodSecurityPolicy â Optional. The Kubernetes Security Standards policy to use for the fault orchestration pod created by FIS and the ephemeral containers. Possible values are privileged
, baseline
and restricted
. This action is compatible with all policy levels.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Runs I/O stress on the target pods. For more information, see EKS Pod actions.
Resource typeaws:eks:pod
duration â The duration of the stress test, in ISO 8601 format.
workers â Optional. The number of workers. Workers perform a mix of sequential, random, and memory-mapped read/write operations, forced synchronizing, and cache dropping. Multiple child processes perform different I/O operations on the same file. The default is 1.
percent â Optional. The percentage of free space on the file system to use during the stress test. The default is 80%.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
fisPodSecurityPolicy â Optional. The Kubernetes Security Standards policy to use for the fault orchestration pod created by FIS and the ephemeral containers. Possible values are privileged
, baseline
and restricted
. This action is compatible with all policy levels.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Runs memory stress on the target pods. For more information, see EKS Pod actions.
Resource typeaws:eks:pod
duration â The duration of the stress test, in ISO 8601 format.
workers â Optional. The number of stressors to use. The default is 1.
percent â Optional. The percentage of virtual memory to use during the stress test. The default is 80%.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
fisPodSecurityPolicy â Optional. The Kubernetes Security Standards policy to use for the fault orchestration pod created by FIS and the ephemeral containers. Possible values are privileged
, baseline
and restricted
. This action is compatible with all policy levels.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Drops inbound or outbound traffic for the specified protocol and port. Only compatible with the Kubernetes Security Standards privileged
policy. For more information, see EKS Pod actions.
aws:eks:pod
duration â The duration of the test, in ISO 8601 format.
protocol â The protocol. The possible values are tcp
and udp
.
trafficType â The type of traffic. The possible values are ingress
and egress
.
port â The port number.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Adds latency and jitter to the network interface using the tc tool for traffic to or from specific sources. Only compatible with the Kubernetes Security Standards privileged
policy. For more information, see EKS Pod actions.
aws:eks:pod
duration â The duration of the test, in ISO 8601 format.
interface â Optional. The network interface. The default is eth0
.
delayMilliseconds â Optional. The delay, in milliseconds. The default is 200.
jitterMilliseconds â Optional. The jitter, in milliseconds. The default is 10.
sources â Optional. The sources, separated by commas, without spaces. The possible values are: an IPv4 address, an IPv4 CIDR block, a domain name, DYNAMODB
, and S3
. If you specify DYNAMODB
or S3
, this applies only to the Regional endpoint in the current Region. The default is 0.0.0.0/0, which matches all IPv4 traffic.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Adds packet loss to the network interface using the tc tool. Only compatible with the Kubernetes Security Standards privileged
policy. For more information, see EKS Pod actions.
aws:eks:pod
duration â The duration of the test, in ISO 8601 format.
interface â Optional. The network interface. The default is eth0
.
lossPercent â Optional. The percentage of packet loss. The default is 7%.
sources â Optional. The sources, separated by commas, without spaces. The possible values are: an IPv4 address, an IPv4 CIDR block, a domain name, DYNAMODB
, and S3
. If you specify DYNAMODB
or S3
, this applies only to the Regional endpoint in the current Region. The default is 0.0.0.0/0, which matches all IPv4 traffic.
kubernetesServiceAccount â The Kubernetes service account. For information about the required permissions, see Configure the Kubernetes service account.
fisPodContainerImage â Optional. The container image used to create the fault injector pod. The default is to use the images provided by AWS FIS. For more information, see Pod container images.
maxErrorsPercent â Optional. The percentage of targets that can fail before the fault injection fails. The default is 0.
fisPodLabels â Optional. The Kubernetes labels that are attached to the fault orchestration pod created by FIS.
fisPodAnnotations â Optional. The Kubernetes annotations that are attached to the fault orchestration pod created by FIS.
eks:DescribeCluster
ec2:DescribeSubnets
tag:GetResources
Runs the Amazon EC2 API action TerminateInstances on the target node group. Only compatible with Amazon EKS managed node groups. Self-managed node groups are not supported. For more information, see EKS manage compute.
Resource typeaws:eks:nodegroup
instanceTerminationPercentage â The percentage (1-100) of instances to terminate.
ec2:DescribeInstances
ec2:TerminateInstances
eks:DescribeNodegroup
tag:GetResources
AWS FIS supports the following ElastiCache action.
aws:elasticache:replicationgroup-interrupt-az-powerInterrupts power to nodes in the specified Availability Zone for target ElastiCache replication groups with Multi-AZ enabled. Only one Availability Zone per replication group can be impacted at a time. When a primary node is targeted, the corresponding read replica with the least replication lag is promoted to primary. Read replica replacements in the specified Availability Zone are blocked for the duration of this action, which means that target Replication Groups operate with reduced capacity. The target for this action supports both Redis and Valkey engines. The action does not support the "serverless" deployment option.
Resource typeaws:elasticache:replicationgroup
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
elasticache:InterruptClusterAzPower
elasticache:DescribeReplicationGroups
tag:GetResources
The ElastiCache interrupt AZ power action now supports all replication group types, including Valkey and Redis. To better represent this functionality, the action has been renamed. If you are currently using aws:elasticache:interrupt-cluster-az-power
, we recommend that you migrate to the new action aws:elasticache:replicationgroup-interrupt-az-power
to take advantage of the latest features.
AWS Lambda supports the following Lambda actions
aws:lambda:invocation-add-delayDelays starting a function for a number of milliseconds that you specify. The effect of this action is similar to Lambda cold starts, but the additional time is spent as part of the billed duration and is applied to all execution environments rather than only affecting new execution environments. This means that you may experience both a Lambda cold start and this delay. By setting a latency value higher than the timeout configured on the Lambda function, this action will also provide access to a high fidelity timeout event.
Resource typeaws:lambda:function
duration â The length of time that the action lasts. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
invocationPercentage â Optional. The percentage (1-100) of function invocations to inject the fault into. The default is 100.
startupDelayMilliseconds â Optional. The amount of time in milliseconds (0-900,000) to wait between invocation and execution of function code. The default is 1000.
s3:PutObject
s3:DeleteObject
lambda:GetFunction
tag:GetResources
Marks Lambda function invocations as failed. This action is useful for testing error handling mechanisms, such as alarms and retry configurations. While using this action, you select whether or not to run the function code before returning an error.
Resource typeaws:lambda:function
duration â The length of time that the action lasts. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
invocationPercentage â Optional. The percentage (1-100) of function invocations to inject the fault into. The default is 100.
preventExecution â If the value is true, the action will return the error without executing the function.
s3:PutObject
s3:DeleteObject
lambda:GetFunction
tag:GetResources
Modifies the behavior of the function. You select a content type and HTTP response code to support integrations with ALB, API-GW and VPC Lattice. To enable selectively impacting upstream or downstream integrations, you can choose whether to directly return the modified response or whether to run the function and replace the response after the function finishes execution.
Resource typeaws:lambda:function
contentTypeHeader â String value of HTTP content type header to return from Lambda function.
duration â The length of time that the action lasts. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
invocationPercentage â Optional. The percentage (1-100) of function invocations to inject the fault into. The default is 100.
preventExecution â If the value is true, the action will return the response without executing the function.
statusCode â Value of HTTP status code (000-999) to return from Lambda function.
s3:PutObject
s3:DeleteObject
lambda:GetFunction
tag:GetResources
AWS FIS supports the following MemoryDB action.
aws:memorydb:multi-region-cluster-pause-replicationPauses the replication between one regional cluster and all other regional clusters within the multi-Region cluster. The regional cluster targeted is the cluster in the Region where the FIS experiment is running. While the replication is paused, the multi-Region cluster cannot be updated. Once the action completes, it may take a few minutes for the multi-Region cluster to return to an available state. To learn more about Amazon MemoryDB Multi-Region, see the Amazon MemoryDB Multi-Region Developer Guide. For Region availability, see MemoryDB Multi-Region Prerequisites and limitations.
Resource typeaws:memorydb:multi-region-cluster
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
memorydb:DescribeMultiRegionClusters
memorydb:PauseMultiRegionClusterReplication
tag:GetResources
AWS FIS supports the following network actions.
aws:network:disrupt-connectivityDenies the specified traffic to the target subnets by temporarily cloning the original network access control list (network ACL) associated with the targeted subnet. FIS adds deny rules to the cloned network ACL, which has a tag managedbyFIS=true, and associates it with the subnet for the duration of the action. At action completion, FIS deletes the cloned network ACL and restores the original network ACL association.
Resource typeaws:ec2:subnet
scope â The type of traffic to deny. When the scope is not all
, the maximum number of entries in network ACLs is 20. The possible values are:
all
â Denies all traffic entering and leaving the subnet. Note that this option allows intra-subnet traffic, including traffic to and from network interfaces in the subnet.
availability-zone
â Denies intra-VPC traffic to and from subnets in other Availability Zones. The maximum number of subnets that can be targeted in a VPC is 30.
dynamodb
â Denies traffic to and from the Regional endpoint for DynamoDB in the current Region.
prefix-list
â Denies traffic to and from the specified prefix list.
s3
â Denies traffic to and from the Regional endpoint for Amazon S3 in the current Region.
vpc
â Denies traffic entering and leaving the VPC.
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
prefixListIdentifier â If the scope is prefix-list
, this is the identifier of the customer managed prefix list. You can specify a name, an ID, or an ARN. The prefix list can have at most 10 entries.
ec2:CreateNetworkAcl
â Creates the network ACL with the tag managedByFIS=true.
ec2:CreateNetworkAclEntry
â The network ACL must have the tag managedByFIS=true.
ec2:CreateTags
ec2:DeleteNetworkAcl
â The network ACL must have the tag managedByFIS=true.
ec2:DescribeManagedPrefixLists
ec2:DescribeNetworkAcls
ec2:DescribeSubnets
ec2:DescribeVpcs
ec2:GetManagedPrefixListEntries
ec2:ReplaceNetworkAclAssociation
Blocks traffic that originates in the target subnets and is destined for the specified Region. Creates route tables that include all routes for the Region to isolate. To allow FIS to create these route tables, raise the Amazon VPC quota for routes per route table
to 250 plus the number of routes in your existing route tables.
aws:ec2:subnet
region
â The code of the Region to isolate (for example, eu-west-1).
duration
â The length of time the action lasts. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
ec2:AssociateRouteTable
ec2:CreateManagedPrefixList
â
ec2:CreateNetworkInterface
â
ec2:CreateRoute
â
ec2:CreateRouteTable
â
ec2:CreateTags
â
ec2:DeleteManagedPrefixList
â
ec2:DeleteNetworkInterface
â
ec2:DeleteRouteTable
â
ec2:DescribeManagedPrefixLists
ec2:DescribeNetworkInterfaces
ec2:DescribeRouteTables
ec2:DescribeSubnets
ec2:DescribeVpcPeeringConnections
ec2:DescribeVpcs
ec2:DisassociateRouteTable
ec2:GetManagedPrefixListEntries
ec2:ModifyManagedPrefixList
â
ec2:ModifyVpcEndpoint
ec2:ReplaceRouteTableAssociation
â Scoped using the tag managedByFIS=true. You do not need to manage this tag. AWS FIS adds and removes this tag during the experiment.
aws:network:transit-gateway-disrupt-cross-region-connectivityBlocks traffic from the target transit gateway peering attachments that is destined for the specified Region.
Resource typeaws:ec2:transit-gateway
region
â The code of the Region to isolate (for example, eu-west-1).
duration
â The length of time the action lasts. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
ec2:AssociateTransitGatewayRouteTable
ec2:DescribeTransitGatewayAttachments
ec2:DescribeTransitGatewayPeeringAttachments
ec2:DescribeTransitGateways
ec2:DisassociateTransitGatewayRouteTable
AWS FIS supports the following Amazon RDS actions.
aws:rds:failover-db-clusterRuns the Amazon RDS API action FailoverDBCluster on the target Aurora DB cluster.
Resource typeaws:rds:cluster
rds:FailoverDBCluster
rds:DescribeDBClusters
tag:GetResources
Runs the Amazon RDS API action RebootDBInstance on the target DB instance.
ParametersforceFailover â Optional. If the value is true, and if instances are Multi-AZ, forces failover from one Availability Zone to another. The default is false.
rds:RebootDBInstance
rds:DescribeDBInstances
tag:GetResources
AWS FIS supports the following Amazon S3 action.
aws:s3:bucket-pause-replicationPauses replication from target source buckets to destination buckets. Destination buckets can be in different AWS Regions or within the same Region as the source bucket. Existing objects may continue to be replicated for up to one hour after action begins. This action only supports targeting by tags. To learn more about Amazon S3 Replication, see the Amazon S3 user guide.
Resource typeaws:s3:bucket
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
region â The AWS region where destination buckets are located.
destinationBuckets â Optional. Comma separated list of destination S3 bucket(s).
prefixes â Optional. Comma separated list of S3 object key prefixes from replication rule filters. Replication rules of target buckets with a filter based on the prefix(es) will be paused.
S3:PutReplicationConfiguration
with condition key S3:IsReplicationPauseRequest
set to True
S3:GetReplicationConfiguration
with condition key S3:IsReplicationPauseRequest
set to True
S3:PauseReplication
S3:ListAllMyBuckets
tag:GetResources
For an example policy, see Example: Use condition keys for aws:s3:bucket-pause-replication.
Systems Manager actionsAWS FIS supports the following Systems Manager actions.
aws:ssm:send-commandRuns the Systems Manager API action SendCommand on the target EC2 instances. The Systems Manager document (SSM document) defines the actions that Systems Manager performs on your instances. For more information, see Use the aws:ssm:send-command action.
Resource typeaws:ec2:instance
documentArn â The Amazon Resource Name (ARN) of the document. In the console, this parameter is completed for you if you choose a value from Action type that corresponds to one of the pre-configured AWS FIS SSM documents.
documentVersion â Optional. The version of the document. If empty, the default version runs.
documentParameters â Conditional. The required and optional parameters that the document accepts. The format is a JSON object with keys that are strings and values that are either strings or arrays of strings.
duration â The duration, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
ssm:SendCommand
ssm:ListCommands
ssm:CancelCommand
Runs the Systems Manager API action StartAutomationExecution.
ParametersdocumentArn â The Amazon Resource Name (ARN) of the automation document.
documentVersion â Optional. The version of the document. If empty, the default version runs.
documentParameters â Conditional. The required and optional parameters that the document accepts. The format is a JSON object with keys that are strings and values that are either strings or arrays of strings.
maxDuration â The maximum time allowed for the automation execution to complete, from one minute to 12 hours. In the AWS FIS API, the value is a string in ISO 8601 format. For example, PT1M represents one minute. In the AWS FIS console, you enter the number of seconds, minutes, or hours.
ssm:GetAutomationExecution
ssm:StartAutomationExecution
ssm:StopAutomationExecution
iam:PassRole
â Optional. Required if the automation document assumes a role.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4