Experiment Matrix
| Experiment | Description | Target Services |
|---|---|---|
| EC2 Instance Termination | Terminate an EC2 instance managed by an Auto Scaling group | EC2, Auto Scaling |
| EC2 Disk-Fill Simulation | Simulate disk‐fill on an EC2 instance fronted by a load balancer in EKS | EC2, EKS, ELB |
| Aurora Reader Node Reboot | Reboot a reader node in an Amazon Aurora cluster | Amazon Aurora |
| High I/O on ECS Fargate | Generate heavy I/O load on an ECS Fargate task | Amazon ECS (Fargate) |
| High I/O on EKS Node | Stress the I/O on an EKS worker node | Amazon EKS |
| Pod Deletion on EKS | Delete a running pod in an EKS cluster | Amazon EKS |
| Availability Zone Outage | Simulate an AZ-wide power interruption | EC2, Auto Scaling, Networking |
1. EC2 Instance Termination
Terminate a specific EC2 instance in an Auto Scaling group to verify that new instances launch automatically and service availability is preserved.Make sure your Auto Scaling group has a minimum capacity greater than zero. Otherwise, FIS won’t be able to replace the terminated instance.
2. EC2 Disk-Fill Simulation
Fill up the root volume on an EC2 instance behind a load balancer in an EKS worker node. This test reveals how your EKS pods behave under disk pressure.3. Aurora Reader Node Reboot
Reboot a reader node in your Amazon Aurora cluster to measure how fast failover completes and how the application handles transient database unavailability.Avoid running this experiment during peak traffic unless you have a multi-AZ Aurora cluster and automated failover enabled.
4. High I/O on ECS Fargate
Generate sustained I/O stress on a Fargate task to observe CPU throttling, task restarts, and overall service degradation.5. High I/O on EKS Node
Apply heavy I/O load on an EKS worker node to test pod eviction, node replacement, and auto scaling behaviors.6. Pod Deletion on EKS
Select and delete a live pod in your EKS cluster to validate Kubernetes self-healing—pods should restart automatically to maintain desired state.Use labels or selectors to target a specific pod group. For example:
kubectl delete pod -l app=web -n production