When Engine Yard Cloud creates an environment, it creates a PostgreSQL or MySQL database for the application and EBS volume called /db to store the data.
When you set up your environment, enable email alerts so that when your /db volume starts to fill up or if your database instance is under too much load, you receive an alert.
Note: You cannot upsize a 32-bit PostgreSQL instance to a 64-bit instance. See the known issue for more information. If you need help, submit a ticket with Engine Yard Support.
The /db volume size and load capacity of your environment depends on whether you are using a single server, basic cluster, or configured environment. (See table below.)
|Environment||Default size of EBS database volume, /db||Database instance|
|Single server||15 GB||5 ECU (application server with local database)|
|Basic cluster||15 GB||5 ECU (dedicated database instance)|
|Custom cluster||Configurable (5 GB to 1024 GB)||Configurable; see About instance sizes|
This document describes:
- Finding database volume usage
- Increasing the Volume size of the database with no downtime
- Increasing the size of the database with minimal downtime
- Increasing the size of the database with some downtime
Find database volume usage
You might want to check on database volume usage before you get an alert.
To check the database volume usage
- Via SSH, connect to the application and database instance (for single server environment) or the master database instance (for a clustered environment).
Increase the Volume size of the database with zero downtime
Current generation instances can make use of Elastic EBS volumes to expand the EBS volume live. Currently this operation must be performed by Engine Yard Support Engineers, therefore please submit a ticket to request an increase in volume size. For more information on expanding EBS volumes please see Modifying Instance Volumes.
If your instance is of an older type, you must make use of one of the two following methods.
Increase the size of the database with minimal downtime
If you need to increase the size of your master database instance with minimal downtime, you can provision and promote a database slave instance.
First, a larger database slave instance is created and then, after replication is complete, the slave is promoted to master and the original (smaller) master is decommissioned.
Note: This procedure applies only to clustered environments. Single instances cannot be increased this way.
To increase the size of the database volume or database instance with minimal downtime
Create a database slave as described in Add a database slave to an existing environment.
Select a larger /db volume size or a larger instance size or both.
Promote your database replica.
Increase the size of the database with some downtime
When you increase the size of the database instances via the UI, you are effectively creating a new environment and moving the snapshots of the instances from the old environment to a new environment. This means some downtime for your application.
To increase the size of the database volume or database instance via the UI with some downtime
Make sure that you know the number and size of the server instances in your current environment.
On the Environment page, click Stop.
After the environment has stopped, click Boot.
The Configuration for Environment page appears.
For the Database Server, increase the server size and the /db volume size.
Note: You cannot decrease the size of the database volume.
Select the most recent snapshots from the drop-down.
This ensures that you don’t lose data.
If there are snapshots are pending, this is indicated in the drop-down; wait until the snapshot is complete.
Click Boot This Configuration.