Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/terraform-aws-modules/terraform-aws-rds/llms.txt

Use this file to discover all available pages before exploring further.

The module supports every engine available in Amazon RDS. The engine variable accepts the identifier string for the engine, and engine_version pins the version. Each engine has a default port, specific parameter group family naming conventions, and a small set of engine-specific variables.

Supported engines

Engine identifierDefault portOption groupsLicense model required
mysql3306YesNo
mariadb3306YesNo
postgres5432NoNo
oracle-ee1521YesYes
oracle-se21521YesYes
oracle-se11521YesYes
oracle-se1521YesYes
sqlserver-ee1433YesYes
sqlserver-se1433YesYes
sqlserver-ex1433YesYes
sqlserver-web1433YesYes

Engine configurations

MySQL is the most commonly used engine with this module. The family parameter group identifier follows the pattern mysql{major}.{minor} and major_engine_version should match the major version.
module "db" {
  source = "terraform-aws-modules/rds/aws"

  identifier = "complete-mysql"

  engine               = "mysql"
  engine_version       = "8.0"
  family               = "mysql8.0" # DB parameter group
  major_engine_version = "8.0"      # DB option group
  instance_class       = "db.t4g.large"

  allocated_storage     = 20
  max_allocated_storage = 100

  db_name  = "completeMysql"
  username = "complete_mysql"
  port     = 3306

  multi_az               = true
  db_subnet_group_name   = module.vpc.database_subnet_group
  vpc_security_group_ids = [module.security_group.security_group_id]

  maintenance_window              = "Mon:00:00-Mon:03:00"
  backup_window                   = "03:00-06:00"
  enabled_cloudwatch_logs_exports = ["general"]
  create_cloudwatch_log_group     = true

  backup_retention_period = 1
  skip_final_snapshot     = true
  deletion_protection     = false

  performance_insights_enabled          = true
  performance_insights_retention_period = 7
  create_monitoring_role                = true
  monitoring_interval                   = 60

  parameters = [
    {
      name  = "character_set_client"
      value = "utf8mb4"
    },
    {
      name  = "character_set_server"
      value = "utf8mb4"
    }
  ]

  tags = local.tags
}
Common engine_version values: 8.0, 8.0.36, 8.0.40, 8.4Valid enabled_cloudwatch_logs_exports: audit, error, general, slowquery

Parameter group family naming

The family variable maps to the AWS parameter group family name. Use the following patterns:
EngineExample family
MySQL 8.0mysql8.0
MySQL 8.4mysql8.4
MariaDB 10.6mariadb10.6
PostgreSQL 14postgres14
PostgreSQL 17postgres17
Oracle EE 19oracle-ee-19
Oracle SE2 19oracle-se2-19
SQL Server EX 15.0sqlserver-ex-15.0
SQL Server SE 15.0sqlserver-se-15.0

Build docs developers (and LLMs) love