---
sidebar_label: AWS EC2
doc_id: 6df56820-66e3-49be-872b-bf410a57b599
description: >-
  Configuration schema for AWS EC2 instances including AMI, scaling, storage,
  and security settings
keywords:
  - AWS
  - EC2
  - AMI
  - autoscaling
  - cloud configuration
---

# AWS EC2

**Type**: `ec2-configuration`

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|[**ami**](#ami)<br/>(AMI configuration)|`object`||yes|
|[**scaling**](#scaling)<br/>(Scaling configuration)|`object`||no|
|[**storage**](#storage)<br/>(Storage configuration)|`object`||no|
|[**security**](#security)<br/>(Security configuration)|`object`||yes|

**Additional Properties:** not allowed  
**Example**

```json
{
    "ami": {
        "id": "ami-0123456789abcdef0",
        "gpu_id": "ami-0123456789abcdef0"
    },
    "scaling": {},
    "storage": {
        "parameters_bucket": "my-params-bucket",
        "parameters_encryption_secret": "my-secret-name"
    },
    "security": {
        "ssh_key": "my-ssh-key",
        "iam_profile": "arn:aws:iam::123456789012:instance-profile/my-instance-profile"
    }
}
```

<a name="ami"></a>
## ami: AMI configuration

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**id**<br/>(AMI ID)|`string`|The ID of the Amazon Machine Image (AMI) to use for EC2 instances<br/>Pattern: `^ami-[a-f0-9]{8,17}$`<br/>|yes|
|**gpu\_id**<br/>(GPU AMI ID)|`string`|The ID of the GPU-enabled Amazon Machine Image (AMI)<br/>Pattern: `^ami-[a-f0-9]{8,17}$`<br/>|no|

**Example**

```json
{
    "id": "ami-0123456789abcdef0",
    "gpu_id": "ami-0123456789abcdef0"
}
```

<a name="scaling"></a>
## scaling: Scaling configuration

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**use\_autoscaling\_management**<br/>(Auto Scaling)|`boolean`|Enable autoscaling management during deployments using scale in policies<br/>||

<a name="storage"></a>
## storage: Storage configuration

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**parameters\_bucket**<br/>(Parameters S3 Bucket)|`string`|The name of the S3 bucket used for storing parameters<br/>Minimal Length: `3`<br/>Maximal Length: `63`<br/>Pattern: `^[a-z0-9](?:[a-z0-9.-]{1,61}[a-z0-9])?$`<br/>||
|**parameters\_encryption\_secret**<br/>(Parameters Encryption Secret Name)|`string`|The name of the secret used for parameters encryption<br/>||

**Example**

```json
{
    "parameters_bucket": "my-params-bucket",
    "parameters_encryption_secret": "my-secret-name"
}
```

<a name="security"></a>
## security: Security configuration

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**ssh\_key**<br/>(SSH Key Name)|`string`|The name of the SSH key pair for EC2 instance access<br/>Pattern: `^[a-zA-Z0-9-_]+$`<br/>|no|
|**iam\_profile**<br/>(IAM Instance Profile ARN)|`string`|The ARN of the IAM instance profile to attach to EC2 instances<br/>Pattern: `^arn:aws:iam::[0-9]{12}:instance-profile/[a-zA-Z0-9+=,.@_-]+$`<br/>|yes|

**Example**

```json
{
    "ssh_key": "my-ssh-key",
    "iam_profile": "arn:aws:iam::123456789012:instance-profile/my-instance-profile"
}
```

