AWS Fault Injection Service
AWS’s managed chaos engineering service: you write an experiment template of actions, targets and stop conditions, and FIS stops instances, fails over databases, slows networks or throttles AWS APIs in your account, halting when a CloudWatch alarm fires.
- What it is
- Chaos engineering
- Type
- Managed service on AWS
- Made by
- Amazon Web Services
- License
- Proprietary
- Facts checked
- 24 October 2026
What it is
AWS FIS runs experiments against real resources in your AWS account. An experiment template names the targets (resources picked by ARN, by tag or by filters, then all of them, a count or a percentage at random), the actions to run on them, in sequence or in parallel, and the stop conditions, which are CloudWatch alarms that halt the experiment if they go off. FIS assumes an IAM role you give it, so the role limits what an experiment can touch.
Actions cover much of AWS: stopping, rebooting or terminating EC2 instances and sending Spot interruptions; stopping ECS tasks and draining container instances; deleting EKS pods and terminating node group instances; failing over RDS and Aurora clusters; pausing EBS volume I/O; pausing DynamoDB global table, MemoryDB and S3 replication; cutting subnet or cross-Region connectivity; and returning throttling, internal or unavailable errors from AWS APIs for a chosen IAM role. Inside instances and containers, CPU, memory, I/O and network faults run through Systems Manager documents or ECS and EKS actions; Lambda faults use an FIS extension attached as a layer, which adds delay or errors to a percentage of invocations. For anything else, aws:eks:inject-kubernetes-custom-resource creates Chaos Mesh or Litmus resources in an EKS cluster.
A scenario library holds prebuilt templates, such as “AZ Availability: Power Interruption”, which takes down zonal compute, subnets, EBS volumes and ElastiCache and RDS primaries in one Availability Zone. Multi-account experiments run from an orchestrator account against target accounts. FIS charges $0.10 per action-minute for each target account.
Why teams pick it
- No agents or extra infrastructure for faults that go through AWS APIs, such as instance stops, database failovers and API throttling
- Faults no outside tool can produce, such as a simulated power loss across an Availability Zone or paused DynamoDB global table replication
- Guardrails built in: an IAM role scopes each experiment, CloudWatch alarms stop it, and experiments can be scheduled or run across accounts
- Can drive Chaos Mesh or LitmusChaos inside EKS, so one template can mix AWS-level and pod-level faults
Watch out for
- AWS only: it can’t inject faults into other clouds or into on-premises systems
- In-guest faults need the Systems Manager agent on instances, and Lambda faults need a layer, an S3 configuration bucket and environment variables on every function
- The Lambda extension polls for work, so faults can take up to about 60 seconds to start, and it can’t be used with response streaming
- Billed per action-minute per account, and experiment reports cost $5 each, so long or many-account experiments add up
Alternatives
What all chaos engineering have in common →Compare side by side →How it fits with other technologies
What AWS Fault Injection Service uses
- AWS Fault Injection Servicestops, reboots and interrupts instances onAmazon EC2
- AWS Fault Injection Servicedeletes pods and node instances inAmazon EKS
- AWS Fault Injection Servicedelays or fails invocations ofAWS Lambda
- AWS Fault Injection Servicestops experiments on alarms fromAmazon CloudWatch
- AWS Fault Injection Servicecan start experiments ofChaos Mesh
- AWS Fault Injection Servicecan start experiments ofLitmusChaos
- AWS Fault Injection Servicepauses global table replication ofAmazon DynamoDB
Stop three random prod instances for two minutes, unless an alarm fires first · json
{
"description": "Stop and restart three instances with the specified tag",
"targets": {
"myInstances": {
"resourceType": "aws:ec2:instance",
"resourceTags": { "env": "prod" },
"selectionMode": "COUNT(3)"
}
},
"actions": {
"StopInstances": {
"actionId": "aws:ec2:stop-instances",
"parameters": { "startInstancesAfterDuration": "PT2M" },
"targets": { "Instances": "myInstances" }
}
},
"stopConditions": [{
"source": "aws:cloudwatch:alarm",
"value": "arn:aws:cloudwatch:us-east-1:111122223333:alarm:checkout-errors"
}],
"roleArn": "arn:aws:iam::111122223333:role/fis-experiments"
}See it in a real stack
No architecture uses AWS Fault Injection Service yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2020–2025
AWS describes chaos engineering as building on work by “Master of Disaster” Jesse Robbins in the early days of Amazon.com, later taken “into high gear” by Netflix’s Chaos Monkey. At re:Invent in December 2020 Werner Vogels pre-announced AWS Fault Injection Simulator, saying “chaos engineering is for everyone, not just shops running at Amazon or Netflix scale”. It became generally available in March 2021 with actions for EC2, ECS, EKS and RDS.
The service grew outward from there: CloudWatch alarm checks, Systems Manager Automation runbooks and I/O and network actions for EC2 in November 2021, GovCloud regions in 2022, and in November 2023 scheduled experiments, a scenario library, multi-account experiments and the Availability Zone power interruption and cross-Region connectivity scenarios. By then AWS called it AWS Fault Injection Service. Later additions include Lambda faults, experiment reports and, in November 2025, scenarios for slowdowns within and between Availability Zones.
Why it’s built this way
- Experiments as templates with stop conditions
- Jeff Barr described stop conditions as a safety mechanism that keeps a local failure from cascading into a full outage, so every experiment declares what will end it before it starts.
- Act through AWS’s own control plane
- Running inside AWS lets FIS produce failures customers can’t script themselves, such as API throttling for one IAM role or a zone-wide power loss, without installing anything for most actions.
- Plug in open-source Kubernetes tools
- Rather than reimplement every pod-level fault, FIS can create Chaos Mesh and Litmus custom resources in EKS, letting those tools do in-cluster injection.
Timeline
- 2020
Announced at re:Invent in December
- 2021
Generally available in March with EC2, ECS, EKS and RDS actions
- 2022
Available in AWS GovCloud (US)
- 2023
Scenario library, scheduled and multi-account experiments, AZ power interruption scenario
- 2025
Scenarios for application slowdown in one AZ and traffic slowdown between AZs
- AWS News Blog: AWS Fault Injection Simulator, use controlled experiments to boost resilience (Jeff Barr, Mar 15, 2021)
- AWS What’s New: General availability of AWS Fault Injection Simulator (Mar 16, 2021)
- TechCrunch: AWS introduces new chaos engineering as a service offering (Dec 15, 2020)
- AWS What’s New: AWS FIS adds CloudWatch alarms, Automation runbooks and new actions (Nov 2021)
- AWS What’s New: AWS FIS available in AWS GovCloud (US) (Jul 2022)
- AWS What’s New: AWS FIS announces scenarios and scheduled experiments (Nov 7, 2023)
- AWS What’s New: Multi-account experiments for AWS FIS (Nov 27, 2023)
- AWS What’s New: AWS FIS launches two highly requested scenarios (Nov 30, 2023)
- AWS What’s New: AWS FIS launches new test scenarios for partial failures (Nov 2025)
Sources8 · facts checked 24 October 2026
- AWS FIS User Guide: What is AWS Fault Injection Service? (templates, actions, targets, stop conditions, pricing basis)
- AWS FIS User Guide: Actions reference
- AWS FIS User Guide: Example experiment templates (EC2 by count, SSM CPU stress, API throttling, Chaos Mesh and Litmus on EKS)
- AWS FIS User Guide: Use the aws:lambda:function actions (extension layer, S3 configuration, polling, streaming limitation)
- AWS What’s New: AWS FIS launches two highly requested scenarios (AZ power interruption, cross-Region connectivity)
- AWS What’s New: Multi-account experiments for AWS FIS
- AWS FIS pricing ($0.10 per action-minute per account; $5 per experiment report)
- AWS Fault Injection Service product page
