Preparation for Failure Injection

Failure injection (also known as chaos testing) is an effective and essential method to validate and understand the resiliency of your workload and is a recommended practice of the AWS Well-Architected Reliability Pillar . Here you will initiate various failure scenarios and assess how your system reacts.

Preparation

Before testing, please prepare the following:

  1. Region must be Ohio

    • We will be using the AWS Console to assess the impact of our testing

    • Throughout this lab, make sure you are in the Ohio region

      SelectOhio

  2. Get VPC ID

    • A VPC (Amazon Virtual Private Cloud) is a logically isolated section of the AWS Cloud where you have deployed the resources for your service
    • For these tests you will need to know the VPC ID of the VPC you created as part of deploying the service
    • Navigate to the VPC management console: https://console.aws.amazon.com/vpc
    • In the left pane, click Your VPCs
    • 1 - Tick the checkbox next to ResiliencyVPC
    • 2 - Copy the VPC ID

    GetVpcId

    • Save the VPC ID - you will use later whenever <vpc-id> is indicated in a command
  3. Get familiar with the service website

    1. Point a web browser at the URL you saved from earlier. (If you do not recall this, then see these instructions )
    2. Note the availability_zone and instance_id
    3. Refresh the website several times watching these values
    4. Note the values change. You have deployed one web server per each of three Availability Zones.
      • The AWS Elastic Load Balancer (ELB) sends your request to any of these three healthy instances.
      • Refer to the diagram at the start of this Lab Guide to review your deployed system architecture.
    Availability Zones (AZs) are isolated sets of resources within a region, each with redundant power, networking, and connectivity, housed in separate facilities. Each Availability Zone is isolated, but the Availability Zones in a Region are connected through low-latency links. AWS provides you with the flexibility to place instances and store data across multiple Availability Zones within each AWS Region for high resiliency.
    Learn more: After the lab see this whitepaper on regions and availability zones