---
sidebar_label: AWS Networking
doc_id: 6db467a4-3103-42a9-8d3b-91ae7627c685
description: >-
  AWS networking configuration schema for VPC and load balancer setup with
  required subnets and security groups.
keywords:
  - AWS
  - VPC
  - load balancer
  - networking
  - subnets
---

# AWS Networking

**Type**: `aws-networking-configuration`

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|[**vpc**](#vpc)<br/>(VPC Configuration)|`object`||yes|
|[**load\_balancer**](#load_balancer)<br/>(Load Balancer Configuration)|`object`|At least one public or private load balancer is required<br/>|no|

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

```json
{
    "vpc": {
        "id": "vpc-1a2b3c4d",
        "subnets": [
            "subnet-1234abcd"
        ],
        "security_groups": [
            "sg-0a1b2c3d"
        ]
    },
    "load_balancer": {
        "public": {
            "arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-public-alb/4e0ec46f67bd1383",
            "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-public-alb/4e0ec46f67bd1383/0987654321fedcba"
        },
        "private": {
            "arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-private-alb/4e0ec46f67bd1383",
            "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-private-alb/4e0ec46f67bd1383/0987654321fedcba"
        }
    }
}
```

<a name="vpc"></a>
## vpc: VPC Configuration

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**id**<br/>(VPC ID)|`string`|The identifier of the AWS Virtual Private Cloud (VPC)<br/>Pattern: `^vpc-([0-9a-f]{8}\|[0-9a-f]{17})$`<br/>|yes|
|[**subnets**](#vpcsubnets)<br/>(Subnet IDs)|`string[]`|List of AWS Subnet IDs associated with your VPC<br/>|yes|
|[**security\_groups**](#vpcsecurity_groups)<br/>(Security Group IDs)|`string[]`|List of AWS Security Group IDs<br/>|yes|

**Example**

```json
{
    "id": "vpc-1a2b3c4d",
    "subnets": [
        "subnet-1234abcd"
    ],
    "security_groups": [
        "sg-0a1b2c3d"
    ]
}
```

<a name="vpcsubnets"></a>
### vpc\.subnets\[\]: Subnet IDs

List of AWS Subnet IDs associated with your VPC

**Items**

**Item Type:** `string`  
**Item Pattern:** `^subnet-([0-9a-f]{8}\|[0-9a-f]{17})$`  
**Minimum Items:** 1  
**Example**

```json
[
    "subnet-1234abcd"
]
```

<a name="vpcsecurity_groups"></a>
### vpc\.security\_groups\[\]: Security Group IDs

List of AWS Security Group IDs

**Items**

**Item Type:** `string`  
**Item Pattern:** `^sg-([0-9a-f]{8}\|[0-9a-f]{17})$`  
**Minimum Items:** 1  
**Example**

```json
[
    "sg-0a1b2c3d"
]
```

<a name="load_balancer"></a>
## load\_balancer: Load Balancer Configuration

At least one public or private load balancer is required

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|[**public**](#load_balancerpublic)<br/>(Public Load Balancer)|`object`|||
|[**private**](#load_balancerprivate)<br/>(Private Load Balancer)|`object`|||

**Example**

```json
{
    "public": {
        "arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-public-alb/4e0ec46f67bd1383",
        "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-public-alb/4e0ec46f67bd1383/0987654321fedcba"
    },
    "private": {
        "arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-private-alb/4e0ec46f67bd1383",
        "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-private-alb/4e0ec46f67bd1383/0987654321fedcba"
    }
}
```

<a name="load_balancerpublic"></a>
### load\_balancer\.public: Public Load Balancer

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**arn**<br/>(Public ALB ARN)|`string`|ARN of the public Application Load Balancer<br/>Pattern: `^arn:aws:elasticloadbalancing:[a-z0-9-]+:[0-9]{12}:loadbalancer/app/[a-zA-Z0-9-]+/[a-f0-9]{16}$`<br/>||
|**listener\_arn**<br/>(Public Listener ARN)|`string`|ARN of the public ALB listener<br/>Pattern: `^arn:aws:elasticloadbalancing:[a-z0-9-]+:[0-9]{12}:listener/app/[a-zA-Z0-9-]+/[a-f0-9]{16}/[a-f0-9]{16}$`<br/>||

**Example**

```json
{
    "arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-public-alb/4e0ec46f67bd1383",
    "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-public-alb/4e0ec46f67bd1383/0987654321fedcba"
}
```

<a name="load_balancerprivate"></a>
### load\_balancer\.private: Private Load Balancer

**Properties**

|Name|Type|Description|Required|
|----|----|-----------|--------|
|**arn**<br/>(Private ALB ARN)|`string`|ARN of the private Application Load Balancer<br/>Pattern: `^arn:aws:elasticloadbalancing:[a-z0-9-]+:[0-9]{12}:loadbalancer/app/[a-zA-Z0-9-]+/[a-f0-9]{16}$`<br/>||
|**listener\_arn**<br/>(Private Listener ARN)|`string`|ARN of the private ALB listener<br/>Pattern: `^arn:aws:elasticloadbalancing:[a-z0-9-]+:[0-9]{12}:listener/app/[a-zA-Z0-9-]+/[a-f0-9]{16}/[a-f0-9]{16}$`<br/>||

**Example**

```json
{
    "arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-private-alb/4e0ec46f67bd1383",
    "listener_arn": "arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-private-alb/4e0ec46f67bd1383/0987654321fedcba"
}
```

