Updated: September 29th, 2014
Before you get started, you might like to check out this short video on High Availability.
This page describes:
- About high-availability clusters
- What to do if a zone fails
- Make an existing environment a high-availability environment
About high-availability clusters
With high availability, Engine Yard Cloud boots like instances in different Amazon Availability Zones in the same region.
Whenever possible, your application master and master database are placed in the same zone and your application and slave database instances are placed in a different zone from the masters. Similarly, if you to add utility servers to the environment, they are placed in different zones. This provides a redundant environment if there are problems in one zone of a region.
For example, you choose to create your environment in the Eastern United States region. Then, the instances might be distributed (automatically) as follows:
- Your application master and master database are both placed in US East Zone 1c.
- Your application and slave database instances are placed in US East Zone 1d.
- If you have two utility servers, they are placed in US East Zone 1c and US East Zone 1d.
To take advantage of high availability, you need to have at least the following instances in your environment:
- Application Master
- Master Database
- Slave Database
What to do if a zone fails
In the case of zone failure:
- If the Application Master fails, then the takeover process begins. See Application master takeover for details. If you have cron jobs or custom chef recipes for the environment, then you need to take action.
- If the Database Master fails, promote an existing database slave yourself or contact Engine Yard Support for assistance.
Make an existing environment a high-availability environment
Before high availability, your instances were assigned randomly to availability zones. This procedure outlines how to find out if/how your existing environments need to be modified to take advantage of high availability.
To make an existing environment a high-availability environment
If you do not have a database slave, create one.
The database slave instance is created in an availability zone other than the zone that your master database is in.
Examine your environment to determine what zones your instances are currently in:
On the environment page, place your mouse over the hostname to see the zone.
If your masters and slaves are in different zones, then you do not need to take action.
- If a master and slave are in the same zone, then do one of the following:
- Option A: (a) Clone the environment. (b) Test the environment. (c) Use the cloned environment as your production environment. (d) Delete the original environment.
- Option B: (a) Add a new slave to the current environment. (b) Delete the old slave. (c) Repeat Step 2 above to confirm that both your application and database slaves are in different availability zones from their masters.
If you have feedback or questions about this page, add a comment below. If you need help, submit a ticket with Engine Yard Support.