Level 300: Implementing Health Checks and Managing Dependencies to improve Reliability

Author

  • Seth Eliot, Principal Reliability Solutions Architect, AWS Well-Architected

Introduction

This hands-on lab will guide you through the steps to improve reliability of a service by decoupling service dependencies, using health checks, and demonstrating when to use fail-open and fail-closed behaviors.

The skills you learn will help you build resilient workloads in alignment with the AWS Well-Architected Framework

ArchitectureOverview_small

Amazon Builders' Library

This lab additionally illustrates best practices as described in the Amazon Builders' Library article: Implementing health checks

Goals

After you have completed this lab, you will be able to:

  • Implement graceful degradation to transform applicable hard dependencies into soft dependencies
  • Monitor all layers of the workload to detect failures
  • Route traffic only to healthy application instances
  • Configure fail-open and fail-closed behaviors as appropriate in response to detected faults
  • Use AWS services to reduce mean time to recovery (MTTR)

Prerequisites

If you are running this at an AWS sponsored workshop then you may be provided with an AWS Account to use, in which case the following pre-requisites will be satisfied by the provided AWS account. If you are running this using your own AWS Account, then please note the following prerequisites:

  • An AWS Account that you are able to use for testing. This account MUST NOT be used for production or other purposes.
  • An Identity and Access Management (IAM) user or federated credentials into that account that has permissions to create Amazon Virtual Private Cloud(s) (VPCs), including subnets and route tables, Security Groups, Internet Gateways, NAT Gateways, Elastic IP Addresses, IAM Roles, instance profiles, AWS Auto Scaling launch configurations, Application Load Balancers, Auto Scaling Groups, DynamoDB tables, SSM Parameters, and EC2 instances.

Steps:

Costs

NOTE: You will be billed for any applicable AWS resources used if you complete this lab that are not covered in the AWS Free Tier.

  • This lab will cost approximately $5.50 per day when deployed
  • The majority of this cost is the charge for NatGateway-Hours
  • Please follow the directions for Tear Down to avoid unwanted costs after you have concluded this lab