AWS releases new SSD-Backed EBS

Yesterday, Amazon Web Services announced New SSD-Backed Elastic Block Storage. This is cool in many ways, but one really nice feature is the “Boot Boost” which means:

Each newly created SSD-backed volume receives an initial burst allocation that provides up to 3,000 IOPS for 30 minutes.

In other words, boot times can decrease dramatically (especially for Windows images).

At SmartySteets this is good news for us since we are using AWS EC2 technology for many of our services.

To take advantage of this using the Console was easily taken care of the first time we launched a new instance today.

However, the fun part was getting our API-based launch scripts to use the new feature. The main gist of the change is the specification of a volume type of “gp2”. We interact with AWS through boto, so I had to add “block device” specifications to the script as follows:


block_device_type = boto.ec2.blockdevicemapping.BlockDeviceType()
block_device_type.volume_type='gp2'
block_device_type.delete_on_termination='true'
block_device_mapping = boto.ec2.blockdevicemapping.BlockDeviceMapping()
block_device_mapping['/dev/sda1'] = block_device_type

new_image_id = ec2Connection.create_image(
instance_id=INSTANCE_ID,
name='{0}'.format(SERVICE_NAME),
description='',
block_device_mapping=block_device_mapping,
)

Here is the full script for reference in case you need an example of usage.