# Deployment Parameters

This article lists the definitions of parameters used in the CloudFormation stack [step 2](https://docs.codeocean.com/admin-guide/v2.13/cloudformation-deployment#step-2-specify-stack-details). We recommend to consult with end users of Code Ocean for parameters in Worker Configuration to optimize the user experience.

## Domain Configuration

* DNS Name - Code Ocean application subdomain (e.g. `codeocean`)
* DNS Root Domain - Root domain name (e.g. `acmecorp.com`)
* Existing Route 53 Hosted Zone ID - (Optional) Add Code Ocean DNS records to an existing Route 53 hosted zone. The hosted zone must reside in the same AWS account to which Code Ocean is deployed to.

## TLS Certificate Configuration

* Existing ACM Certificate ARN - (Optional) Existing ACM certificate ARN
* Private Certificate Authority - Change to `true` if the above certificate is signed by a private certificate authority (CA)

## VPC Configuration (Should be specified only in the case of using existing VPC)

* VPC ID - Existing VPC ID. If not specified, a VPC will be created.
* Availability Zone 1 - Availability Zone 1 for the existing VPC
* Availability Zone 2 - Availability Zone 2 for the existing VPC
* Private Subnet 1 ID - Subnet ID for private subnet 1 located in Availability Zone 1 in Existing VPC
* Private Subnet 2 ID - Subnet ID for private subnet 2 located in Availability Zone 2 in Existing VPC
* Public Subnet 1 ID - Subnet ID for public subnet 1 located in Availability Zone 1 in Existing VPC
* Public Subnet 2 ID - Subnet ID for public subnet 2 located in Availability Zone 2 in Existing VPC

{% hint style="warning" %}
**Important!**

The existing VPC should be configured with a [VPC gateway endpoint for S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) to avoid routing S3 data through an internet path which can incur significant charges.
{% endhint %}

## VPC Configuration (For new VPC deployments)

* Availability Zone 1 - Availability Zone 1 for the new VPC
* Availability Zone 2 - Availability Zone 2 for the new VPC
* VPC CIDR - CIDR block for the VPC. Default value 10.0.0.0/16
* Private Subnet 1 CIDR - CIDR block for private subnet 1 located in Availability Zone 1. Default value 10.0.128.0/18
* Private Subnet 2 CIDR - CIDR block for private subnet 2 located in Availability Zone 2. Default value 10.0.192.0/18
* Public Subnet 1 CIDR - CIDR block for public subnet 1 located in Availability Zone 1. Default value 10.0.0.0/18
* Public Subnet 2 CIDR - CIDR block for public subnet 2 located in Availability Zone 2. Default value 10.0.64.0/18

## **Deployment Type Configuration**

* Deployment Type - Choose "internet-facing" to make the deployment internet addressable (default) or choose "internal" to require a VPN to connect

## **Worker Configuration**

* Worker EC2 Instance Type - EC2 instance type for general purpose workers. Instance type must be from the `r5d` family. Default value `r5d.4xlarge`
* Workers Auto Scale Group Max Size - Maximum number of running worker instances. Default value `10`
* Min Available Workers - Minimum number of worker instances the system keeps in its auto scaling warm pool that are ready to receive computations. Default value `1`
* GPU Worker EC2 Instance Type - EC2 instance type for GPU Workers. Instance type must be from the **P** or **G** [family](https://aws.amazon.com/ec2/instance-types/) (i.e p2.\*/p3.\*/ g4dn.\*/g4ad.\*). Default value `g4dn.4xlarge.` Note that not all instance types are available in every region, and you might need to replace the default value.
* GPU Workers Auto Scale Group Max Size - Maximum number of running GPU worker instances. Default value `10`
* Min Available GPU Workers - Minimum number of GPU worker instances the system keeps in its auto scaling warm pool that are ready to receive computations. Default value `1`
* Auto Scaling Idle Timeout - Number of minutes before system scales-in idle workers. Default value `60`

## **IAM Configuration**

* Assumable Roles - Comma delimited list of IAM role ARNs that the system can assume on behalf of users.

## **Pipelines Configuration**

* Batch Max vCpus - Maximum number of vCPUs that can be used by all batch instances. Default value `256`
