Chaos Engineering with AWS Fault Injection Simulator (FIS)
FIS Experiment Templates.
Collection ofThese templates let you perform fault injection experiments on resources (applications, network, and infrastructure) in the AWS Cloud.
Currently available
- Support for Network Access Control List fault injection using custom embedded scripts via SSM Automation
- Support for Network Access Control List fault injection using custom lambda functions via SSM Automation
- Support for Stopping EC2 Instances in a particular AZ
- Support for Randomly Stopping EC2 Instances
- Support for EC2 API Throttling Error
- Support for EC2 API Internal Error
- Support for EC2 API Unavailable Error
- Support for EC2 Spot Interruption
Prerequisites:
- What is AWS Fault Injection Simulator?
- Experiment templates for AWS FIS
- How AWS Fault Injection Simulator works with IAM
Important:
Before using these templates, replace all occurences of <ACCOUNT_ID>, <INSTANCE_ID>, <IAM_ROLE>, <CLOUDWATCH_ALARM> with your own particular ones.
Upload an FIS experiment template to your AWS Account:
➜ aws fis create-experiment-template --cli-input-json fileb://fis-template.json --query experimentTemplate.id
"EXTQGczsC6CZPmHa"
Start an FIS experiment:
➜ aws fis start-experiment --experiment-template-id EXTQGczsC6CZPmHa --query experiment.id
"EXPNK1ynt3PRLCf9LN"
Stop an FIS experiment:
➜ aws fis stop-experiment --id EXPNK1ynt3PRLCf9LN
SOME WORDS OF CAUTION BEFORE YOU START USING THESE TEMPLATES:
- To begin with, DO NOT use these fault injection templates in
production blindly!! - Always review the FIS templates and the actions in them.
- Make sure your first fault injections are done in a test environment
and on test instances where no real and paying customer can
be affected. - Test, test, and test more. Remember that chaos engineering is about
breaking things in a controlled environment and through well-planned
experiments to build confidence in your application — and you own
tools — to withstand turbulent conditions.