aws-cdk-lib.aws_ec2.EbsDeviceOptions

interface EbsDeviceOptions

LanguageType name
.NETAmazon.CDK.AWS.EC2.EbsDeviceOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsec2#EbsDeviceOptions
Javasoftware.amazon.awscdk.services.ec2.EbsDeviceOptions
Pythonaws_cdk.aws_ec2.EbsDeviceOptions
TypeScript (source)aws-cdk-lib » aws_ec2 » EbsDeviceOptions

Block device options for an EBS volume.

Example

const host = new ec2.BastionHostLinux(this, 'BastionHost', {
  vpc,
  blockDevices: [{
    deviceName: 'EBSBastionHost',
    volume: ec2.BlockDeviceVolume.ebs(10, {
      encrypted: true,
    }),
  }],
});

Properties

NameTypeDescription
deleteOnTermination?booleanIndicates whether to delete the volume when the instance is terminated.
encrypted?booleanSpecifies whether the EBS volume is encrypted.
iops?numberThe number of I/O operations per second (IOPS) to provision for the volume.
kmsKey?IKeyThe ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
volumeType?EbsDeviceVolumeTypeThe 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

See also: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances


iops?

Type: number (optional, default: none, required for EbsDeviceVolumeType.IO1)

The number of I/O operations per second (IOPS) to provision for the volume.

Must only be set for volumeType: 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


volumeType?

Type: EbsDeviceVolumeType (optional, default: EbsDeviceVolumeType.GP2)

The EBS volume type.

See also: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html