What is AWS Fault Injection Simulator? - AWS Fault Injection Simulator

What is AWS Fault Injection Simulator?

AWS Fault Injection Simulator (AWS FIS) is a managed service that enables you to perform fault injection experiments on your AWS workloads. Fault injection is based on the principles of chaos engineering. These experiments stress an application by creating disruptive events so that you can observe how your application responds. You can then use this information to improve the performance and resiliency of your applications so that they behave as expected.

To use AWS FIS, you set up and run experiments that help you create the real-world conditions needed to uncover application issues that can be difficult to find otherwise. AWS FIS provides templates that generate disruptions, and the controls and guardrails that you need to run experiments in production, such as automatically rolling back or stopping the experiment if specific conditions are met.

Important

AWS FIS carries out real actions on real AWS resources in your system. Therefore, before you use AWS FIS to run experiments in production, we strongly recommend that you complete a planning phase and run the experiments in a pre-production environment.

For more information about planning your experiment, see Test Reliability and Plan for experiments. For more information about AWS FIS, see AWS Fault Injection Simulator.

AWS FIS concepts

To use AWS FIS, you run experiments on your AWS resources to test your theory of how an application or system will perform under fault conditions. To run experiments, you first create an experiment template. An experiment template is the blueprint of your experiment. It contains the actions, targets, and stop conditions for the experiment. After you create an experiment template, you can use it to run an experiment. While your experiment is running, you can track its progress and view its status. An experiment is complete when all of the actions in the experiment have run.


                 The components of an experiment template

Actions

An action is an activity that AWS FIS performs on an AWS resource during an experiment. AWS FIS provides a set of preconfigured actions based on the type of AWS resource. Each action runs for a specified duration during an experiment, or until you stop the experiment. Actions can run sequentially or simultaneously (in parallel).

Targets

A target is one or more AWS resources on which AWS FIS performs an action during an experiment. You can choose specific resources, or you can select a group of resources based on specific criteria, such as tags or state.

Stop conditions

AWS FIS provides the controls and guardrails that you need to run experiments safely on your AWS workloads. A stop condition is a mechanism to stop an experiment if it reaches a threshold that you define as an Amazon CloudWatch alarm. If a stop condition is triggered while the experiment is running, AWS FIS stops the experiment.

AWS FIS actions and supported AWS services

AWS FIS provides preconfigured actions for specific types of targets across AWS services. For more information, see Actions for AWS FIS.

AWS FIS supports actions for target resources for the following AWS services:

  • Amazon Elastic Compute Cloud (Amazon EC2)

  • Amazon Elastic Container Service (Amazon ECS)

  • Amazon Elastic Kubernetes Service (Amazon EKS)

  • Amazon Relational Database Service (Amazon RDS)

AWS FIS access

You can work with AWS FIS in any of the following ways:

  • AWS Management Console — Provides a web interface that you can use to access AWS FIS. For more information, see Working with the AWS Management Console.

  • AWS Command Line Interface (AWS CLI) — Provides commands for a broad set of AWS services, including AWS FIS, and is supported on Windows, macOS, and Linux. For more information, see AWS Command Line Interface.

  • AWS SDKs — Provides language-specific APIs and takes care of many of the connection details, such as calculating signatures, handling request retries, and handling errors. For more information, see AWS SDKs.

  • HTTPS API — Provides low-level API actions that you can call using HTTPS requests. For more information, see the AWS Fault Injection Simulator API Reference.

Pricing

You are charged per minute that an action runs, from start to finish. For more information, see AWS FIS Pricing.