README.md

rds-oracle

Creates an RDS Oracle instance with BYOL licensing, Multi-AZ, KMS encryption, and RDS-managed master password.

Provisions an Oracle EE (or SE2) RDS instance with BYOL or license-included model, encrypted gp3 storage, custom parameter group, Multi-AZ standby, automated backups, enhanced monitoring, Performance Insights, and optional custom option group.

Usage

module "rds_oracle" {
  source  = "hcassc.jfrog.io/iac-terraform-modules-virtual/database/rds-oracle/aws"
  version = "0.1.0"

  identifier         = "prod-oracle"
  subnet_ids         = module.vpc.isolated_subnet_id_list
  security_group_ids = [module.security_groups.ids["rds"]]
  kms_key_id         = module.kms.key_arn
  license_model      = "bring-your-own-license"
}

Requirements

Name Version
terraform ~> 1.5
aws ~> 6.50

Providers

Name Version
aws 6.50.0

Resources

Name Type
aws_db_instance.this resource
aws_db_parameter_group.this resource
aws_db_subnet_group.this resource

Inputs

Name Description Type Default Required
identifier RDS instance identifier string n/a yes
security_group_ids Security group IDs list(string) n/a yes
subnet_ids Subnet IDs for the DB subnet group list(string) n/a yes
allocated_storage Allocated storage in GiB number 100 no
backup_retention_period Days to retain automated backups number 7 no
character_set_name Oracle database character set string "AL32UTF8" no
deletion_protection Enable deletion protection bool true no
engine Oracle engine edition — oracle-ee, oracle-ee-cdb, oracle-se2, oracle-se2-cdb string "oracle-ee" no
engine_version Oracle engine version string "19.0.0.0.ru-2024-04.rur-2024-04.r1" no
instance_class RDS instance class string "db.m5.large" no
kms_key_id KMS key ARN for storage encryption string null no
license_model License model — license-included or bring-your-own-license string "bring-your-own-license" no
manage_master_user_password Let RDS manage the master password in Secrets Manager bool true no
max_allocated_storage Maximum storage for autoscaling number 500 no
monitoring_interval Enhanced monitoring interval in seconds number 60 no
multi_az Enable Multi-AZ bool true no
option_group_name Custom option group name (optional) string null no
parameters Map of DB parameter names to values map(string) {} no
skip_final_snapshot Skip final snapshot on deletion bool false no
tags Resource tags to apply to all resources map(string) {} no
username Master username string "admin" no

Outputs

Name Description
address RDS instance hostname
arn RDS instance ARN
endpoint RDS instance connection endpoint
id RDS instance identifier
master_user_secret_arn Secrets Manager secret ARN for master password
port RDS listener port