rvn-aurora / Latest version: 1.5.0
See Aurora Database module reference for the full module page.
$ref:rvn-aws-network
required
VPC network.
- Immutable after creation
network to null.
Mapped inputs for network: set these keys alongside network, not inside it, when supplying existing infrastructure instead of a module reference.
section
AWS account & region.
string
AWS account.
- Default:
<< ref.input.aws_account_id >> - Immutable after creation
string
Region.
- Default:
<< ref.input.aws_region >> - Immutable after creation
string
Terraform execution environment. Override the VPC, subnet, and security group for Pipeline Terraform runners. Must use the same AWS account as selected above.
- Default:
<< ref.input.execution_environment_id >>
section
VPC.
string
required
VPC ID.
- Default:
<<ref.stack.output.vpc_id>> - Immutable after creation
string_array
required
Private subnet IDs. Used for the Aurora DB subnet group when the database is not publicly accessible. Use at least two subnets in different Availability Zones.
- Default:
<<ref.stack.output.private_subnet_ids>> - Immutable after creation
string_array
Public subnet IDs. Used for the Aurora DB subnet group when Publicly accessible is enabled. AWS requires public subnets for public database access.
- Default:
<<ref.stack.output.public_subnet_ids>> - Immutable after creation
- Shown when:
{"public_access_enabled":true}
Database
string
required
Name slug. Name of the Aurora cluster and prefix for related resources.
- Default:
<<project.given_id>>-<<environment.given_id>> - Immutable after creation
- Pattern:
^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$— 1-63 lowercase letters, numbers, and hyphens. Start with a letter and end with a letter or number.
string
required
Create or restore.
- Default:
none - Allowed values:
none(New empty database),snapshot(Restore from snapshot),point_in_time(Point-in-time restore) - Immutable after creation
string
Database name. Name for an automatically created database on the cluster.
- Immutable after creation
- Pattern:
^[A-Za-z][A-Za-z0-9_]{0,63}$— 1-64 letters, numbers, and underscores. Start with a letter. - Shown when:
{"restore_mode":"none"}
string
required
Username.
- Default:
dbadmin - Immutable after creation
- Pattern:
^[A-Za-z][A-Za-z0-9_]{0,62}$— Invalid Aurora master username. Start with a letter. Letters, numbers, and underscores only. - Shown when:
{"restore_mode":"none"}
string
required
Snapshot to restore. Snapshot identifier or ARN to restore into this new Aurora cluster.
- Immutable after creation
- Shown when:
{"restore_mode":"snapshot"}
string
required
Source cluster identifier. Source Aurora cluster identifier to restore from.
- Immutable after creation
- Shown when:
{"restore_mode":"point_in_time"}
string
required
Restore type.
- Default:
full-copy - Allowed values:
full-copy(Full copy),copy-on-write(Copy on write) - Immutable after creation
- Shown when:
{"restore_mode":"point_in_time"}
boolean
Use latest restorable time. Restore to the latest time AWS can recover from the selected source cluster backup.
- Default:
true - Immutable after creation
- Shown when:
{"restore_mode":"point_in_time"}
string
Restore time. Restore to this UTC timestamp instead of the latest restorable time.
- Immutable after creation
- Shown when:
{"point_in_time_use_latest_restorable_time":false,"restore_mode":"point_in_time"}
Version
string
required
Engine.
- Default:
aurora-postgresql - Allowed values:
aurora-postgresql(Aurora PostgreSQL),aurora-mysql(Aurora MySQL) - Immutable after creation
string
required
Engine major version. Examples: 16 for Aurora PostgreSQL or 8.0 for Aurora MySQL.
string
Engine minor version. Optional minor engine version appended to the major version. Example: 4 becomes 16.4 for Aurora PostgreSQL; 3.08.0 becomes 8.0.mysql_aurora.3.08.0 for Aurora MySQL.
boolean
Auto minor version upgrades. Enable automatic minor engine version upgrades during the configured maintenance window.
- Default:
true
Capacity
string
required
Capacity mode. Choose fixed DB instances or Aurora Serverless v2 capacity.
- Default:
provisioned - Allowed values:
provisioned(Provisioned instances),serverless_v2(Serverless v2)
string
required
Instance class. Aurora writer instance size, such as db.t4g.medium or db.r6g.large.
- Default:
db.t4g.medium - Shown when:
{"capacity_mode":"provisioned"}
number
required
Min capacity (ACUs). Minimum Aurora Serverless v2 capacity units. Must not exceed max capacity.
- Default:
1 - Min:
1 - Max:
256 - Shown when:
{"capacity_mode":"serverless_v2"}
number
required
Max capacity (ACUs). Maximum Aurora Serverless v2 capacity units. Must be at least min capacity.
- Default:
4 - Min:
1 - Max:
256 - Shown when:
{"capacity_mode":"serverless_v2"}
Storage & cluster
string
Storage type.
- Default:
aurora - Allowed values:
aurora(Aurora Standard),aurora-iopt1(Aurora I/O-Optimized)
string
Storage KMS key ARN.
- Immutable after creation
string
CA certificate identifier.
string
Network type.
- Default:
IPV4 - Allowed values:
IPV4(IPv4),DUAL(Dual-stack)
Network access
boolean
Publicly accessible. Keep disabled for production databases unless public access is intentional.
- Default:
false
number
Port. Leave blank to use the engine default port: 5432 for PostgreSQL or 3306 for MySQL.
- Min:
1 - Max:
65535
boolean
Security group creation.
- Default:
true - Immutable after creation
string
Existing security group ID.
- Shown when:
{"security_group_creation_enabled":false}
string_array
Allowed security groups.
- Shown when:
{"security_group_creation_enabled":true}
string_array
Allowed CIDR blocks.
- Shown when:
{"security_group_creation_enabled":true}
Connection pooling
boolean
RDS Proxy. Create an RDS Proxy in front of the cluster for connection pooling and improved failover handling. Applications keep connecting to the cluster endpoint until you update their connection string to the proxy endpoint output.
- Default:
false
string_array
Auth secret ARNs. Secrets Manager secrets containing database credentials for the proxy. Leave blank to use the managed master user secret.
- Shown when:
{"proxy_creation_enabled":true}
string_array
Auth secret KMS key ARNs. KMS keys used to encrypt the auth secrets when using customer-managed keys. The master user secret KMS key is included automatically.
- Shown when:
{"proxy_creation_enabled":true}
boolean
IAM authentication. Require IAM authentication for client connections to the proxy.
- Default:
false - Shown when:
{"proxy_creation_enabled":true}
boolean
Require TLS. Require TLS for client connections to the proxy.
- Default:
true - Shown when:
{"proxy_creation_enabled":true}
boolean
Debug logging. Log detailed connection information, including SQL statements, to CloudWatch Logs.
- Default:
false - Shown when:
{"proxy_creation_enabled":true}
number
Idle client timeout (seconds).
- Default:
1800 - Min:
1 - Max:
28800 - Shown when:
{"proxy_creation_enabled":true}
number
Connection borrow timeout (seconds).
- Default:
120 - Min:
0 - Shown when:
{"proxy_creation_enabled":true}
number
Max connections (%). Maximum size of the connection pool as a percentage of the database max_connections setting.
- Default:
100 - Min:
1 - Max:
100 - Shown when:
{"proxy_creation_enabled":true}
number
Max idle connections (%). Maximum idle connections kept open, as a percentage of the database max_connections setting.
- Default:
50 - Min:
0 - Max:
100 - Shown when:
{"proxy_creation_enabled":true}
string_array
Session pinning filters.
- Allowed values:
EXCLUDE_VARIABLE_SETS - Shown when:
{"proxy_creation_enabled":true}
string
Initialization query. SQL statements the proxy runs when opening each new database connection.
- Shown when:
{"proxy_creation_enabled":true}
Readers
number
Reader count. Number of reader instances to create.
- Default:
0 - Min:
0 - Max:
15
string
Reader instance class. Reader instance class. Leave blank to use the writer instance class.
- Shown when:
{"capacity_mode":"provisioned"}
number
Promotion tier. Default failover priority for instances. Lower values have higher priority.
- Min:
0 - Max:
15
boolean
Reader autoscaling.
- Default:
false
number
Min reader capacity. Must not exceed max reader capacity.
- Default:
1 - Min:
0 - Shown when:
{"autoscaling_enabled":true}
number
Max reader capacity. Must be at least min reader capacity.
- Default:
3 - Min:
1 - Shown when:
{"autoscaling_enabled":true}
number
Target CPU utilization (%).
- Default:
70 - Min:
1 - Max:
100 - Shown when:
{"autoscaling_enabled":true}
number
Target connections.
- Min:
1 - Shown when:
{"autoscaling_enabled":true}
number
Scale-in cooldown seconds.
- Default:
300 - Min:
0 - Shown when:
{"autoscaling_enabled":true}
number
Scale-out cooldown seconds.
- Default:
300 - Min:
0 - Shown when:
{"autoscaling_enabled":true}
Credentials & authentication
boolean
Manage password in Secrets Manager. Let AWS generate and manage the master password in Secrets Manager. Turn off to name the secret yourself, or before importing a cluster whose existing password is managed externally.
- Default:
true
boolean
Preserve existing master password. Preserve the externally managed password of an imported cluster. Ravion verifies that the named cluster already exists in AWS.
- Default:
false - Shown when:
{"master_user_password_management_enabled":false}
string
Master password secret name. Generate the master password and store it in a Secrets Manager secret with this name, such as prod/app/db. Not rotated automatically; the password stays out of Terraform state.
- Pattern:
^[A-Za-z0-9/_+=.@-]{1,512}$— 1-512 letters, numbers, and / _ + = . @ - characters. - Shown when:
{"master_user_password_management_enabled":false,"master_user_password_preservation_enabled":false,"restore_mode":"none"}
number
Master password version. Increment to generate a new password and write it to the cluster and the secret on the next deploy.
- Default:
1 - Min:
1 - Shown when:
{"master_user_password_management_enabled":false,"master_user_password_preservation_enabled":false,"restore_mode":"none"}
string
Secrets Manager KMS key ARN.
- Shown when:
{"restore_mode":"none"}
boolean
IAM database authentication.
- Default:
false
boolean
Data API (HTTP endpoint). Enable the Aurora Data API HTTP endpoint.
- Default:
false
MySQL settings
number
Backtrack window (seconds). Target backtrack window in seconds. Set 0 to disable.
- Default:
0 - Min:
0 - Max:
259200 - Shown when:
{"engine":"aurora-mysql"}
boolean
Local write forwarding.
- Default:
false - Shown when:
{"engine":"aurora-mysql"}
Backups
number
Backup retention days.
- Default:
7 - Min:
1 - Max:
35
string
Backup window.
boolean
Copy tags to snapshots.
- Default:
true
boolean
Create final snapshot.
- Default:
true
string
Final snapshot identifier.
- Shown when:
{"final_snapshot_creation_enabled":true}
boolean
Deletion protection.
- Default:
true
Maintenance
string
Maintenance window.
boolean
Allow major version upgrades.
- Default:
false
boolean
Apply changes immediately.
- Default:
false
Parameter groups
boolean
Cluster parameter group creation. Create a cluster parameter group for this database. Disable this only when you want to attach an existing parameter group.
- Default:
true - Immutable after creation
string
Existing cluster parameter group name. Name of an existing cluster parameter group to attach when this module is not creating one.
- Immutable after creation
- Shown when:
{"cluster_parameter_group_creation_enabled":false}
string
Cluster parameter group family. Cluster parameter group family. Leave blank to derive it from the selected engine version.
- Immutable after creation
- Shown when:
{"cluster_parameter_group_creation_enabled":true}
object_array
Cluster parameters. Custom cluster parameters to apply to the created cluster parameter group.
- Default:
[] - Shown when:
{"cluster_parameter_group_creation_enabled":true}
boolean
DB parameter group creation. Create a DB parameter group for cluster instances. Disable this only when you want to attach an existing parameter group.
- Default:
true - Immutable after creation
string
Existing DB parameter group name. Name of an existing DB parameter group to attach when this module is not creating one.
- Immutable after creation
- Shown when:
{"db_parameter_group_creation_enabled":false}
string
DB parameter group family. DB parameter group family. Leave blank to derive it from the selected engine version.
- Immutable after creation
- Shown when:
{"db_parameter_group_creation_enabled":true}
object_array
DB parameters. Custom instance parameters to apply to the created DB parameter group.
- Default:
[] - Shown when:
{"db_parameter_group_creation_enabled":true}
Monitoring
string_array
CloudWatch log exports. Engine logs exported to CloudWatch. Each enabled log type is shown on the module Logs tab.
- Allowed values:
postgresql,audit,error,general,slowquery
number
Enhanced monitoring interval.
- Default:
0 - Allowed values:
0(0),1(1),5(5),10(10),15(15),30(30),60(60)
boolean
Monitoring IAM role creation.
- Default:
true - Immutable after creation
- Shown when:
{"monitoring_interval":{"not":0}}
string
Monitoring IAM role ARN.
- Shown when:
{"monitoring_interval":{"not":0},"monitoring_role_creation_enabled":false}
boolean
Performance insights.
- Default:
true
number
Performance insights retention days. AWS supports 7 days, multiples of 31 days up to 23 months, or 731 days.
- Default:
7 - Allowed values:
7(7 days),31(1 month (31 days)),62(2 months (62 days)),93(3 months (93 days)),186(6 months (186 days)),372(12 months (372 days)),731(24 months (731 days)) - Shown when:
{"performance_insights_enabled":true}
string
Performance insights KMS key ARN.
- Shown when:
{"performance_insights_enabled":true}
CloudWatch alarms
boolean
Create CloudWatch alarms.
- Default:
true
number
CPU alarm threshold (%).
- Default:
80 - Min:
0 - Max:
100 - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
number
Freeable memory alarm threshold (MiB). Triggers when the cluster average falls below this value.
- Default:
256 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
number
Remaining storage alarm threshold (GiB). Minimum remaining cluster volume space, including Serverless v2.
- Default:
100 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true,"engine":"aurora-mysql"}
number
Used storage alarm threshold (TiB). Maximum cluster volume usage, including Serverless v2. Tune below the storage limit supported by your engine version.
- Default:
115 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true,"engine":"aurora-postgresql"}
number
Read IOPS alarm threshold. Maximum across cluster instances, in operations per second. Tune to workload capacity.
- Default:
1000 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
number
Write IOPS alarm threshold. Maximum across cluster instances, in operations per second. Tune to workload capacity.
- Default:
1000 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
number
Connections alarm threshold.
- Default:
100 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
number
Alarm evaluation periods.
- Default:
2 - Min:
1 - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
number
Alarm period seconds. Storage uses at least five minutes; I/O uses at least one minute.
- Default:
300 - Allowed values:
10(10),30(30),60(60),300(300),900(900),3600(3600) - Shown when:
{"cloudwatch_alarms_creation_enabled":true}
string_array
Alarm action ARNs.
- Shown when:
{"cloudwatch_alarms_creation_enabled":true}
string_array
OK action ARNs.
- Shown when:
{"cloudwatch_alarms_creation_enabled":true}
Global database
boolean
Global cluster creation.
- Default:
false - Immutable after creation
string
Global cluster identifier. Global cluster identifier. Set this to create a new global cluster or join an existing global cluster.
- Immutable after creation
string
Source region. Source region for cross-region replication in a global database.
- Immutable after creation
boolean
Global write forwarding.
- Default:
false - Shown when:
{"engine":"aurora-postgresql"}