Search code examples
amazon-ec2amazon-ebs

Attaching EBS during startup of Amazon EC2 Spot Instance


I would like to run an Amazon EC2 spot instance as CI server. In order to keep the historical information I would like to keep all the data on separate EBS volume due to the fact the EBS volume of the spot instance will be deleted each time it will be terminated.

How can I mount the EBS volume during startup?

Thank you, Ido.


Solution

  • you can have a init script that attaches the already available volume, using this command:

    ec2-attach-volume volume_id --instance instance_id --device device 
    

    for this to work, you need

    1. EC2-API installed on the machine

    2. you need to have EC2_PRIVATE_KEY and EC2_CERT as environment variable or will have to pass explicitly.

    3. The volume you're trying to attach should be available. Or, optionally, you can first force detach the volume.

    4. you may use curl http://169.254.169.254/latest/meta-data/instance-id to get hold of current instance's instance_id.

    Refer:

    Hope this helps.