> ## Documentation Index
> Fetch the complete documentation index at: https://ona.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade runner

> CloudFormation infrastructure upgrades for AWS runners.

The AWS runner updates itself automatically for application-level changes. Update activity is logged to CloudWatch. For details on how automatic updates work and how to configure update windows, see [Automated updates](/docs/ona/runners/runner-updates).

Automatic application updates are supported for both CloudFormation and Terraform deployments. They do not upgrade your infrastructure. Features that require new infrastructure remain unavailable until you update your CloudFormation stack or Terraform deployment.

This page covers AWS-specific update procedures: CloudFormation infrastructure upgrades and parameter changes.

## Upgrade runner infrastructure

When a new CloudFormation template version is available, you can upgrade your runner infrastructure directly from the Ona dashboard.

1. Navigate to **Settings → Runners** and select your runner

2. Open the runner menu (three-dot icon) and click **Upgrade runner**

   <img src="https://mintcdn.com/gitpod-13c83c2b/oRlAupjkDsxlKVka/images/docs/ona/runners/upgrade-runner-menu.webp?fit=max&auto=format&n=oRlAupjkDsxlKVka&q=85&s=c07d179257176ace877241da1f0b1605" alt="Runner details page showing the Upgrade runner option in the three-dot menu" width="2484" height="1282" data-path="images/docs/ona/runners/upgrade-runner-menu.webp" />

3. Follow the instructions in the upgrade dialog. It provides the template URL for your runner

   <img src="https://mintcdn.com/gitpod-13c83c2b/oRlAupjkDsxlKVka/images/docs/ona/runners/upgrade-runner-dialog.webp?fit=max&auto=format&n=oRlAupjkDsxlKVka&q=85&s=56df4a46d0868abf4ab897172be87898" alt="Upgrade runner dialog showing CloudFormation stack update instructions and template URL" width="1396" height="1332" data-path="images/docs/ona/runners/upgrade-runner-dialog.webp" />

4. Open your runner's CloudFormation stack in the AWS console

5. Click **Update** → **Replace existing template** and enter the template URL from the dialog

   <img src="https://mintcdn.com/gitpod-13c83c2b/-CSjSbIr1VxJFl5t/images/docs/flex/runners/update_stack_replace_existing.png?fit=max&auto=format&n=-CSjSbIr1VxJFl5t&q=85&s=49d6010d0bed7e90e65be4072d6b6495" alt="AWS CloudFormation Update stack dialog with Replace existing template option selected" width="2012" height="1334" data-path="images/docs/flex/runners/update_stack_replace_existing.png" />

6. Review parameters and complete the wizard

<Warning>
  If your runner uses an Internet Gateway directly (without NAT or private network connectivity such as VPC endpoints), set the **Assign Public IP** parameter under [Network Configuration](/docs/ona/runners/aws/setup#network-configuration) to `true`.

  <img src="https://mintcdn.com/gitpod-13c83c2b/T6QG5d4YD8akPIIH/images/docs/ona/runners/upgrade-runner-public-ip.webp?fit=max&auto=format&n=T6QG5d4YD8akPIIH&q=85&s=7b8e7fc70319f755fec994d7bf520766" alt="CloudFormation parameter showing Assign Public IP set to true" width="901" height="382" data-path="images/docs/ona/runners/upgrade-runner-public-ip.webp" />
</Warning>

<Note>
  Templates from January 2025 or earlier have SSH port changes. Before upgrading, stop and discard existing environments, or add port 22 to your security group.
</Note>

## Update parameters

To change VPC, subnets, or other settings without updating the template:

1. Open your runner's CloudFormation stack

2. Click **Update** → **Use existing template**

   <img src="https://mintcdn.com/gitpod-13c83c2b/-CSjSbIr1VxJFl5t/images/docs/flex/runners/update_stack_use_existing.png?fit=max&auto=format&n=-CSjSbIr1VxJFl5t&q=85&s=dd100957d8dcdbd30a5cb83e4de199f1" alt="AWS CloudFormation Update stack dialog with Use existing template option selected" width="2044" height="808" data-path="images/docs/flex/runners/update_stack_use_existing.png" />

3. Adjust parameters and complete the wizard

### Expanding availability zones

Availability is determined by your subnets, not the AZ parameter. Use the **VPC Resource Map** in AWS console to find subnets for your desired AZs.

<img src="https://mintcdn.com/gitpod-13c83c2b/-CSjSbIr1VxJFl5t/images/docs/flex/runners/vpc_resource_map.png?fit=max&auto=format&n=-CSjSbIr1VxJFl5t&q=85&s=2be1c2a1ddb367c68c5ca32acffe26b9" alt="AWS VPC Resource Map showing subnets and availability zones in your VPC" width="1646" height="1194" data-path="images/docs/flex/runners/vpc_resource_map.png" />
