Method: Aws::Batch::Types::ComputeResourceUpdate#instance_types

Defined in:
lib/aws-sdk-batch/types.rb

#instance_typesArray<String>

The instances types that can be launched. You can specify instance families to launch any instance type within those families (for example, c5 or p3), or you can specify specific sizes within a family (such as c5.8xlarge).

Batch can select the instance type for you if you choose one of the following:

  • optimal to select instance types (from the c4, m4, r4, c5, m5, and r5 instance families) that match the demand of your job queues.

  • default_x86_64 to choose x86 based instance types (from the m6i, c6i, r6i, and c7i instance families) that matches the resource demands of the job queue.

  • default_arm64 to choose x86 based instance types (from the m6g, c6g, r6g, and c7g instance families) that matches the resource demands of the job queue.

<note markdown=“1”> Starting on 11/01/2025 the behavior of optimal is going to be changed to match default_x86_64. During the change your instance families could be updated to a newer generation. You do not need to perform any actions for the upgrade to happen. For more information about change, see [Optimal instance type configuration to receive automatic instance family updates].

</note>

<note markdown=“1”> Instance family availability varies by Amazon Web Services Region. For example, some Amazon Web Services Regions may not have any fourth generation instance families but have fifth and sixth generation instance families.

When using `default_x86_64` or `default_arm64` instance bundles,

Batch selects instance families based on a balance of cost-effectiveness and performance. While newer generation instances often provide better price-performance, Batch may choose an earlier generation instance family if it provides the optimal combination of availability, cost, and performance for your workload. For example, in an Amazon Web Services Region where both c6i and c7i instances are available, Batch might select c6i instances if they offer better cost-effectiveness for your specific job requirements. For more information on Batch instance types and Amazon Web Services Region availability, see [Instance type compute table] in the *Batch User Guide*.

Batch periodically updates your instances in default bundles to

newer, more cost-effective options. Updates happen automatically without requiring any action from you. Your workloads continue running during updates with no interruption

</note>

<note markdown=“1”> This parameter isn’t applicable to jobs that are running on Fargate resources. Don’t specify it.

</note>

<note markdown=“1”> When you create a compute environment, the instance types that you select for the compute environment must share the same architecture. For example, you can’t mix x86 and ARM instances in the same compute environment.

</note>

[1]: docs.aws.amazon.com/batch/latest/userguide/optimal-default-instance-troubleshooting.html [2]: docs.aws.amazon.com/batch/latest/userguide/instance-type-compute-table.html

Returns:

  • (Array<String>)


1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
# File 'lib/aws-sdk-batch/types.rb', line 1442

class ComputeResourceUpdate < Struct.new(
  :minv_cpus,
  :maxv_cpus,
  :desiredv_cpus,
  :subnets,
  :security_group_ids,
  :allocation_strategy,
  :instance_types,
  :ec2_key_pair,
  :instance_role,
  :tags,
  :placement_group,
  :bid_percentage,
  :launch_template,
  :ec2_configuration,
  :update_to_latest_image_version,
  :type,
  :image_id)
  SENSITIVE = []
  include Aws::Structure
end