EC2, Amazon's Elastic Compute Cloud virtual machine service, has many configuration options. So, I want to confirm that this configuration is correct for a scalable database and web server backend.

We have a large 500 GB database. (OrientDB.)

We will have it mirrored to one another virtual machine instance in the same EC2 Availability Zone. We believe the database size will grow rapidly.

The plan is:

  • Get 4 large instances that are compatible types with Placement Groups (as well as ideally, Enhanced Networking) (2 for web, 2 for DB.)
  • We use an EBS-backed instances to store our operating system. Discussion here: http://alestic.com/2012/01/ec2-ebs-boot-recommended
  • We can set up ephemeral SSD instance storage as swap space. (But it is lost after even a reboot. I hear its hard to add ephemeral storage if booting from EBS, but possible.)
  • For offsite backup, we will take periodic snapshots and store them on S3. Obviously we need to ensure the database is in a safe state when that snapshot happens to avoid corruption. (Any hints here, aside from shutting down the DB?)
  • If the database gets too big, we need to create a EBS volume that's larger. We can use RAID to break the 1 TB limit: http://alestic.com/2009/06/ec2-ebs-raid
  • Static assets on web servers will be stored on S3.

Is that correct? Or am I missing something?


I spoke to Amazon and they recommended one change:

  • The two servers should be different availability zones inside the same region. (My concern was that the speed between the 2 servers would be slow, but they said, while not as fast as Placement Groups, it should be fine and offers better safety.)
  • Worth noting: They also claimed that people have raided up to 40x 1TB EBS volumes successfully. However, I'm skeptical about how good an idea that is.
  • Note that at this time (Aug 2014) the cheaper option is to NOT get provisioned IOPs if you have a 1TB SSD EBS volume. The reason is, you're given IOPs per GB. So at the 1TB level the prices is less for standard SSD EBS which is not provisioned.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.