+resource "aws_db_subnet_group" "arvados_db_subnet_group" {
+ count = local.use_rds ? 1 : 0
+ name = "${local.cluster_name}_db_subnet_group"
+ subnet_ids = [local.private_subnet_id, local.additional_rds_subnet_id]
+}
+
+resource "aws_db_instance" "postgresql_service" {
+ count = local.use_rds ? 1 : 0
+ allocated_storage = local.rds_allocated_storage
+ max_allocated_storage = local.rds_max_allocated_storage
+ engine = "postgres"
+ engine_version = local.rds_postgresql_version
+ instance_class = local.rds_instance_type
+ db_name = "${local.cluster_name}_arvados"
+ username = local.rds_username
+ password = local.rds_password
+ skip_final_snapshot = !local.rds_backup_before_deletion
+ final_snapshot_identifier = local.rds_final_backup_name
+
+ vpc_security_group_ids = [local.arvados_sg_id]
+ db_subnet_group_name = aws_db_subnet_group.arvados_db_subnet_group[0].name
+
+ backup_retention_period = local.rds_backup_retention_period
+ publicly_accessible = false
+ storage_encrypted = true
+ multi_az = false
+
+ lifecycle {
+ ignore_changes = [
+ username,
+ ]
+ }
+
+ tags = {
+ Name = "${local.cluster_name}_postgresql_service"
+ }
+}
+