Skip to main content
Version: 6.11.0

High Availability in Amazon Aurora Relational Database Service

High Availability (HA) for Aurora Relational Database Service (RDS) can be enabled and used by following application modules:

  • Keycloak
  • Jira
  • Confluence
  • Mattermost
  • SonarQube
  • Nexus
  • Console

For these modules, you can add more than one RDS instance into a cluster and override variables for it, such as your Availability Zone (AZ). Additional instances will be Reader instances only. If the main Writer instance goes down, Aurora will promote a Reader instance to Writer.

You do not have to specify AZ for each instance; Aurora will automatically place each instance into a different AZ. Side Note: On the back end, Aurora volumes are multi-AZ.

For example, to enable Aurora RDS HA for Keycloak in your env.hcl:

locals {
keycloak_inputs = {
rds_instances = {
primary = {}
secondary = {}
replica1 = {}
# ...
} # Allows a specific number of databases to be defined
}
}

You can also add auto scaling to the module's HA. Aurora auto scaling will NOT auto scale any instance created by rds_instances in or out; it will only add reader instances based on a count or CPU load of current instances (70%).

Auto scaling is disabled by default. For example, to enable Aurora RDS HA auto scaling for Keycloak in your env.hcl:

locals {
keycloak_inputs = {
rds_auto_scale = {
enabled = true
min = 0 # default is 0
max = 5 # default is 5
}
}
}