interface EbsDeviceProps
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.EC2.EbsDeviceProps |
Java | software.amazon.awscdk.services.ec2.EbsDeviceProps |
Python | aws_cdk.aws_ec2.EbsDeviceProps |
TypeScript (source) | @aws-cdk/aws-ec2 » EbsDeviceProps |
Properties of an EBS block device.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as ec2 from '@aws-cdk/aws-ec2';
import * as kms from '@aws-cdk/aws-kms';
declare const key: kms.Key;
const ebsDeviceProps: ec2.EbsDeviceProps = {
deleteOnTermination: false,
encrypted: false,
iops: 123,
kmsKey: key,
snapshotId: 'snapshotId',
volumeSize: 123,
volumeType: ec2.EbsDeviceVolumeType.STANDARD,
};
Properties
Name | Type | Description |
---|---|---|
delete | boolean | Indicates whether to delete the volume when the instance is terminated. |
encrypted? | boolean | Specifies whether the EBS volume is encrypted. |
iops? | number | The number of I/O operations per second (IOPS) to provision for the volume. |
kms | IKey | The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption. |
snapshot | string | The snapshot ID of the volume to use. |
volume | number | The volume size, in Gibibytes (GiB). |
volume | Ebs | The EBS volume type. |
deleteOnTermination?
Type:
boolean
(optional, default: true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS))
Indicates whether to delete the volume when the instance is terminated.
encrypted?
Type:
boolean
(optional, default: false)
Specifies whether the EBS volume is encrypted.
Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption
iops?
Type:
number
(optional, default: none, required for {@link EbsDeviceVolumeType.IO1})
The number of I/O operations per second (IOPS) to provision for the volume.
Must only be set for {@link volumeType}: {@link EbsDeviceVolumeType.IO1}
The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume.
See also: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
kmsKey?
Type:
IKey
(optional, default: If encrypted is true, the default aws/ebs KMS key will be used.)
The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
You have to ensure that the KMS CMK has the correct permissions to be used by the service launching the ec2 instances.
See also: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#ebs-encryption-requirements
snapshotId?
Type:
string
(optional, default: No snapshot will be used)
The snapshot ID of the volume to use.
volumeSize?
Type:
number
(optional, default: The snapshot size)
The volume size, in Gibibytes (GiB).
If you specify volumeSize, it must be equal or greater than the size of the snapshot.
volumeType?
Type:
Ebs
(optional, default: {@link EbsDeviceVolumeType.GP2})
The EBS volume type.
See also: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html