Using AWS SSM Parameter Store to Manage an S3 Bucket Name in Terraform
You can store the S3 bucket name in AWS Systems Manager (SSM) Parameter Store
for better manageability and cost-effectiveness. Then, you can retrieve it in another module
and use it in a Terraform data
block.
Step 1: Store the Bucket Name in SSM Parameter Store
resource "aws_ssm_parameter" "bucket_prod" {
name = "/bucket-names/prod"
type = "String"
value = var.bucket_name
}
Step 2: Retrieve the Bucket Name in Another Module
data "aws_ssm_parameter" "bucket_prod" {
name = "/bucket-names/prod"
}
Step 3: Use the Retrieved Value in an S3 Bucket Data Block
data "aws_s3_bucket" "s3_bucket" {
bucket = data.aws_ssm_parameter.bucket_prod.value
}
Why Use This Approach?
- Centralized Bucket Name Management – Store and update bucket names in one place.
- Cost-Effective – SSM Parameter Store is a cheaper option compared to Secrets Manager.
- Secure & Modular – Avoids hardcoding bucket names directly in Terraform.