# AllocationStrategy

Determines how this compute environment chooses instances to spawn.

- Source: [`aws-batch/lib/managed-compute-environment.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-batch/lib/managed-compute-environment.ts#L464)
- Type last changed: v2.96.0 · 13 Sep 2023

## Example

```ts
declare const vpc: ec2.IVpc;

const computeEnv = new batch.ManagedEc2EcsComputeEnvironment(this, 'myEc2ComputeEnv', {
  vpc,
  allocationStrategy: batch.AllocationStrategy.BEST_FIT,
});
```

## Members

| Member | Description |
| --- | --- |
| `BEST_FIT` | Batch chooses the lowest-cost instance type that fits all the jobs in the queue. |
| `BEST_FIT_PROGRESSIVE` | This is the default Allocation Strategy if `spot` is `false` or unspecified. |
| `SPOT_CAPACITY_OPTIMIZED` | If your workflow tolerates interruptions, you should enable `spot` on your `ComputeEnvironment` and use `SPOT_CAPACITY_OPTIMIZED`. |
| `SPOT_PRICE_CAPACITY_OPTIMIZED` | The price and capacity optimized allocation strategy looks at both price and capacity to select the Spot Instance pools that are the least likely to be interrupted and have the lowest possible price. |

## Referenced by

- [`IManagedEc2EcsComputeEnvironment`](/v2/docs/aws-cdk-lib.aws_batch.IManagedEc2EcsComputeEnvironment).allocationStrategy
- [`ManagedEc2EcsComputeEnvironment`](/v2/docs/aws-cdk-lib.aws_batch.ManagedEc2EcsComputeEnvironment).allocationStrategy
- [`ManagedEc2EcsComputeEnvironmentProps`](/v2/docs/aws-cdk-lib.aws_batch.ManagedEc2EcsComputeEnvironmentProps).allocationStrategy
- [`ManagedEc2EksComputeEnvironment`](/v2/docs/aws-cdk-lib.aws_batch.ManagedEc2EksComputeEnvironment).allocationStrategy
- [`ManagedEc2EksComputeEnvironmentProps`](/v2/docs/aws-cdk-lib.aws_batch.ManagedEc2EksComputeEnvironmentProps).allocationStrategy
