Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions rds-postgres-server/deployment/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,27 @@ resource "aws_secretsmanager_secret_version" "master" {
})
}

# ---------------------------------------------------------------------------
# KMS key for RDS storage encryption (customer managed, for parity with the
# Aurora module — the default AWS-managed RDS key works but isn't ours to
# control key policy/rotation on)
# ---------------------------------------------------------------------------

resource "aws_kms_key" "rds" {
description = "Customer managed key for RDS instance storage encryption (${var.instance_name})"
enable_key_rotation = true

tags = {
"managed-by" = "nullplatform"
"service-id" = var.service_id
}
}

resource "aws_kms_alias" "rds" {
name = "alias/nullplatform-rds-${var.instance_name}"
target_key_id = aws_kms_key.rds.key_id
}

# ---------------------------------------------------------------------------
# RDS instance
# ---------------------------------------------------------------------------
Expand All @@ -83,6 +104,7 @@ resource "aws_db_instance" "main" {
allocated_storage = var.allocated_storage
storage_type = "gp3"
storage_encrypted = true
kms_key_id = aws_kms_key.rds.arn

db_name = "postgres"
username = "master"
Expand Down