This page describes how to rebuild an environment and how to minimize downtime.
Why would an environment need to be rebuilt?
- An app_master/db_master instance in a Solo environment has become frozen.
- An app_master/db_master instance in a Solo environment has a retirement or maintenance notice.
- An app_master/db_master instance in a Solo environment needs to have its instance type or volume sizes changed.
- A db_master has become frozen or has run out of disk space, and does not have a replica available and healthy for promotion.
- You want to change between a Solo configuration and a Cluster configuration type.
Important! When deciding to rebuild an environment, you should take a snapshot before terminating the environment. The reason for this is because snapshots are incremental.
When a snapshot is taken before the environment is terminated, the snapshot captures all changes up to that point. Then when requesting to terminate an environment, the snapshot taken at the time of termination runs faster because of the recent prior snapshot.
Steps to rebuild an environment
Note: It is highly recommended to perform a test rebuild using a cloned environment first.
Put your site into maintenance mode using the engineyard gem:
ey web disable
Click Snapshot in your environment to start a snapshot.
After snapshots have completed, click Terminate to shutdown your environment.
Click Boot after all instances are terminated.
Choose the Custom option from the configuration screen.
Configure new instances using previous settings or select new options if desired.
Ensure that the most recent snapshots from the Application snapshot and Database snapshot drop-downs are selected.
Click Boot This Configuration to start rebuilding your environment.
Engine Yard recommends using the maintenance mode at the beginning of the rebuild process as it effectively stops traffic (especially database writes) for the period of time between finishing snapshots and terminating the environment.