I have been working to get our suite of web apps working on aws opsworks. They are now mostly working. Seems like a great environment! But I am wondering about the scaling, healing, and load balancing.

I am currently using one app on one stack and one layer (plus one memcached layer in some stacks)

I have set up my layers to be auto-healing. I get that if an instance fails, it will be stopped and another one will start up. For me, depending on which app is on that stack and in that layer, it will likely be 3-10 minutes before it is up.

I have set up elastic load balancers for each layer.

And I am experimenting with instances of different sizes, and with load based instances.

The question I have is how are the three related things related in aws: auto healing, load balancer, and load based instances.

Specifically, will an instance that is counted as unresponsive in the load balancer get replaced by the auto healing?

1 Answer 1


Autohealing is a feature enabled on a layer basis, for which it applies to all EC2 instances that belong to one layer. The way it works is that if the AWS OpsWorks agent that is installed on every EC2 fails to establish communication with OpsWorks, that instance is terminated and replaced.


The checks done by an Elastic Load Balancer are TCP/HTTP based, for which they test connectivity to specific ports, and the action performed by the ELB is that incoming traffic is routed to healthy instances in the layer the ELB is attached to until the unhealthy instance passes the ping test done by the ELB.


Load balanced instances are instances that are launched when load related triggers that you configure occur. For example you can configure a layer to add a new instance when incoming traffic for that layer makes online instances exceede CPU usage by 80%.

To answer your question, if an instance is considered unhealthy by an ELB, it is not replaced.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .