Chaos Engineering with AWS Fault Injection Simulator (FIS)
These templates let you perform fault injection experiments on resources (applications, network, and infrastructure) in the AWS Cloud.
- 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
- What is AWS Fault Injection Simulator?
- Experiment templates for AWS FIS
- How AWS Fault Injection Simulator works with IAM
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.