- Obtain the root cert from: https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem . This cert will be used for connecting to the db instance when SSL is enforced
- Create a new parameter grp based on the DB engine version, as all the db instances are in default parameter grp [Default parameter grps cannot be modified]
- Change the rds.force_ssl to 1 from 0
- Minize the db connections (Or choose off hours/stop services/drop all connections) Optional
- Take a manual snapshot of the Database *optional if enabled with daily backup - aws stores the transactional logs.
- Apply the new parameter grp to the db instance (created in #2) with immediate effect.
- Reboot the db instance to get the new parameter change applied
- In case of MultiAZ DB, reboot with "force failover"
Note: By default Postgres DB in RDS, comes with 'ssl connection' turned ON, BUT not enforced. This means that it can accept both SSL and non SSL connections
Impact on the Application, post the change:
- App must use the SSL cert (from #1) to connect to the DB
- Non SSL connections will fail