Description
An EBS-optimized EC2 instance reduces contention between storage I/O and general network traffic, helping provide more consistent EBS volume performance. Support and default enablement depend on the instance type, so omitting ebsOptimized does not by itself establish that optimization is disabled.
Potential impact
- Insufficient EBS bandwidth for the workload can increase application response times or reduce throughput.
- Bottlenecks can be harder to diagnose without considering both instance and volume performance limits.
Remediation
Check EBS optimization support and defaults for the instance type. Set ebsOptimized: true for types that support it but require explicit enablement. For unsupported types, assess cost and compatibility before moving to a suitable type, and measure actual instance and volume performance.
Examples
These excerpts compare instance types and EBS optimization settings. Other required settings, such as the AMI, are omitted. t2.micro does not support EBS optimization; t3.large provides it by default.
Before
name: aws-eks
runtime: yaml
resources:
example:
type: aws:ec2:Instance
properties:
instanceType: t2.micro
monitoring: true
ebsOptimized: false
After
name: aws-eks
runtime: yaml
resources:
example:
type: aws:ec2:Instance
properties:
instanceType: t3.large
monitoring: true
ebsOptimized: true
The after-example also changes the instance type to t3.large. Changing only the flag on an unsupported type is not a remedy; verify performance with the actual workload and volume configuration.