---
type: resource-type
title: EC2Volume
description: aws resource type AWS::EC2::Volume
name: EC2Volume
lexicon: aws
resource_type: AWS::EC2::Volume
---
`AWS::EC2::Volume`, a resource type of the aws lexicon.

## Properties

- `AutoEnableIO` (`boolean`, optional): Indicates whether the volume is auto-enabled for I/O operations. By default, EBS disables I/O to the volume from attached EC2 instances when it determines that a volume's data is potentially inconsistent. If the consistency of the volume is not a concern, and you prefer that the volume be made available immediately if it's impaired, you can configure the volume to automatically enable I/O.
- `AvailabilityZone` (`string`, optional): The ID of the Availability Zone in which to create the volume. For example, ``us-east-1a``. Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both. If you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.
- `AvailabilityZoneId` (`string`, optional): The ID of the Availability Zone in which to create the volume. For example, ``use1-az1``. Either ``AvailabilityZone`` or ``AvailabilityZoneId`` must be specified, but not both. If you are creating a volume copy, omit this parameter. The volume copy is created in the same Availability Zone as the source volume.
- `Encrypted` (`boolean`, optional): Indicates whether the volume should be encrypted. The effect of setting the encryption state to ``true`` depends on the volume origin (new, from a snapshot, or from an existing volume), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the *Amazon EBS User Guide*. If you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.
- `Iops` (`number`, optional): The number of I/O operations per second (IOPS) to provision for the volume. Required for ``io1`` and ``io2`` volumes. Optional for ``gp3`` volumes. Omit for all other volume types. Valid ranges: + gp3: ``3,000``(*default*)``- 80,000`` IOPS + io1: ``100 - 64,000`` IOPS + io2: ``100 - 256,000`` IOPS [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS.
- `KmsKeyId` (`string`, optional): The identifier of the kms-key-long to use for Amazon EBS encryption. If ``KmsKeyId`` is specified, the encrypted state must be ``true``. If you omit this property and your account is enabled for encryption by default, or *Encrypted* is set to ``true``, then the volume is encrypted using the default key specified for your account. If your account does not have a default key, then the volume is encrypted using the aws-managed-key. Alternatively, if you want to specify a different key, you can specify one of the following: + Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. + Key alias. Specify the alias for the key, prefixed with ``alias/``. For example, for a key with the alias ``my_cmk``, use ``alias/my_cmk``. Or to specify the aws-managed-key, use ``alias/aws/ebs``. + Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab. + Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. If you are creating a volume copy, omit this parameter. The volume is automatically encrypted with the same KMS key as the source volume. You can't copy unencrypted volumes.
- `MultiAttachEnabled` (`boolean`, optional): Indicates whether Amazon EBS Multi-Attach is enabled. CFNlong does not currently support updating a single-attach volume to be multi-attach enabled, updating a multi-attach enabled volume to be single-attach, or updating the size or number of I/O operations per second (IOPS) of a multi-attach enabled volume.
- `OutpostArn` (`string`, optional): The Amazon Resource Name (ARN) of the Outpost on which to create the volume. If you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an AWS Region with an instance on an AWS outpost, or the other way around.
- `Size` (`number`, optional): The size of the volume, in GiBs. + Required for new empty volumes. + Optional for volumes created from snapshots and volume copies. In this case, the size defaults to the size of the snapshot or source volume. You can optionally specify a size that is equal to or larger than the size of the source snapshot or volume. Supported volume sizes: + gp2: ``1 - 16,384`` GiB + gp3: ``1 - 65,536`` GiB + io1: ``4 - 16,384`` GiB + io2: ``4 - 65,536`` GiB + st1 and sc1: ``125 - 16,384`` GiB + standard: ``1 - 1024`` GiB
- `SnapshotId` (`string`, optional): The snapshot from which to create the volume. Only specify to create a volume from a snapshot. To create a new empty volume, omit this parameter and specify a value for ``Size`` instead. To create a volume copy, omit this parameter and specify ``SourceVolumeId`` instead.
- `SourceVolumeId` (`string`, optional): The ID of the source EBS volume to copy. When specified, the volume is created as an exact copy of the specified volume. Only specify to create a volume copy. To create a new empty volume or to create a volume from a snapshot, omit this parameter,
- `Tags` (`EC2Volume_Tag[]`, optional): The tags to apply to the volume during creation.
- `Throughput` (`number`, optional): The throughput to provision for a volume, with a maximum of 2,000 MiB/s. This parameter is valid only for ``gp3`` volumes. The default value is 125. Valid Range: Minimum value of 125. Maximum value of 2000. The maximum ratio of throughput to IOPS is 0.25 MiB/s per IOPS. For example, a volume with 3,000 IOPS can have a maximum throughput of 750 MiB/s (3,000 x 0.25).
- `VolumeId` (`string`, optional)
- `VolumeInitializationRate` (`number`, optional): Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as *volume initialization*. Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation. This parameter is supported only for volumes created from snapshots. Omit this parameter if: + You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation. If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore. + You want to create a volume that is initialized at the default rate. For more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the *Amazon EC2 User Guide*. Valid range: 100 - 300 MiB/s
- `VolumeType` (`string`, optional): The volume type. This parameter can be one of the following values: + General Purpose SSD: ``gp2`` | ``gp3`` + Provisioned IOPS SSD: ``io1`` | ``io2`` + Throughput Optimized HDD: ``st1`` + Cold HDD: ``sc1`` + Magnetic: ``standard`` Throughput Optimized HDD (``st1``) and Cold HDD (``sc1``) volumes can't be used as boot volumes. For more information, see [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) in the *Amazon EBS User Guide*. Default: ``gp2``

## Attributes

- `VolumeId`

## Governed by

- [WAW028](/rules/WAW028.md): EBS volume is not encrypted — enable encryption at rest
