Skip to main content
The terraform-aws-modules/rds-aurora/aws module creates and manages AWS Aurora RDS clusters using Terraform. It handles the full lifecycle of an Aurora cluster — provisioning instances, security groups, subnet groups, parameter groups, IAM roles for enhanced monitoring, CloudWatch log groups, autoscaling policies, and custom endpoints — through a single, well-tested module interface. Use this module when you need a production-ready Aurora cluster without writing and maintaining all the underlying resource definitions yourself.

Available features

Autoscaling of read-replicas

Automatically scale Aurora read replicas up and down based on CPU utilization or connection count targets.

Global cluster

Deploy multi-region Aurora global clusters with a primary writer and cross-region read replicas.

Enhanced monitoring

Emit high-frequency OS-level metrics to CloudWatch via an automatically provisioned IAM role.

Serverless cluster (v1 and v2)

Run Aurora Serverless v1 (scaling configuration) or v2 (serverlessv2 scaling configuration) clusters that scale to zero during idle periods.

Import from S3

Restore a MySQL cluster from a Percona Xtrabackup stored in S3 using the s3_import argument.

Fine grained control of individual cluster instances

Override instance class, parameter group, promotion tier, and other attributes per instance using the instances map.

Custom endpoints

Create additional cluster endpoints targeting specific static members or excluding specific instances for mixed-workload routing.

RDS multi-AZ support

Provision multi-AZ RDS clusters (non-Aurora engine) using the same module interface.

Aurora Limitless

Deploy Aurora Limitless clusters with shard group configuration for horizontally scalable workloads.

Aurora DSQL cluster

Create Aurora DSQL clusters for distributed SQL with active-active multi-region support.

Requirements

Terraform >= 1.11.1 and the AWS provider >= 6.28 are required.
terraform {
  required_version = ">= 1.11.1"

  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 6.28"
    }
  }
}

Module source

Reference this module in your Terraform configuration using the Terraform Registry source address:
module "aurora" {
  source = "terraform-aws-modules/rds-aurora/aws"

  # ... configuration
}

Next steps

Quickstart

Deploy your first Aurora PostgreSQL cluster in minutes with a complete working example.

PostgreSQL example

A full PostgreSQL cluster with custom endpoints, parameter groups, activity streaming, and CloudWatch logs.

MySQL example

A simple Aurora MySQL cluster demonstrating the minimal required configuration.

Autoscaling

Configure read-replica autoscaling for variable workloads.

Build docs developers (and LLMs) love