Code Monkey home page Code Monkey logo

chaos-ssm-documents's Introduction

Chaos Injection for AWS resources using Amazon SSM Run Command and Automation =========================================================================

Issues Maintenance Twitter

Collection of SSM Documents.

These documents let you perform chaos engineering experiments on resources (applications, network, and infrastructure) in the AWS Cloud.

SSM Automation documents:

To use SSM Automation, check the link

  • Support for (randomly) stopping EC2 instances via API
  • Support for (randomly) stopping EC2 instances via AWS Lambda
  • Support for (randomly) terminating EC2 instances via API
  • Support for detaching EBS volumes from EC2 instances via API (ec2, ebs)
  • Support for rebooting RDS instance with proper tags via API
  • Support for CPU stress scenario via Run Command

Upload an SSM Automation document:

aws ssm create-document --content --name "StopRandomInstances-API" file://stop_random_instance_api.yml --document-type "Automation" --document-format YAML

SSM Run Command documents:

To use SSM Run Command, please check this link

  • Support for latency injection using latency-stress.yml
  • Support for latency with delta stress using latency-delta-stress.yml
  • Support for CPU burn using spu-stress.yml
  • Support for IO stress using io-stress.yml
  • Support for memory stress using memory-stress.yml
  • Support for network stress using network-corruption-stress.yml
  • Support for packet Loss stress using network-loss-stress.yml
  • Support for configurable blackhole stress using blackhole-stress.yml
  • Support for blackhole S3 stress using blackhole-s3-stress.yml
  • Support for blackhole DynamoDB stress using blackhole-dynamo-stress.yml
  • Support for blackhole EC2 stress using blackhole-ec2-stress.yml
  • Support for blackhole DNS stress using blackhole-dns-stress.yml

Upload one document at a time

cd chaos-ssm-documents/automation

aws ssm create-document --content file://cpu-stress.yml --name "cpu-stress" --document-type "Command" --document-format YAML

Upload all of the SSM Documents to the AWS region of your choice

cd chaos-ssm-documents/run-command

./upload-document.sh -r eu-west-1 (or other region of your choice)

SOME WORDS OF CAUTION BEFORE YOU START BREAKING THINGS:

  • To begin with, DO NOT use these chaos injection commands in production blindly!!
  • Always review the SSM documents and the commands in them.
  • Make sure your first chaos 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.

chaos-ssm-documents's People

Contributors

adhorn avatar mperrien avatar mwarkentin avatar xbx avatar neo01124 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.