Note: Please go to docs.rightscale.com to access the current RightScale documentation set. Also, feel free to Chat with us!
Home > ServerTemplates > Archive > 11H1 > References > RightScale Load Balancer with Apache and HAProxy - 11H1

RightScale Load Balancer with Apache and HAProxy - 11H1

Table of Contents

  1. Info
  2. Images
  3. Scripts
  4. Inputs
  5. Revision History
  6. See also

Info

Current Revision: 9
MultiCloud Marketplace: https://www.rightscale.com/library/server_templates/RightScale-Load-Balancer-with-/18192

  • Description - Dedicated load balancer server with Apache and HAProxy. No 'application' processing is installed. The server acts as a load balancer that forwards requests to the registered backend application servers. All requests are forwarded to separate application servers that are dynamically registered with this load balancer at boot time. Can be configured for HTTPS (SSL).
  • Supported Clouds - AWS US-East, AWS EU, AWS AP-Singapore, AWS AP-Tokyo, AWS US-West

Images

The following MultiCloud Images (MCIs) are used by the ServerTemplate. The MCIs determine which operating systems and clouds are supported.

MultiCloud Images

  • RightImage_CentOS_5.4_x64_v5.6 - 11H1
    • AWS US-East, AWS EU, AWS AP-Singapore, AWS AP-Tokyo, AWS US-West
  • RightImage_CentOS_5.4_i386_v5.6 - 11H1
    • AWS US-East, AWS EU, AWS AP-Singapore, AWS AP-Tokyo, AWS US-West
  • RightImage_Ubuntu_10.04_i386_v5.6 - 11H1
    • AWS US-East, AWS EU, AWS AP-Singapore, AWS AP-Tokyo, AWS US-West
  • RightImage_Ubuntu_10.04_x64_v5.6 - 11H1
    • AWS US-East, AWS EU, AWS AP-Singapore, AWS AP-Tokyo, AWS US-West

Scripts

Inputs

ADMIN_EMAIL

The email address that Apache uses to send administrative mail (set in /etc/httpd/conf/httpd.conf). By setting it to root@localhost.com emails are saved on the server. You can use your own email address, but your spam filters might block them because reverse DNS lookup will show a mismatch between EC2 and your domain.

APACHE_MPM

Can be set to "worker" or "prefork" and defines the setting in httpd.conf. Use "worker" for Rails/Tomcat/Standalone frontends and "prefork" for PHP.

APPLICATION

Sets the directory for your application's web files (/home/webapps/APPLICATION/current/). If you have multiple applications, you can run the code checkout script multiple times, each with a different value for APPLICATION, so each application will be stored in a unique directory. This must be a valid directory name. Do not use symbols in the name.

HEALTH_CHECK_URI

The URI of the health check page, which is used by HAProxy for checking whether the site is up or not. You must create your own health check page, which returns HTTP 200 OK. The contents of the page are not relevant but its name should be unique (preferably a random number). The same page will be used by the load balancers to determine which application servers are "up" and capable of handling requests. For example, if you use '/hlthchk378923.html' (Note: be sure to include the slash before the filename), the health check page would be 'http://www.mydomain.com:80/hlthchk378923.html' and its content could be as simple as "OK."

LB_APPLISTENER_NAME

Sets the name of the HAProxy load balance pool on frontends in /etc/haproxy/haproxy.cfg. Application severs will join this load balance pool by using this name. Ex: www

LB_BIND_ADDRESS

The IP address that HAProxy will be listening on. Normally, it should be set to localhost. Ex: 127.0.0.1

LB_BIND_PORT

The port number that HAProxy will be listening on. Normally, it's set to 85. If you have multiple load balance pools, each pool must be assigned to a different port. Ex: 85

LB_HOSTNAME

The fully qualified hostname of all the servers that have HAProxy installed on them for load balancing purposes. For example, if www.domain.com has two dedicated load balancers with HAProxy installed on them, you would enter www.domain.com as the LB_HOSTNAME. It is necessary that these hosts be registered with DNS with matching A Records so that the application servers will be able to connect to and disconnect from all the HAProxy servers and update their configuration files. Ex: www.domain.com

LB_TEMPLATE_NAME

The name of the base HAProxy configuration file that will be used. This file will be modified according to the defined inputs. The current values are: haproxy_fullssl, haproxy_http, and haproxy_tcp. Ex: haproxy_http

MON_PROCESSES

A space-separated list of additional processes to monitor in the RightScale Dashboard. Ex: sshd crond

MON_PROCESSMATCH

A space-separated list of pairs used to match the name(s) of additional processes to monitor in the RightScale Dashboard. Pair arguments are passed in using the syntax 'name/regex'. Ex: ssh/ssh* cron/cron*

OPT_HAPROXY_COLLECTD_INTERVAL

The time interval (in seconds) that collectd uses to poll HAProxy for statistics. Default: 60

OPT_LB_STATS_PASSWORD

The password to access the HAProxy statistic report page.

OPT_LB_STATS_URI

The URI for the HAProxy statistic report page, which lists the current session, queued session, response error, health check error, server status, etc., for each HAProxy group. Ex: /haproxy-status

OPT_LB_STATS_USER

The username to access the HAProxy statistic report page.

OPT_MAINTENANCE_PAGE

Optional path for a maintenance page, relative to document root (i.e., "".../current/public""). The file must exist in the subtree of the vhost, which will be served by the web server if it's present. If ignored, it will default to '/system/maintenance.html'.

PRIVATE_SSH_KEY

The private SSH Key of another instance that gets installed on this instance. It allows this instance to SSH into another instance to update the configuration files. Select input type "key" from the dropdown and then select an SSH key that is installed on the other instance. You must select an SSH Key where its private material is available.

SERVER_UUID

A value of 'env:RS_INSTANCE_UUID' is required for proper RightScale monitoring and logging.

SKETCHY

A value of 'env:RS_SKETCHY' is required to use RightScale monitoring servers.

SYSLOG_SERVER

The hostname of the syslog server where log files will be sent. This input should be set to 'env:RS_SYSLOG' so that you can view your log files in the Dashboard.

SYS_TZINFO

Sets the system time to the timezone of the specified input, which must be a valid zoneinfo/tz database entry. If the input is 'unset' the timezone will use the 'localtime' that's defined in your RightScale account under Settings > User > Preferences tab. You can find a list of valid examples from the timezone pulldown bar in the Preferences tab. Ex: US/Pacific, US/Eastern

WEBSITE_DNS

The fully qualified domain name that the server will accept traffic for. Ex: www.mydomain.com

Revision History

Revision Date Published Description of Changes Known Issues
9 March 22, 2011 Initial Release - 11H1  

You must to post a comment.
Last modified
23:31, 16 May 2013

Tags

This page has no custom tags.

Classifications

This page has no classifications.

Announcements

None


© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.