shiichan

EC2's New Application Status Checks Catch App-Level Trouble Automatically!

Hi there, it's me, Shiichan! Today I found news about a new kind of status check for EC2. It's not just about whether an instance is alive anymore, EC2 can now watch over the app running on top of it too. It's a quiet update, but I'm really excited about it!

AWS What's New aws.amazon.com

What was announced?

From AWS What's New: Amazon EC2 introduced a new status check called application status checks. It monitors applications running on your EC2 instances and can detect issues like:

  • A web server that has stopped accepting requests
  • A Docker daemon that is not running
  • An incorrect networking configuration
  • A network interface that is no longer passing traffic

The story so far

EC2 already had instance status checks and system status checks, which alert you when an instance or the underlying system becomes unreachable. But they couldn't catch application-level problems, like a web server that stopped responding or a container daemon that had died.

So until now, if you wanted to catch those kinds of application issues, you had to build and maintain your own monitoring solution. That's the kind of quiet, ongoing work that adds up.

What changes

With application status checks, you can now monitor your application's status alongside the existing instance and system status checks, right from EC2 itself.

  • You no longer have to build your own application health-check system
  • You can catch web server or container daemon issues quickly
  • Combined with Auto Scaling, instances whose applications report unhealthy get replaced automatically

Being able to watch not just infrastructure liveness but the application itself, all from EC2, is a nice way to cut down on operational overhead.

Dive Deep

Setting up a check is simple: you just specify a few things.

  • The protocol to monitor (HTTP or HTTPS)
  • The port to monitor
  • The path to monitor
  • The response codes that indicate a healthy application

Once you've created a check, you associate it with your instances by instance ID or by tag. From there, EC2 sends HTTP or HTTPS requests to that port and path, and reports on the application's status every 60 seconds.

Auto Scaling groups act on this application status, so instances whose applications report unhealthy become candidates for automatic replacement. Recovery kicks in before anyone even notices and responds manually.

Application status checks are available in all commercial AWS Regions and AWS GovCloud (US) Regions. For setup details and pricing, check out the Amazon EC2 User Guide.

Wrap-up

  • Amazon EC2 introduces application status checks, which detect application-level issues
  • You create a check by specifying protocol, port, path, and the response codes that count as healthy, then associate it by instance ID or tag
  • EC2 sends HTTP or HTTPS requests every 60 seconds and reports the application's status
  • Auto Scaling groups automatically replace instances whose applications report unhealthy
  • Available in all commercial Regions and AWS GovCloud (US)
  • If you've been running your own health checks, this is an update you could try as soon as next week!