Updating deployments to use EBS Provisioned IOPS

SUMMARY

Updating deployments to use EBS Provisioned IOPS

ISSUE

Amazon's Elastic Block Store (EBS) at the time of writing has 3 types of disks available for configuration - https://aws.amazon.com/ebs/details/#GP

When a Boomerang converts a VM into AWS, the disk type will be defaulted to General Purpose (SSD) - that provide a high level of performance and are expandible up to 16TiB.

RESOLUTION

If Provisioned IOPS is required, modification of the generated CloudFormation (CF) template is the quickest and simplest way to deploy from the AMI's created. 

TASKS

  1. As per this article - deploy the protection group to AMI's - do not select "Spin Up".
  2. Download the CF template, and open the file in a JSON/text editor.
  3. Located the instance to change. This can usually be found by looking at the "Name" tag which will associate to the original VM. Original generated CloudFormation example:
    "INSTANCERESOURCE00000018": {
      "Type": "AWS::EC2::Instance",
      "Properties": {
        "BlockDeviceMappings": [
          {
            "DeviceName": "/dev/sda1",
            "Ebs": {
              "DeleteOnTermination": true
            }
          }
        ],
        "ImageId": "ami-1f480725",
        "Tags": [
          {
            "Key": "Name",
            "Value": "ubuntu-14.10-server"
          },
          {
            "Key": "vta:vm:mor",
            "Value": "vm-93"
          },
          {
            "Key": "vta:vm:path",
            "Value": "/esx55/vm/kevin/ubuntu-14.10-server"
          },
                        
        ---- rest of cf template ---

Adjust the "BlockDeviceMappings" Properties as required to set the IOPS characteristics as required. The specific syntax can be found in the CloudFormation documentation. Also be aware of the relationship of IOs to volume size

5. From the instance referenced above, updating the provisioned IOPS would look like (The original instance volume was 3GB - 4GB is the minimum size): 

    "INSTANCERESOURCE00000018": {

      "Type": "AWS::EC2::Instance",
      "Properties": {
        "BlockDeviceMappings": [
          {
            "DeviceName": "/dev/sda1",
            "Ebs": {
              "VolumeSize" : "4",
              "VolumeType": "io1",
              "Iops": "120",
              "DeleteOnTermination": true
            }
          }
        ],
        "ImageId": "ami-1f480725",
      ---- rest of cf template ---

 6. Continue the rest of the deployment article - with the update JSON file.

 

When deployment is complete, note the attached volume of the instance with configured IOPS.

 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Contact us