AWS::EC2::Instance Ebs
Specifies a block device for an EBS volume.
Ebs
is a property of the
BlockDeviceMapping property type.
Important
After the instance is running, you can modify only the
DeleteOnTermination
parameters for the attached volumes without
interrupting the instance. Modifying any other parameter results in instance replacement.
Syntax
To declare this entity in your Amazon CloudFormation template, use the following syntax:
JSON
{ "DeleteOnTermination" :
Boolean
, "Encrypted" :Boolean
, "Iops" :Integer
, "KmsKeyId" :String
, "SnapshotId" :String
, "VolumeSize" :Integer
, "VolumeType" :String
}
YAML
DeleteOnTermination:
Boolean
Encrypted:Boolean
Iops:Integer
KmsKeyId:String
SnapshotId:String
VolumeSize:Integer
VolumeType:String
Properties
DeleteOnTermination
-
Indicates whether the EBS volume is deleted on instance termination. For more information, see Preserving Amazon EBS volumes on instance termination in the Amazon EC2 User Guide.
Required: No
Type: Boolean
Update requires: Some interruptions
Encrypted
-
Indicates whether the volume should be encrypted. The effect of setting the encryption state to
true
depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by default in the Amazon Elastic Compute Cloud User Guide.Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported instance types.
Important
After the instance is running, modifying this parameter results in instance replacement.
Required: No
Type: Boolean
Update requires: Some interruptions
Iops
-
The number of I/O operations per second (IOPS). For
gp3
,io1
, andio2
volumes, this represents the number of IOPS that are provisioned for the volume. Forgp2
volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting.The following are the supported values for each volume type:
-
gp3
: 3,000-16,000 IOPS -
io1
: 100-64,000 IOPS -
io2
: 100-64,000 IOPS
For
io1
andio2
volumes, we guarantee 64,000 IOPS only for Instances built on the Nitro System. Other instance families guarantee performance up to 32,000 IOPS.This parameter is required for
io1
andio2
volumes. The default forgp3
volumes is 3,000 IOPS. This parameter is not supported forgp2
,st1
,sc1
, orstandard
volumes.Important
After the instance is running, modifying this parameter results in instance replacement.
Required: Conditional
Type: Integer
Update requires: Some interruptions
-
KmsKeyId
-
The identifier of the Amazon KMS key to use for Amazon EBS encryption. If
KmsKeyId
is specified, the encrypted state must betrue
. If the encrypted state istrue
but you do not specifyKmsKeyId
, your KMS key for EBS is used.You can specify the KMS key using any of the following:
-
Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.
-
Key alias. For example, alias/ExampleAlias.
-
Key ARN. For example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.
-
Alias ARN. For example, arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias.
Important
After the instance is running, modifying this parameter results in instance replacement.
Required: No
Type: String
Update requires: Some interruptions
-
SnapshotId
-
The ID of the snapshot.
If you specify both
SnapshotId
andVolumeSize
,VolumeSize
must be equal or greater than the size of the snapshot.Important
After the instance is running, modifying this parameter results in instance replacement.
Required: Conditional
Type: String
Update requires: Some interruptions
VolumeSize
-
The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size.
The following are the supported volumes sizes for each volume type:
-
gp2
andgp3
:1-16,384 -
io1
andio2
: 4-16,384 -
st1
andsc1
: 125-16,384 -
standard
: 1-1,024
Important
After the instance is running, modifying this parameter results in instance replacement.
Required: Conditional
Type: Integer
Update requires: Some interruptions
-
VolumeType
-
The volume type. For more information, see Amazon EBS volume types in the Amazon EC2 User Guide. If the volume type is
io1
orio2
, you must specify the IOPS that the volume supports.Important
After the instance is running, modifying this parameter results in instance replacement.
Required: No
Type: String
Allowed values:
standard | io1 | io2 | gp2 | sc1 | st1 | gp3
Update requires: Some interruptions
Examples
Create an EBS volume from a snapshot
This example creates a 50GB io1 EBS volume from a snapshot, and configures it to support 1000 IOPS and to persist after terminating the instance to which it is attached.
JSON
{ "DeviceName": "/dev/sdc", "Ebs": { "SnapshotId": "snap-xxxxxxxx", "VolumeSize": "50", "VolumeType": "io1", "Iops": "1000", "DeleteOnTermination": "false" } }
YAML
BlockDeviceMappings: - DeviceName: /dev/sdc Ebs: SnapshotId: snap-xxxxxxxx VolumeSize: 50 VolumeType: io1 Iops: 1000 DeleteOnTermination: false
See also
-
CreateVolume in the Amazon EC2 API Reference