Skip to main content
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