EC2 instance bandwidth weighting configuration - Amazon Elastic Compute Cloud

EC2 instance bandwidth weighting configuration

Some instance types support configurable bandwidth weighting, where you can select baseline bandwidth weighting that favors either network processing or EBS operations. Default settings for baseline bandwidth are determined by your instance type. You can configure the bandwidth weighting during launch, or modify your instance settings with the following weighting preferences:

  • default – This option uses the standard bandwidth configuration for your instance type.

  • vpc-1 – This option increases the baseline bandwidth available for networking and decreases the baseline bandwidth for EBS operations.

  • ebs-1 – This option increases the baseline bandwidth available for EBS operations, and decreases the baseline bandwidth for networking.

Bandwidth weighting considerations

The following are some considerations that might affect your bandwidth weighting strategy.

  • Setting bandwidth weighting preferences only affects bandwidth specifications. The network packets per second (PPS) and EBS input/output operations per second (IOPS) specifications don't change.

  • The combined bandwidth specification between networking and EBS does not change. When you select a bandwidth weighting configuration, the baseline bandwidth available for the selected option increases, and the baseline bandwidth for the remaining option is reduced by the same absolute amount. The available burst bandwidth remains the same for your selected option, and is reduced for the remaining option.

  • It's important to understand how changes in bandwidth allocation can affect I/O performance for EBS. For EC2 instances that have vpc-1 configuration (increased networking bandwidth), you might experience lower IOPS for EBS volumes if you reach the EBS bandwidth limit before you've reached the IOPS limit. This is more noticeable with larger I/O sizes.

    For example, on an instance type that normally supports 240,000 IOPS with 16 KiB I/O size, if you select vpc-1 weighting, that might reduce the achievable IOPS due to the adjusted EBS baseline bandwidth limit.

    When planning your workload, consider your I/O size and patterns. Smaller I/O sizes are less likely to be affected by bandwidth limitations, while larger I/O sizes or sequential workloads might see more impact from bandwidth changes. Always test your specific workload to ensure optimal performance with your chosen configuration.

  • The networking multi-flow bandwidth specification for traffic that goes through an internet gateway or a local gateway is adjusted to 50% of the baseline bandwidth of the configured option or 5 Gbps, where applicable. For more information, see Amazon EC2 instance network bandwidth.

    The following example is based on an instance type that has a default baseline bandwidth of 40 Gbps, and a default border bandwidth of 20 Gbps. If you choose vpc-1 bandwidth weighting for this instance, the weighted baseline bandwidth changes to 50 Gbps, and the border bandwidth changes to 25 Gbps.

  • This feature is available in all commercial regions, aligned with EC2 instance availablilty and support.

  • This feature adds no additional cost to your EC2 instance.

Supported instance types for bandwidth weighting

The following instance types support configurable bandwidth weighting.

  • C8g (all sizes)

  • M8g (all sizes)

  • R8g (all sizes)

  • X8g (all sizes)

Check current bandwidth settings

To see the current bandwidth settings for your instance, select one of the tabs for instructions.

Console
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Instances.

  3. Select the instance that you want to check from the list, and navigate to the Networking tab. Your current setting is shown in the Configured bandwidth field. Amazon EC2 uses default settings for your instance type if the bandwidth is not set to a specific value.

AWS CLI

To see the current bandwidth settings for a specific instance, you can use the describe-instances command for the specified instance.

aws ec2 describe-instances \ --region us-east-1 \ --instance-ids i-1234567890abcdef0

You can also filter on the bandwidth configuration if you want to see all of the instances in your account in the Region that fit that criteria. This example lists all of the instances in your account in the specified Region that have the bandwidth weighting preference set to vpc-1, for higher networking bandwidth.

aws ec2 describe-instances \ --region us-east-1 \ --filters "Name=network-performance-options.bandwidth-weighting,Values=vpc-1"

Configure bandwidth weighting for your instance

You can configure bandwidth weighting either at launch or by modifying existing instances from the EC2 console, API/SDKs or CLI.

Configure bandwidth weighting when you launch an instance

To configure bandwidth settings when you launch an instance, select one of the tabs for instructions.

Console

There are many details to configure when you launch an instance. This procedure will only cover the settings that are essential to launch an instance with configurable bandwidth weighting.

  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Instances.

  3. Choose Launch instances. This opens the Launch an instance dialog. There are several additional ways that you can get to the the launch dialog, depending on your preference. For example, you can launch an instance directly from an AMI or from the Amazon EC2 dashboard itself.

  4. The Amazon Machine Image (AMI) that you launch from must be based on Arm architecture. Many Quick Start images support both x86 and Arm architectures, After you choose the operating system for your instance, select the Arm option from the Architecture list.

  5. The instance type must be one of the Supported instance types for this feature.

  6. When you expand the Advanced details section, you can scroll down to find the Instance bandwidth configuration settings. Select the bandwidth configuration option for your instance.

  7. Configure all of the other settings for your instance as you normally would, and choose Launch instance.

