AWS AWSEC2 documentation change
Summary
Replaced instance type list with detailed tables showing ENA queue configurations per instance type/size
Security assessment
The changes focus on improving documentation clarity around ENA queue allocations and instance capabilities. While network configuration can impact performance and resource utilization, there is no indication this addresses a security vulnerability or introduces security controls. The changes appear to be routine documentation improvements for better technical accuracy.
Diff
diff --git a/AWSEC2/latest/UserGuide/ena-nitro-perf.md b/AWSEC2/latest/UserGuide/ena-nitro-perf.md index 9906d4665..c748bbb2e 100644 --- a//AWSEC2/latest/UserGuide/ena-nitro-perf.md +++ b//AWSEC2/latest/UserGuide/ena-nitro-perf.md @@ -246,2 +245,0 @@ Flexible ENA queue allocation optimizes resource distribution, enabling maximum - * ENA queues availability - @@ -257,24 +255,135 @@ The following instances support dynamic allocation of multiple ENA queues. - * General purpose: M6i, M6id, M6idn, M6in - - * Compute optimized: C6i, C6id, C6in - - * Memory optimized: R6i, R6in - - - - -You can use the following command to verify if your instance supports dynamic allocation of ENA queues. - - - aws ec2 describe-instance-types --filters Name=network-info.flexible-ena-queues-support,Values=supported - -Amazon EC2 bare metal instances do not support flexible ENA queues. - -#### ENA queues availability - -The number of available ENA queues is based on the instance type and size. Use the following command to find the number of available queues. - - - aws ec2 describe-instance-types --filters "Name=network-info.flexible-ena-queues-support,Values=supported" --query "InstanceTypes[*].[InstanceType,NetworkInfo.NetworkCards[*].DefaultEnaQueueCountPerInterface,NetworkInfo.NetworkCards[*].MaximumEnaQueueCount,NetworkInfo.NetworkCards[*].MaximumEnaQueueCountPerInterface]" --output json - -You can see the `DefaultEnaQueueCountPerInterface`, `MaximumEnaQueueCountPerInterface`, and the `MaximumEnaQueueCount` available across all ENIs on the instance. +##### General purpose + +Instance type | Default ENA queues per interface | Maximum ENA queues per interface | Maximum ENA queues per instance +---|---|---|--- +**M6i** +`m6i.large` | 2 | 2 | 6 +`m6i.xlarge` | 4 | 4 | 16 +`m6i.2xlarge` | 8 | 8 | 32 +`m6i.4xlarge` | 8 | 16 | 64 +`m6i.8xlarge` | 8 | 32 | 64 +`m6i.12xlarge` | 8 | 32 | 64 +`m6i.16xlarge` | 8 | 32 | 120 +`m6i.24xlarge` | 8 | 32 | 120 +`m6i.32xlarge` | 8 | 32 | 120 +**M6id** +`m6id.large` | 2 | 2 | 6 +`m6id.xlarge` | 4 | 4 | 16 +`m6id.2xlarge` | 8 | 8 | 32 +`m6id.4xlarge` | 8 | 16 | 64 +`m6id.8xlarge` | 8 | 32 | 64 +`m6id.12xlarge` | 8 | 32 | 64 +`m6id.16xlarge` | 8 | 32 | 120 +`m6id.24xlarge` | 8 | 32 | 120 +`m6id.32xlarge` | 8 | 32 | 120 +**M6idn** +`m6idn.large` | 2 | 2 | 6 +`m6idn.xlarge` | 4 | 4 | 16 +`m6idn.2xlarge` | 8 | 8 | 32 +`m6idn.4xlarge` | 8 | 16 | 64 +`m6idn.8xlarge` | 16 | 32 | 128 +`m6idn.12xlarge` | 16 | 32 | 128 +`m6idn.16xlarge` | 16 | 32 | 240 +`m6idn.24xlarge` | 32 | 32 | 480 +`m6idn.32xlarge` | 32 | 32 | 256 +**M6in** +`m6in.large` | 2 | 2 | 6 +`m6in.xlarge` | 4 | 4 | 16 +`m6in.2xlarge` | 8 | 8 | 32 +`m6in.4xlarge` | 8 | 16 | 64 +`m6in.8xlarge` | 16 | 32 | 128 +`m6in.12xlarge` | 16 | 32 | 128 +`m6in.16xlarge` | 16 | 32 | 240 +`m6in.24xlarge` | 32 | 32 | 480 +`m6in.32xlarge` | 32 | 32 | 256 + +##### Compute optimized + +Instance type | Default ENA queues per interface | Maximum ENA queues per interface | Maximum ENA queues per instance +---|---|---|--- +**C6i** +`c6i.large` | 2 | 2 | 6 +`c6i.xlarge` | 4 | 4 | 16 +`c6i.2xlarge` | 8 | 8 | 32 +`c6i.4xlarge` | 8 | 16 | 64 +`c6i.8xlarge` | 8 | 32 | 64 +`c6i.12xlarge` | 8 | 32 | 64 +`c6i.16xlarge` | 8 | 32 | 120 +`c6i.24xlarge` | 8 | 32 | 120 +`c6i.32xlarge` | 8 | 32 | 120 +**C6id** +`c6id.large` | 2 | 2 | 6 +`c6id.xlarge` | 4 | 4 | 16 +`c6id.2xlarge` | 8 | 8 | 32 +`c6id.4xlarge` | 8 | 16 | 64 +`c6id.8xlarge` | 8 | 32 | 64 +`c6id.12xlarge` | 8 | 32 | 64 +`c6id.16xlarge` | 8 | 32 | 120 +`c6id.24xlarge` | 8 | 32 | 120 +`c6id.32xlarge` | 8 | 32 | 120 +**C6in** +`c6in.large` | 2 | 2 | 6 +`c6in.xlarge` | 4 | 4 | 16 +`c6in.2xlarge` | 8 | 8 | 32 +`c6in.4xlarge` | 8 | 16 | 64 +`c6in.8xlarge` | 16 | 32 | 128 +`c6in.12xlarge` | 16 | 32 | 128 +`c6in.16xlarge` | 16 | 32 | 240 +`c6in.24xlarge` | 32 | 32 | 480 +`c6in.32xlarge` | 32 | 32 | 256 +**C8gn** +`c8gn.medium` | 1 | 1 | 2 +`c8gn.large` | 2 | 2 | 6 +`c8gn.xlarge` | 4 | 4 | 16 +`c8gn.2xlarge` | 8 | 8 | 32 +`c8gn.4xlarge` | 8 | 16 | 64 +`c8gn.8xlarge` | 8 | 32 | 128 +`c8gn.12xlarge` | 16 | 64 | 192 +`c8gn.16xlarge` | 16 | 64 | 256 +`c8gn.24xlarge` | 16 | 128 | 384 +`c8gn.48xlarge` | 32 | 128 | 384 + +##### Memory optimized + +Instance type | Default ENA queues per interface | Maximum ENA queues per interface | Maximum ENA queues per instance +---|---|---|--- +**R6i** +`r6i.large` | 2 | 2 | 6 +`r6i.xlarge` | 4 | 4 | 16 +`r6i.2xlarge` | 8 | 8 | 32 +`r6i.4xlarge` | 8 | 16 | 64 +`r6i.8xlarge` | 8 | 32 | 64 +`r6i.12xlarge` | 8 | 32 | 64 +`r6i.16xlarge` | 8 | 32 | 120 +`r6i.24xlarge` | 8 | 32 | 120 +`r6i.32xlarge` | 8 | 32 | 120 +**R6idn** +`r6idn.large` | 2 | 2 | 6 +`r6idn.xlarge` | 4 | 4 | 16 +`r6idn.2xlarge` | 8 | 8 | 32 +`r6idn.4xlarge` | 8 | 16 | 64 +`r6idn.8xlarge` | 16 | 32 | 128 +`r6idn.12xlarge` | 16 | 32 | 128 +`r6idn.16xlarge` | 16 | 32 | 240 +`r6idn.24xlarge` | 32 | 32 | 480 +`r6idn.32xlarge` | 32 | 32 | 256 +**R6in** +`r6in.large` | 2 | 2 | 6 +`r6in.xlarge` | 4 | 4 | 16 +`r6in.2xlarge` | 8 | 8 | 32 +`r6in.4xlarge` | 8 | 16 | 64 +`r6in.8xlarge` | 16 | 32 | 128 +`r6in.12xlarge` | 16 | 32 | 128 +`r6in.16xlarge` | 16 | 32 | 240 +`r6in.24xlarge` | 32 | 32 | 480 +`r6in.32xlarge` | 32 | 32 | 256 +**R6id** +`r6id.large` | 2 | 2 | 6 +`r6id.xlarge` | 4 | 4 | 16 +`r6id.2xlarge` | 8 | 8 | 32 +`r6id.4xlarge` | 8 | 16 | 64 +`r6id.8xlarge` | 8 | 32 | 64 +`r6id.12xlarge` | 8 | 32 | 64 +`r6id.16xlarge` | 8 | 32 | 120 +`r6id.24xlarge` | 8 | 32 | 120 +`r6id.32xlarge` | 8 | 32 | 120