Simulate AWS Faults

    AWSChaos can help you simulate fault scenarios on the specified AWS instance. Currently, AWSChaos supports the following fault types:

    • EC2 Stop: stops the specified EC2 instance.
    • Detach Volume: uninstalls the storage volume from the specified EC2 instance.

    To easily connect to the AWS cluster, you can create a Kubernetes Secret file to store the authentication information in advance.

    A Secret file sample is as follows:

    • name means the Kubernetes Secret object.
    • namespace means the namespace of the Kubernetes Secret object.
    • aws_access_key_id stores the ID of the access key to the AWS cluster.
    • aws_secret_access_key stores the secrete access key to the AWS cluster.

    note

    Before you create an experiment using Chaos Dashboard, make sure the following requirements are met:

    1. Chaos Dashboard is installed.

    2. Chaos Dashboard can be accessed via kubectl port-forward:

      1. kubectl port-forward -n chaos-mesh svc/chaos-dashboard 2333:2333

      Then you can access the dashboard via in your browser.

    3. img

    4. Fill out the experiment information, and specify the experiment scope and the scheduled experiment duration.

    5. Submit the experiment information.

    1. Write the experiment configuration to the awschaos-ec2-stop.yaml file, as shown below:

      Based on this configuration example, Chaos Mesh will inject the ec2-stop fault into the specified EC2 instance so that the EC2 instance will be unavailable in 5 minutes.

      For more information about stopping EC2 instances, refer to AWS documentation - Stop and start your instance.

    2. After the configuration file is prepared, use kubectl to create an experiment:

    1. Based on this configuration example, Chaos Mesh will inject ec2-restart fault into the specified EC2 instance so that the EC2 instance will be restarted.

      For more information about restarting the EC2 instance, refer to the AWS documentation - Reboot your instance.

    2. After the configuration file is prepared, use kubectl to create an experiment:

      1. kubectl apply -f awschaos-ec2-restart.yaml
    1. Write the experiment configuration to the awschaos-detach-volume.yaml file:

      Based on this configuration example, Chaos Mesh will inject a detail-volume fault into the specified EC2 instance so that the EC2 instance is detached from the specified storage volume within 5 minutes.

      For more information about detaching Amazon EBS volumes, refer to the AWS documentation - Detach an Amazon EBS volume from a Linux instance.

    The following table shows the fields in the YAML configuration file.