All checks
Medium RDS · regional

RDS DB instances should have encryption at-rest enabled

Verifies that RDS DB instances have storage encryption enabled, which also covers their logs, automated backups, read replicas and snapshots. For an instance in a DB cluster the cluster owns the encryption, so the fix is the cluster's (RDS.27).

service
RDS
severity
Medium
scope
evaluated in every region

How to fix it

  • Replaces the resource: Encryption cannot be turned on in place: snapshot the instance, copy the snapshot with encryption, restore the copy, repoint clients, rebuild read replicas, then delete the original.
  • Interrupts service: The new instance holds only what the snapshot captured, so stop writes before taking it or plan to replay them.

In the console

RDS → Snapshots → Copy snapshot with Encryption enabled, then Restore snapshot into a new DB instance

Enable Encryption
Selected, on the copy (the restore has no encryption setting)
AWS KMS key
Your choice of key, settled first: an instance's key cannot be changed later

With Terraform

  • Can't be undone: In Terraform storage_encrypted is create-only, so applying it to this instance replaces it with an empty one.
resource "aws_db_instance" "this" {
  instance_class    = var.instance_class
  storage_encrypted = true
  kms_key_id        = var.kms_key_arn
}

See which of your accounts this check is failing on.

Book a live scan