Hi,
I've set up several web applications in Amazon EC2 -- backup and recovery is fairly straightforward. Here's what I recommend:
1)
Creating at least two volumes / virtual disks. One volume will contain your software & server installation. The other volume will contain your data files for your database server.
2)
Creating a job (via Windows Task Scheduler or cron, depending on whether you're on Windows or Linux) which runs nightly (or with whatever frequency you desire) that will create EC2 "snapshots" of each volume. These snapshots are incremental backups, but they have the added benefit of internally tracking which volume components are stored on which backups. As such, you can delete any arbitrary snapshot, and the data that belonged unique to that snapshot will be transferred to any other backup. In that sense, they act as both full and incremental backups, eliminating the need for two separate workflows.
3)
When you need to restore something, you can attach a new volume from any snapshot, and restart the instance.
This is a workflow that has worked well for me in the past. If you need finer grained revision control (instead of backing up entire volumes), Amazon S3 and Amazon Glacier are both excellent technologies which may prove useful.
Thanks for your consideration!
Dan