README
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 |