Please use the menu below to navigate the article sections:
When you are aiming to build a highly scalable, durable and resilient cloud architecture to service your end users, it is mandatory to have multiple steps in place to enable you to understand how the health of your application changes over time, and what to do when things go wrong.
In this article, you will learn what a health check is, and learn the differences between the main health checks in the world of AWS Compute, and how you can use these health checks to build resilient and fault tolerant applications. We’ll also cover the importance of monitoring. Let’s get started with ALB health check and the Auto scaling group health check.
ALB health check and Auto scaling group health check
A highly available and reliable three tier web application infrastructure built using traditional AWS Services (namely EC2 instances and an Application Load Balancer) will be using both ALB health checks and Auto Scaling Group health checks to guarantee a high degree of insight and automation into the monitoring of the application. When you are using ALB health checks and Autoscaling group health checks, you are ensuring that the insight into your applications health and behaviour is multi-faceted.
It all starts with monitoring
Monitoring is important in AWS because it helps you ensure your resources are always available. By monitoring your resources, you can detect and diagnose issues before they become bigger problems. Additionally, monitoring enables you to get real-time insights into your resource utilization so that you can make better-informed decisions about how to optimize your usage. By taking the time to set up a comprehensive monitoring system in AWS, you can ensure the safety, availability, and performance of your cloud resources.
Monitoring is key to the success of any cloud-based operation, and AWS provides a range of tools and services to help you monitor your resources – like the health checks which are built into the AWS tools. You can use these tools to set up alerts, visualize resource usage, and create custom metrics that are tailored to your particular environment. With these tools in place, you will be able to quickly identify potential problems before they become bigger issues. Additionally, monitoring helps you ensure that your costs stay within budget by giving you visibility into how much money is being spent on each resource.
By leveraging the power of monitoring in AWS, you can ensure that your critical resources are always available, secure, and performing optimally. This will enable you to get more out of your cloud investment while keeping your costs in check. Monitoring is an essential part of any cloud-based operation and should not be overlooked.
What is a health check?
Both AWS EC2 Autoscaling and the Elastic Load Balancers (ELB) provide health checks for your resources. However, the way health checks are performed and the information that is reported back to you differs between the two services.
AWS ELB provides health checks for your instances by making a request to the HTTP or HTTPS port on your instances (users port 80 or port 443). If the instance responds with an HTTP status code of 2xx or 3xx, the instance is considered healthy. If the instance does not respond or responds with an HTTP status code of 4xx or 5xx, the instance is considered unhealthy. AWS ELB also provides information about the response time for each health check.
AWS Autoscaling performs health checks for your resources by making a request to the HTTP or HTTPS port on your instances. If the instance responds with an HTTP status code of 2xx or 3xx, the instance is considered healthy. If the instance does not respond or responds with an HTTP status code of 4xx or 5xx, the instance is considered unhealthy and will be terminated. AWS Autoscaling does not provide information about the response time for each health check.
The main difference between the two services is that AWS ELB provides more detailed information about the health of your instances while AWS Autoscaling just provides a basic indication of whether an instance is healthy or not. For most users, AWS ELB will be the preferred choice for monitoring the health of their instances. However, if you need to quickly identify problems with your instances and take corrective action, then AWS Autoscaling might be a better choice.
Both services provide an important service for monitoring the health of your resources but depending on your needs, one might be more suitable than the other. It is important to understand the differences between them and choose the right one for your particular requirements.
Auto Scaling vs ELB health checks
There are two types of health checks for your servers in AWS – autoscaling health checks and ELB health checks. Autoscaling health checks happen when your server is added to or removed from an autoscaling group. ELB health checks happen when your server is attached to or detached from an ELB.
Autoscaling health checks are used to determine if a newly added or removed instance is healthy and ready to be part of the autoscaling group. ELB health checks are used to ensure that an attached instance continues to be able to service requests from clients.
The main difference between autoscaling health checks and ELB health checks lies in their purpose. Autoscaling health checks are periodically run on all instances within an autoscaling group, whereas ELB health checks happen only when an instance is added or removed from an ELB. Autoscaling health checks are focused on ensuring new instances can join the autoscaling group without any problems, while ELB health checks focus on ensuring existing instances continue to service requests from clients.
Autoscaling health checks are also more configurable than ELB health checks. Autoscaling health checks can be configured to use HTTP or TCP ports and require that all responses from the instance match expected values. ELB health checks do not have this level of flexibility and instead rely on ping requests sent to an EC2 instance’s IP address to determine if the instance is healthy or not.
Overall, autoscaling health checks and ELB health checks are two essential tools for ensuring your applications stay up and running in AWS. Autoscaling health checks help ensure newly added instances can join an autoscaling group without any issues, while ELB health checks make sure existing instances continue to service requests from clients. Both are important for maintaining the health of your application.
Learn how to Master the Cloud
AWS Training – Our popular AWS training will maximize your chances of passing your AWS certification the first time.
Membership – For unlimited access to our entire cloud training catalog, enroll in our monthly or annual membership program.
Challenge Labs – Build hands-on cloud skills in a secure sandbox environment. Learn, build, test and fail forward without risking unexpected cloud bills.