Table of Contents | |||
Long Term Support Stable, tested ServerTemplate assets |
|
Current revision: 2
Date published: 2013/08/30 20:23:24 +0000
MultiCloud Marketplace: http://www.rightscale.com/library/se.../lineage/44261
This ServerTemplate is on the LTS Lineage. For the latest Infinity version, see the Infinity Lineage For a description of the Infinity and LTS lineages, see ServerTemplate Release Methodology This ServerTemplate configures a Rails application server with the Apache HTTP Server running Phusion Passenger. It is designed to work in a hybrid cloud setting, and with a CLB, ELB, or Load Balancer ServerTemplate and Database ServerTemplate as part of a three-tier web architecture. It also includes iptables management for clouds that do not have firewall services. Key Features: * Firewall management within a three-tier scalable web architecture * Utilizes RightScale tag-based routing for connecting to load balancers * Pulls application code from an external repository (Git, SVN, or cloud storage) Related ServerTemplates: Load Balancer Database Manager for MySQL 5.5 Database Manager for PostgreSQL 9.1 Documentation: Release Notes Tutorial
The following MultiCloud Images (MCIs) are used by the ServerTemplate. The MCIs determine which operating systems and clouds are supported.
MultiCloud Images
Sets the directory for your application's web files (/home/webapps/Application Name/). If you have multiple applications, you can run the code checkout script multiple times, each with a different value for the 'Application Name' input, so each application will be stored in a unique directory. This must be a valid directory name. Do not use symbols in the name. Example: myapp
The name associated with your primary and secondary database backups. It's used to associate them with your database environment for maintenance, restore, and replication purposes. Backup snapshots will automatically be tagged with this value (e.g. rs_backup:lineage=mysqlbackup). Backups are identified by their lineage name. Note: For servers running on Rackspace, this value also indicates the Cloud Files container to use for storing primary backups. If a Cloud Files container with this name does not already exist, one will automatically be created. Example: prod_db_lineage
The name associated with your primary and secondary database backups. It's used to associate them with your database environment for maintenance, restore, and replication purposes. Backup snapshots will automatically be tagged with this value (e.g. rs_backup:lineage=mysqlbackup). Backups are identified by their lineage name. Note: For servers running on Rackspace, this value also indicates the Cloud Files container to use for storing primary backups. If a Cloud Files container with this name does not already exist, one will automatically be created. Example: prod_db_lineage
If defined, this will override the input defined for 'Backup Lineage' (block_device/devices/device2/backup/lineage) so that you can restore the volume from another backup that has as a different lineage name. The most recently completed snapshots will be used unless a specific timestamp value is specified for 'Restore Timestamp Override' (block_device/devices/device2/backup/timestamp_override). Example: prod_db_lienage_2
Another optional variable to restore from a specific timestamp. Specify a string matching the timestamp tags on the volume snapshot set. You will need to specify the timestamp that's defined by the snapshot's tag (not name). For example, if the snapshot's tag is 'rs_backup:timestamp=1303613371' you would specify '1303613371' for this input. Example: 1303613371
Another optional variable to restore from a specific timestamp. Specify a string matching the timestamp tags on the volume snapshot set. You will need to specify the timestamp that's defined by the snapshot's tag (not name). For example, if the snapshot's tag is 'rs_backup:timestamp=1303613371' you would specify '1303613371' for this input. Example: 1303613371
The prefix that will be used to name/locate the backup of a particular database.Note: For servers running on Rackspace, this value also indicates the Cloud Files container to use for storing primary backups.If a Cloud Files container with this name does not already exist,the setup process creates one. Example: text:prod_db_lineage
The upper limit for the TTL of the master DB DNS record in seconds. This value should be kept low in the event of Master DB failure so that the DNS record updates in a timely manner. When installing the DB server, this value is checked in the DNS records. Input should be set for 300 when using CloudDNS. Example: 60
The unique identifier that is associated with the DNS A record of the master database server.The unique identifier is assigned by the DNS provider when you create a dynamic DNS A record. This ID is used to update the associated A record with the private IP address of the master server when this recipe is run. If you are using DNS Made Easy as your DNS provider, a 7-digit number is used (e.g., 4403234).Example:4403234
The network interface used for replication. WARNING: when selecting 'public' we highly recommend enabling SSL encryption, otherwise data could travel over insecure connections. Make sure you understand what you are doing before changing this value. Default: private
If defined, this will override the input defined for 'Backup Lineage' (db/backup/lineage) so that you can restore the database from another backup that has as a different lineage name. The most recently completed snapshots will be used unless a specific timestamp value is specified for 'Restore Timestamp Override' (db/backup/timestamp_override). Although this input allows you to restore from a different set of snapshots, subsequent backups will use 'Backup Lineage' to name the snapshots. Be sure to remove the 'Backup Lineage Override' input after the new master is operational. Example: text:new_db_lineage
An optional variable to restore a database backup with a specific timestamp rather than the most recent backup in the lineage. You must specify a string that matches the timestamp tag on the volume snapshot. You will need to specify the timestamp that is defined by the snapshot's tag (not the name). For example, if the snapshot's tag is 'rs_backup:timestamp=1303613371' you would specify '1303613371' for this input. Example: 1303613371
Enter the name of the database schema to which applications will connect to.The database schema should have been created when the initial database was first set up. This input will be used to set the application server's database configuration file so that applications can connect to the correct schema within the database. NOTE: LAMP servers use this input for database dump backups in order to determine which schema will be backed up. Example: mydbschema
The unique identifier that is associated with the DNS A record of a slave server. The unique identifier is assigned by the DNS provider when you create a dynamic DNS A record. This ID is used to update the associated A record with the private IP address of a slave server when this recipe is run. If you are using DNS Made Easy as your DNS provider, a 7-digit number is used (e.g., 4403234). Example:4403234
In order to write the dump file to the specified cloud storage location, you need to provide cloud authentication credentials. For Amazon S3, use your Amazon access key ID (e.g., cred:AWS_ACCESS_KEY_ID). For Rackspace Cloud Files, use your Rackspace login username (e.g., cred:RACKSPACE_USERNAME). For OpenStack Swift the format is: 'tenantID:username'. Example: cred:AWS_ACCESS_KEY_ID
In order to write the dump file to the specified cloud storage location, you need to provide cloud authentication credentials. For Amazon S3, use your AWS secret access key (e.g., cred:AWS_SECRET_ACCESS_KEY). For Rackspace Cloud Files, use your Rackspace account API key (e.g., cred:RACKSPACE_AUTH_KEY). Example: cred:AWS_SECRET_ACCESS_KEY
The endpoint URL for the storage cloud. This is used to override the default endpoint or for generic storage clouds such as Swift. Example: http://endpoint_ip:5000/v2.0/tokens
The type of file system that will be installed on the ephemeral device. By default, this input will be set to 'xfs'. This input is ignored on Redhat and Google cloud since we do not support 'xfs' on them. The 'ext3' file system will be set up by default on Redhat and Google cloud. Example: xfs
Address can either be a network name, a network IP address (with /mask), or a plain IP address. The mask can either be a network mask or a plain number specifying the number of 1's at the left side of the network mask. Thus, a mask of 24 is equivalent to 255.255.255.0. A '!' argument before the address specification inverts the sense of the address. A value of 'any' allows any IP address. Example: any
If true, when promoting a slave to master, ignores making checks and changes to any current master. WARNING: setting this will promote a slave to a master with no replication until a new slave is brought up. Make sure you understand what you are doing before changing this value. Default: false
A valid SSH key which will be appended to /root/.ssh/known_hosts file. This input will allow to verify the destination host, by comparing its IP,FQDN, SSH-RSA with the record in /root/.ssh/known_hosts file. Use this input if you want to improve security and for MiTM attacks prevention. Example: cred:SSH_KNOWN_HOST_KEY.
Comma-separated list of URIs or FQDNs for which the load balancer will create server pools to answer website requests. The order of the items in the list will be preserved when answering to requests. Last entry will be the default backend and will answer for all URIs and FQDNs not listed here. A single entry of any name, e.g. 'default', 'www.mysite.com' or '/appserver', will mimic basic behavior of one load balancer with one pool of application servers. This will be used for naming server pool backends. Application servers can provide any numbers of URIs or FQDNs to join corresponding server pool backends.Example: www.mysite.com, api.mysite.com, /serverid, default
The account name that is required for access to specified cloud load balancer. For Rackspace's CLB service, use your Rackspace username. (e.g., cred: RACKSPACE_USERNAME). For Amazon ELB, use your Amazon key ID (e.g., cred:AWS_ACCESS_KEY_ID). Example: cred:CLOUD_ACCOUNT_USERNAME
The account secret that is required for access to specified cloud load balancer. For Rackspace's CLB service, use your Rackspace account API key (e.g., cred:RACKSPACE_AUTH_KEY). For Amazon ELB, use your Amazon secret key (e.g., cred:AWS_SECRET_ACCESS_KEY). Example: cred:CLOUD_ACCOUNT_KEY
Defines the hour of the day when the primary backup will be taken of the master database. Backups of the master are taken daily. By default, an hour will be randomly chosen at launch time. Otherwise, the time of the backup is defined by 'Master Backup Cron Hour' and 'Master Backup Cron Minute'. However, if you specify a value in this input (e.g., 23 for 11:00 PM), then backups will occur once per day at the specified hour, rather than hourly. Uses standard crontab format. Example: 23
Defines the minute of the hour when the backup of the master database will be taken. Backups of the master are taken daily. By default, a minute will be randomly chosen at launch time. Otherwise, the time of the backup is defined by 'Master Backup Cron Hour' and 'Master Backup Cron Minute'. Uses standard crontab format. Example: 30
Defines the hour of the day when the secondary backup will be taken of the master database. Backups of the master are taken daily. By default, an hour will be randomly chosen at launch time. Otherwise, the time of the backup is defined by 'Master Secondary Backup Cron Hour' and 'Master Secondary Backup Cron Minute'. Uses standard crontab format (e.g., 23 for 11:00 PM).
Defines the minute of the hour when the secondary backup will be taken of the master database. Backups of the master are taken daily. By default, a minute will be randomly chosen at launch time. Otherwise, the time of the backup is defined by 'Master Secondary Backup Cron Hour' and 'Master Secondary Backup Cron Minute'. Uses standard crontab format (e.g., 30 for minute 30 of the hour).
The total number of volumes in the volume stripe that will be used by the database. Volumes will be created and mounted to the instance. The default value is 1, which means that only a single volume will be used (no striping). This value is ignored on clouds that do not support volumes (e.g., Rackspace). Example: 1
The total number of volumes in the volume stripe that will be used by the database. Volumes will be created and mounted to the instance. The default value is 1, which means that only a single volume will be used (no striping). This value is ignored on clouds that do not support volumes (e.g., Rackspace). Example: 1
The percentage of the total Volume Group extents (LVM) that is used for data. (e.g. 50 percent - 1/2 used for data and remainder used for overhead and snapshots, 100 percent - all space is allocated for data (therefore snapshots can not be taken). WARNING: If the space used for data storage is too large, LVM snapshots cannot be performed. Using a non-default value is not recommended. Make sure you understand what you are doing before changing this value.
The percentage of the total Volume Group extents (LVM) that is used for data. (e.g. 50 percent - 1/2 used for data and remainder used for overhead and snapshots, 100 percent - all space is allocated for data (therefore snapshots can not be taken). WARNING: If the space used for data storage is too large, LVM snapshots cannot be performed. Using a non-default value is not recommended. Make sure you understand what you are doing before changing this value.
The percentage of the total ephemeral Volume Group extents (LVM) that is used for data (e.g. 50 percent - 1/2 used for data, 100 percent - all space is allocated for data). WARNING: Using a non-default value is not recommended. Make sure you understand what you are doing before changing this value. Example: 100
The endpoint URL for the primary backup storage cloud. This is used to override the default endpoint or for generic storage clouds such as Swift. Example: http://endpoint_ip:5000/v2.0/tokens
Primary cloud authentication credentials. For Rackspace Cloud Files, use your Rackspace login username (e.g., cred:RACKSPACE_USERNAME). For OpenStack Swift the format is: 'tenantID:username'. For clouds that do not require primary credentials (e.g., Amazon), set to 'ignore'. Example: cred:CLOUD_ACCOUNT_USERNAME
The specific branch, tag, or commit (SHA) of the specified Git/Subversion repository that the application code will be retrieved from. For Git repositories, use 'master' to retrieve the master branch from the repository. For SVN repositories, use 'HEAD' to retrieve the latest changes from the repository. Example: mybranch
The URL that points to the location of the repository that contains the application code. Or the name of the ROS container where a tarball of the application code will be retrieved from if you use 'repo_ros' provider. For Amazon S3, use the bucket name. Example: mycontainer, http://mysvn.net/app/ or git://github.com/username/myapp.git
The endpoint URL for the secondary backup storage cloud. This is used to override the default endpoint or for generic storage clouds such as Swift. Example: http://endpoint_ip:5000/v2.0/tokens
Secondary cloud authentication credentials. For Rackspace Cloud Files, use your Rackspace login username (e.g., cred:RACKSPACE_USERNAME). For OpenStack Swift the format is: 'tenantID:username'. For Amazon S3, use your Amazon key ID (e.g., cred:AWS_ACCESS_KEY_ID). Example: cred:CLOUD_ACCOUNT_USERNAME
By default, secondary backups of the slave database are taken hourly. However, if you specify a value in this input (e.g., 23 for 11:00 PM), then backups will occur once per day at the specified hour, rather than hourly. Uses standard crontab format (e.g., 23 for 11:00 PM).
Defines the minute of the hour when the secondary backup will be taken of the slave database. Backups of the slave are taken hourly. By default, a minute will be randomly chosen at launch time. Uses standard crontab format (e.g., 30 for minute 30 of the hour). Uses standard crontab format (e.g., 30 for minute 30 of the hour).
The endpoint URL for the storage cloud. This is used to override the default endpoint or for generic storage clouds such as Swift. Example: http://endpoint_ip:5000/v2.0/tokens
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 Settings -> Preferences tab. You can find a list of valid examples from the timezone pulldown bar in the Preferences tab. Example: US/Pacific
Defines the total size of the LVM volume stripe set (in GB). For example, if the stripe_count is '3' and you specify '3' for this input, it will create an LVM volume stripe that contains 3 volumes that are each 1 GB in size. If an uneven ratio is defined, volume sizes will be rounded up to the nearest whole integer. Ignored on clouds that do not support volumes (e.g., Rackspace). Example: 10
Defines the total size of the LVM volume stripe set (in GB). For example, if the stripe_count is '3' and you specify '3' for this input, it will create an LVM volume stripe that contains 3 volumes that are each 1 GB in size. If an uneven ratio is defined, volume sizes will be rounded up to the nearest whole integer. Ignored on clouds that do not support volumes (e.g., Rackspace). Example: 10
Determines session stickiness. Set to 'True' to use session stickiness, where the load balancer will reconnect a session to the last server it was connected to (via a cookie). Set to 'False' if you do not want to use sticky sessions; the load balancer will establish a connection with the next available server. Example: true
Revision | Date Published | Description of Changes | Known Issues |
2 | Aug 30, 2013 | Initial release. See v13.5 LTS Release Notes. | N/A |
© 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.