Use CreateVolume with a CLI
The following code examples show how to use CreateVolume.
- CLI
-
- Amazon CLI
-
To create an empty General Purpose SSD (gp2) volume
The following
create-volumeexample creates an 80 GiB General Purpose SSD (gp2) volume in the specified Availability Zone. Note that the current Region must beus-east-1, or you can add the--regionparameter to specify the Region for the command.aws ec2 create-volume \ --volume-typegp2\ --size80\ --availability-zoneus-east-1aOutput:
{ "AvailabilityZone": "us-east-1a", "Tags": [], "Encrypted": false, "VolumeType": "gp2", "VolumeId": "vol-1234567890abcdef0", "State": "creating", "Iops": 240, "SnapshotId": "", "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z", "Size": 80 }If you do not specify a volume type, the default volume type is
gp2.aws ec2 create-volume \ --size80\ --availability-zoneus-east-1aExample 2: To create a Provisioned IOPS SSD (io1) volume from a snapshot
The following
create-volumeexample creates a Provisioned IOPS SSD (io1) volume with 1000 provisioned IOPS in the specified Availability Zone using the specified snapshot.aws ec2 create-volume \ --volume-typeio1\ --iops1000\ --snapshot-idsnap-066877671789bd71b\ --availability-zoneus-east-1aOutput:
{ "AvailabilityZone": "us-east-1a", "Tags": [], "Encrypted": false, "VolumeType": "io1", "VolumeId": "vol-1234567890abcdef0", "State": "creating", "Iops": 1000, "SnapshotId": "snap-066877671789bd71b", "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z", "Size": 500 }Example 3: To create an encrypted volume
The following
create-volumeexample creates an encrypted volume using the default CMK for EBS encryption. If encryption by default is disabled, you must specify the--encryptedparameter as follows.aws ec2 create-volume \ --size80\ --encrypted \ --availability-zoneus-east-1aOutput:
{ "AvailabilityZone": "us-east-1a", "Tags": [], "Encrypted": true, "VolumeType": "gp2", "VolumeId": "vol-1234567890abcdef0", "State": "creating", "Iops": 240, "SnapshotId": "", "CreateTime": "YYYY-MM-DDTHH:MM:SS.000Z", "Size": 80 }If encryption by default is enabled, the following example command creates an encrypted volume, even without the
--encryptedparameter.aws ec2 create-volume \ --size80\ --availability-zoneus-east-1aIf you use the
--kms-key-idparameter to specify a customer managed CMK, you must specify the--encryptedparameter even if encryption by default is enabled.aws ec2 create-volume \ --volume-typegp2\ --size80\ --encrypted \ --kms-key-id0ea3fef3-80a7-4778-9d8c-1c0c6EXAMPLE\ --availability-zoneus-east-1aExample 4: To create a volume with tags
The following
create-volumeexample creates a volume and adds two tags.aws ec2 create-volume \ --availability-zoneus-east-1a\ --volume-typegp2\ --size80\ --tag-specifications 'ResourceType=volume,Tags=[{Key=purpose,Value=production},{Key=cost-center,Value=cc123}]'-
For API details, see CreateVolume
in Amazon CLI Command Reference.
-
- PowerShell
-
- Tools for PowerShell V4
-
Example 1: This example creates the specified volume.
New-EC2Volume -Size 50 -AvailabilityZone us-west-2a -VolumeType gp2Output:
Attachments : {} AvailabilityZone : us-west-2a CreateTime : 12/22/2015 1:42:07 AM Encrypted : False Iops : 150 KmsKeyId : Size : 50 SnapshotId : State : creating Tags : {} VolumeId : vol-12345678 VolumeType : gp2Example 2: This example request creates a volume and applies a tag with a key of stack and a value of production.
$tag = @{ Key="stack"; Value="production" } $tagspec = new-object Amazon.EC2.Model.TagSpecification $tagspec.ResourceType = "volume" $tagspec.Tags.Add($tag) New-EC2Volume -Size 80 -AvailabilityZone "us-west-2a" -TagSpecification $tagspec-
For API details, see CreateVolume
in Amazon Tools for PowerShell Cmdlet Reference (V4).
-
- Tools for PowerShell V5
-
Example 1: This example creates the specified volume.
New-EC2Volume -Size 50 -AvailabilityZone us-west-2a -VolumeType gp2Output:
Attachments : {} AvailabilityZone : us-west-2a CreateTime : 12/22/2015 1:42:07 AM Encrypted : False Iops : 150 KmsKeyId : Size : 50 SnapshotId : State : creating Tags : {} VolumeId : vol-12345678 VolumeType : gp2Example 2: This example request creates a volume and applies a tag with a key of stack and a value of production.
$tag = @{ Key="stack"; Value="production" } $tagspec = new-object Amazon.EC2.Model.TagSpecification $tagspec.ResourceType = "volume" $tagspec.Tags.Add($tag) New-EC2Volume -Size 80 -AvailabilityZone "us-west-2a" -TagSpecification $tagspec-
For API details, see CreateVolume
in Amazon Tools for PowerShell Cmdlet Reference (V5).
-
For a complete list of Amazon SDK developer guides and code examples, see Create Amazon EC2 resources using an Amazon SDK. This topic also includes information about getting started and details about previous SDK versions.