You can also specify bandwidth weighting in a launch template. To create a launch template, see Create an Amazon EC2 launch template. The parameter to set is in the same location as it is for launching an instance directly from the console. Expand the Advanced details section, and set the Instance bandwidth configuration.

To launch an instance with your launch template, see Launch EC2 instances using a launch template.

AWS CLI

You can use the --network-performance-options BandwidthWeighting parameter to specify bandwidth weighting when you launch an instance with the run-instances command. You can also use specify bandwidth weighting in a launch template.

The following example uses the run-instances command to launch a single instance that's configured for higher network bandwidth weighting from a supported AMI.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --count 1 \ --instance-type c8g.8xlarge \ --key-name MyKeyPair --network-performance-options BandwidthWeighting=vpc-1 \

The following example uses the run-instances command to launch a single instance that's configured for higher EBS bandwidth weighting from a supported AMI.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --count 1 \ --instance-type m8g.8xlarge \ --key-name MyKeyPair --network-performance-options BandwidthWeighting=ebs-1 \
Set bandwidth weighting in a launch template

The JSON file that you use to create the launch template can specify one of the allowed values for the BandwidthWeighting parameter in the NetworkPerformanceOptions section. This JSON snippet sets the bandwidth weighting to vpc-1. Set additional launch template parameters as usual.

{ ... "NetworkPerformanceOptions": { "BandwidthWeighting": "vpc-1" } }

To create a launch template, see Create an Amazon EC2 launch template. To launch an instance with your launch template, see Launch EC2 instances using a launch template.

Update bandwidth weighting for an existing instance

To update bandwidth weighting for an existing instance, your instance must be in the Stopped state. Select one of the tabs for instructions.

Console
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Instances.

  3. Select the instance that you want to update from the list.

  4. Before you change the bandwidth configuration, your instance must be in a Stopped state. If your instance is running, select Stop instance from the Instance state menu.

  5. Choose Manage bandwidth from the Actions > Networking menu. This opens the Manage bandwidth dialog.

    Note

    If your instance type doesn't support configuration for bandwidth weighting, that menu item is disabled.

  6. Select the option to update your instance, and choose Change to save your settings.

AWS CLI

The following example configures higher network bandwidth weighting for the specified instance.

aws ec2 modify-instance-network-performance-options \ --instance-id i-1234567890abcdef0 \ --bandwidth-weighting=vpc-1

The following example configures higher EBS bandwidth weighting for the specified instance.

aws ec2 modify-instance-network-performance-options \ --instance-id i-1234567890abcdef0 \ --bandwidth-weighting=ebs-1

Bandwidth weighting impact for networking

The following table shows the impact of bandwidth weighting on networking bandwidth for the C8g, M8g, R8g, and X8g instance families.

Instance size

Default bandwidth (Gbps)

baseline/burst

vpc-1

baseline/burst

ebs-1

baseline/burst

.medium 0.52 / 12.5 0.65 / 12.5 0.4 / 10
.large 0.94 / 12.5 1.17 / 12.5 0.8 / 10
.xlarge 1.88 / 12.5 2.35 / 12.5 1.6 / 10
.2xlarge 3.75 / 15 4.69 / 15 3.1 / 12.5
.4xlarge 7.5 / 15 9.38 / 15 6.3 / 12.5
.8xlarge 15 18.75 12.5
.12xlarge 22.5 28.13 18.8
.16xlarge 30 37.5 25
.24xlarge 40 50 32.5
.48xlarge 50 62.5 40
.metal-24xl 40 50 32.5
.metal-48xl 50 62.5 40

Bandwidth weighting impact for EBS

The following table shows the impact of bandwidth weighting on bandwidth that's available for EBS operations for the C8g, M8g, R8g, and X8g instance families.

Instance size

Default bandwidth (Gbps)

baseline/burst

vpc-1

baseline/burst

ebs-1

baseline/burst

.medium 0.3 / 10 0.2 / 6.3 0.4 / 10
.large 0.6 / 10 0.4 / 6.3 0.8 / 10
.xlarge 1.3 / 10 0.8 / 6.3 1.6 / 10
.2xlarge 2.5 / 10 1.6 / 6.3 3.1 / 10
.4xlarge 5.0 / 10 3.1 / 6.3 6.3 / 10
.8xlarge 10 6.3 12.5
.12xlarge 15 9.4 18.8
.16xlarge 20 12.5 25
.24xlarge 30 20 37.5
.48xlarge 40 27.5 50
.metal-24xl 30 20 37.5
.metal-48xl 40 27.5 50