15.4.2 EC2 Instance Limitations

Be aware of the following limitations of the EC2 instances before
deploying your applications. Although these shouldn't affect your
ability to deploy within the Amazon EC2 environment, they may
alter the way you setup and configure your environment to support
your application.

Data stored within instances is not persistent. If you create
an instance and populate the instance with data, then the data
only remains in place while the machine is running, and does
not survive a reboot. If you shut down the instance, any data
it contained is lost.

To ensure that you do not lose information, take regular
backups using mysqldump. If the data being
stored is critical, consider using replication to keep a
“live” backup of your data in the event of a
failure. When creating a backup, write the data to the Amazon
S3 service to avoid the transfer charges applied when copying
data offsite.

EC2 instances are not persistent. If the hardware on which an
instance is running fails, the instance is shut down. This can
lead to loss of data or service.

However, if you use EBS, you can attach an EBS storage volume
to an EC2 instance, and that EBS volume is persistent. Like a
disk, an EBS volume can fail, but it is possible to create
point-in-time snapshots of the volume. Snapshots are persisted
to Amazon S3 and can be used to restore data in the event of
volume failure.

To replicate your EC2 instances to a non-EC2 environment, be
aware of the transfer costs to and from the EC2 service. Data
transfer between different EC2 instances is free, so using
replication within the EC2 environment does not incur
additional charges.

Certain HA features are either not directly supported, or have
limiting factors or problems that could reduce their utility.
For example, using DRBD or MySQL Cluster might not work. The
default storage configuration is also not redundant. You can
use software-based RAID to improve redundancy, but this
implies a further performance hit.