Amazon Elastic Compute Cloud
API Reference (API Version 2014-10-01)
Did this page help you?  Yes | No |  Tell us about it...
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.

AttachVolume

Attaches an Amazon EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted Amazon EBS volumes may only be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide for Linux.

For a list of supported device names, see Attaching an Amazon EBS Volume to an Instance. Any device names that aren't reserved for instance store volumes can be used for Amazon EBS volumes. For more information, see Amazon EC2 Instance Store in the Amazon Elastic Compute Cloud User Guide for Linux.

If a volume has an AWS Marketplace product code:

  • The volume can only be attached as the root device of a stopped instance.
  • You must be subscribed to the AWS Marketplace code that is on the volume.
  • The configuration (instance type, operating system) of the instance must support that specific AWS Marketplace code. For example, you cannot take a volume from a Windows instance and attach it to a Linux instance.
  • AWS Marketplace product codes are copied from the volume to the instance.

For an overview of the AWS Marketplace, see https://aws.amazon.com/marketplace/help/200900000. For more information about how to use the AWS Marketplace, see AWS Marketplace.

For more information about Amazon EBS volumes, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide for Linux.

Request Parameters

For information about the common parameters that all actions use, see Common Query Parameters.

Device

The device name to expose to the instance (for example, /dev/sdh or xvdh).

Type: String

Required: Yes

InstanceId

The ID of the instance.

Type: String

Required: Yes

VolumeId

The ID of the Amazon EBS volume. The volume and instance must be within the same Availability Zone.

Type: String

Required: Yes

DryRun

Type: Boolean

Required: No

Response Elements

The following elements are returned.

attachment

Type: VolumeAttachment

requestId

The ID of the request.

Type: String

Errors

For information about the errors that are common to all actions, see Common Client Errors.

Examples

Example 1

This example request attaches the volume with the ID vol-1a2b3c4d to the instance with the ID i-1a2b3c4d and exposes it as /dev/sdh.

Sample Request

https://ec2.amazonaws.com/?Action=AttachVolume
&VolumeId=vol-1a2b3c4d
&InstanceId=i-1a2b3c4d
&Device=/dev/sdh
&AUTHPARAMS

Sample Response

<AttachVolumeResponse xmlns="http://ec2.amazonaws.com/doc/2014-10-01/">
  <requestId>59dbff89-35bd-4eac-99ed-be587EXAMPLE</requestId>
  <volumeId>vol-1a2b3c4d</volumeId>
  <instanceId>i-1a2b3c4d</instanceId>
  <device>/dev/sdh</device>
  <status>attaching</status>
  <attachTime>YYYY-MM-DDTHH:MM:SS.000Z</attachTime>
</AttachVolumeResponse>