Need to scale an Amazon EC2 instance (but JUST the storage, not the CPU)

I currently have this image:

High-CPU Extra Large Instance (Amazon Linux AMI)

7 GB of memory
20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each)
1690 GB of instance storage
64-bit platform
I/O Performance: High
API name: c1.xlarge

... and I've ran out of space. What's the process for getting more space? Is this done from the shell or the control panel? Does it require a reboot or some fancy mounting points? (fancy to a linux admin with modest abilities!)

By the way, this is a client's image so while I do have SSH access to the image, I don't have control panel access.

Any help is greatly appreciated.


Solution 1:

You list "1690 GB of instance storage". It isn't clear if you were just quoting the specs of your instance type or if you have actually formatted and are using all that storage.

It isn't clear from the question exactly what storage you want to increase. Here are some thoughts on different situations:

It is not possible to increase instance-store beyond the limit you quote. However, by default, that storage is not all formatted and mounted on the instance, so you could get up to that limit as long as you wanted to use instance-store. Be aware, that instance-store disk is ephemeral and the contents are lost when the instance is stopped, terminated, or fails.

If your instance itself is running on an instance-store root disk, then you cannot increase the size of the root disk without starting another instance, and even then, instance-store root disks have a hard limit of 10GB on EC2.

It is possible to create and attach EBS volumes to either instance-store or EBS boot instances if you simply want to add space and move your data there (recommended). It is also possible to increase the size of attached EBS volumes up to a limit of 1TB (and beyond using RAID0 of multiple EBS volumes).

All that said, I'm going to guess that the most likely situation you're in is that you are running an EBS boot instance and need to increase the size of the EBS boot volume.

You can increase the size of an EBS boot volume without control panel access (email/password for Amazon account), however you will need to have access to the AWS credentials in order to create snapshots and volumes, to detach and attach volumes, and to stop and start the instance. You will also need ssh access in order to resize the filesystem on the larger EBS volume.

Here's an article I wrote about this process:

Resizing the Root Disk on a Running EBS Boot EC2 Instance
http://alestic.com/2010/02/ec2-resize-running-ebs-root

In related topic to permissions, here's an article I wrote explaining the different types of AWS credentials:

Understanding Access Credentials for AWS/EC2
http://alestic.com/2009/11/ec2-credentials

Providing more details in your question about your situation and what you want to accomplish would help improve the relevance of the answers.