Amazon just released a beta of their Relational Database Service (RDS). You pay by the EC2 instance hour, about the same cost as a plain EC2, but about $0.01/hour more for a small instance, plus some storage costs, and bandwidth costs if you access the database outside of an Amazon availability zone.
RDS MyQL compatible (version 5.1) and is automatically monitored, restarted, and backed up.
Currently, there is no master slave replication, but this is being worked on (RDS beta just started today).
Here are my notes on my first use of RDS:
- Install the RDS command line tools
- rds-create-db-instance –db-instance-identifier marktesting123 –allocated-storage 5 –db-instance-class db.m1.small –engine MySQL5.1 –master-username marktesting123 –master-user-password markpasstesting123
- Wait a few minutes and see if the RDS instance is ready: rds-describe-db-instances
- Open up ports for external access, if required (note, here I am opening up for world wide access just for this test): rds-authorize-db-security-group-ingress default –cidr-ip 0.0.0.0/0
- Use a mysql client to connect: mysql -h marktesting123.cyvbi77nio5f.us-east-1.rds.amazonaws.com -u marktesting123 -p
- create database recipes;
- in another bash shell: cat recipes.sql | mysql -h marktesting123.cyvbi77nio5f.us-east-1.rds.amazonaws.com recipes -u marktesting123 -p
- In the mysql client: use the remote RDS hosted database and be happy
- delete RDS instance (to stop paying for it): rds-delete-db-instance marktestng123 –skip-final-snapshot
Any mysql client libraries should work fine.