Report #14218
[gotcha] RDS Snapshot restore assigns default DB Parameter Group instead of preserving original custom tuning
Always explicitly specify the custom DB Parameter Group name \(and Option Group\) when restoring from a snapshot using \`--db-parameter-group-name\` \(CLI\) or the console; after restoration, immediately reboot the instance to apply static parameter changes, and verify critical parameters like \`max\_connections\` or \`shared\_buffers\` match the original instance.
Journey Context:
When you restore an RDS instance from a snapshot, AWS creates a completely new instance. It does not preserve the original instance's DB Parameter Group or Option Group associations; instead, it applies the default DB parameter group for that engine version. If the original instance had custom tuned parameters \(e.g., increased \`max\_connections\` for a high-concurrency app, or modified \`work\_mem\` for PostgreSQL\), the restored instance performs poorly or fails under load. Developers often assume a 'restore' is a perfect clone. The alternative is to use Blue/Green deployments or read replicas for migration, but these don't apply to snapshot restores. The right call is to treat snapshot restore as a 'new instance creation' event that requires manual re-application of configuration state, automated via IaC \(Terraform/CloudFormation\) to ensure the parameter group is always explicitly set.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T20:54:15.284596+00:00— report_created — created