---
title: Migrating RDS to Aurora
url: https://www.tines.com/docs/self-hosted/best-practices/migrating-rds-to-aurora/
updated: 2026-03-18T09:42:07+00:00
---

*[tines.com](https://www.tines.com/llms.txt) › [Docs](https://www.tines.com/llms.txt) › [Self-Hosted](https://www.tines.com/llm/docs/self-hosted.md) › [Best Practices](https://www.tines.com/llm/docs/self-hosted/best-practices.md)*

# Migrating RDS to Aurora

*[View on tines.com](https://www.tines.com/docs/self-hosted/best-practices/migrating-rds-to-aurora/)*

If your Tines installation is running a single RDS database instance, we recommend you migrate to an Aurora PostgreSQL database cluster for improved performance and reliability.

You can migrate the database using a snapshot by following [this guide from AWS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Import.Console). 

> **NOTE:** You can also [migrate using an Aurora read replica](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.html#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica). This approach offers less downtime for your application, but is more complex.

1 - While you execute this migration, you should update your **tines-app** and **tines-sidekiq** ECS services to have a desired task count of 0 in order to prevent data loss. This will require some downtime on your Tines installation.

2 - Follow all steps in AWS's guide. When you reach step 5, follow these guidelines to configure the new cluster correctly:

- Your new database cluster should use the same values as your existing instance for the following fields:
  
  - *VPC*
  - *DB subnet group*
  - *VPC security group*
- We also recommend the following values for other fields:
  
  - *DB engine version* - the latest minor version for the same major version as your existing instance. This will be a PostgreSQL 11 version, unless you have already manually migrated your existing instance to PostgreSQL 14.
  - *DB instance class *- we recommend either a `db.t4g.large`, or a `db.r6g.xlarge` depending on your performance needs. Larger instance sizes will also work if you need further performance improvements, although they  will cost more.
  - *DB instance identifier* - a clear name like `tines-db-cluster`.
  - *Public access *- this should be set to *No* for security.
  - *Availability Zone* - we recommend *No preference* for improved reliability.
  - *Database port* - this can be left as the default of 5432, unless you have customized it on your existing instance. This should match the `DATABASE_PORT` environment variable for your installation.
  - *Enable Encryption* - we recommend enabling this to ensure your Tines data is encrypted at rest.
  - *Auto minor version upgrade* - we recommend disabling this to avoid unexpected downtime on your Tines installation.

3 - Update your `.env` file in S3:

- `DATABASE_HOST` should be set to the Endpoint URL of your new database cluster.
- All other fields can keep the same values as before.

4 - Update your **tines-app** and **tines-sidekiq** ECS services to have their original desired task count. Once these tasks start, your Tines installation will be available again.
