Background Information
If you are using an AWS Elastic Load Balancer (ELB) for load balancing purposes, but are launching application servers using ServerTemplates, you may be wondering how you can configure the application tier for autoscaling purposes. Similarly, you might also wonder if it is possible to use some AWS CloudWatch metrics to trigger auto-scaling in a RightScale server array.
Answer
In order to auto-scale a RightScale server array, you must use RightScale's monitoring and alert system to set up the required triggers for auto-scaling. Fortunately, support is already built into the application ServerTemplates published by 'RightScale' for autoscaling with a cloud load balancing service such as Amazon Elastic Load Balancers (ELB) or Rackspace Cloud Load Balancers (CLB). It's recommended that you either use the published ServerTemplates as-is or base your customizations off of them by cloning and modifying them for your own purposes. See one of the following tutorials for examples of how to set up a deployment of ServerTemplate-based application servers with an ELB or CLB.
Note: Similar 3 Tier tutorials are also available for LTS releases as well. See
ServerTemplates.
Once you have set up your deployment, you can set-up autoscaling by following the
Add a Scalable Application Server Array to a Deployment tutorial, which will explain how to set up an array and alerts for autoscaling.
If you already built a custom application ServerTemplate, you can still use the same tutorial because the same principles apply however, you may need to add the required "connect/disconnect" scripts. For this reason it's easier to clone and modify one of RightScale's application ServerTemplates because they already contain scripts and inputs that allow the application server to easily connect and disconnect with an ELB or CLB.
Since some of the CloudWatch metrics are aggregated or averaged values, they cannot be used by RightScale's auto-scaling feature, which relies on monitoring specified metrics on individual servers and using a voting mechanism to trigger auto-scaling events. See
Understanding the Voting Process. However, you can either use one of the supported metrics that is similar to a CloudWatch metric or create a custom collectd plug-in to add more metrics that can be monitored and used for autoscaling purposes. See
Custom collectd plug-ins.