How to Import an AWS RDS DB Parameter Group into Terraform
terraback aws import --method bulk. Terraback writes the matching aws_db_parameter_group resource block and the Terraform 1.5+ import block for you, so you do not have to run terraform import by hand. The import ID is the parameter group name (for example, app-prod-pg15).Import AWS RDS DB Parameter Group with Terraback (recommended)
Terraback reverse-engineers your live infrastructure: it reads the Amazon RDS resource with read-only credentials, generates the HCL, and produces the exact import block. Two commands take you from a live AWS RDS DB Parameter Group to managed Terraform.
Scan your AWS account
terraback scan all aws --region us-east-1Generate import blocks and import into state
terraback aws import --method bulkThe Terraform import block
Terraback emits a Terraform 1.5+ import block like the one below. Because the block lives in your configuration, the import is reviewable in a pull request and repeatable across environments.
import {
to = aws_db_parameter_group.pg15
id = "app-prod-pg15"
}Example aws_db_parameter_group configuration
Here is a realistic AWS RDS DB Parameter Group block. Terraback generates a fuller version from your actual resource attributes; this is a minimal, valid starting point.
resource "aws_db_parameter_group" "pg15" {
name = "app-prod-pg15"
family = "postgres15"
parameter {
name = "log_min_duration_statement"
value = "500"
apply_method = "immediate"
}
}Gotchas when importing a AWS RDS DB Parameter Group
- Import by name; the parameter group ARN does not work as an import ID.
- AWS returns the full set of default parameters, so a fresh import often shows dozens of parameter blocks you never set; keep only the ones you actually overrode.
- Static parameters need apply_method = pending-reboot and only take effect after the database instance reboots; dynamic ones use immediate.
- family is immutable; a mismatch (for example postgres14 vs postgres15) forces a destroy and recreate, so copy it exactly from the console.
Doing it manually with terraform import
The native approach is to write the aws_db_parameter_group block by hand, then run terraform import aws_db_parameter_group.example <import-id> for every resource, one at a time. That works for a handful of resources, but it does not scale: you author all the HCL yourself and repeat the command for each item. Terraback generates the HCL and the import blocks for your whole account in one pass.
Import other AWS resources
Import your whole AWS account in minutes
Terraback scans 80+ AWS resource types and emits clean Terraform plus import blocks, running locally with read-only credentials. $499 once, no SaaS.