RDS DB clusters should have automatic minor version upgrade enabled
Minor version releases from database engine vendors include security patches, bug fixes, and stability improvements. With automatic upgrades disabled, clusters accumulate engine-level vulnerabilities that are often well-documented in public CVEs, giving attackers a known attack surface.
Manual patch processes fall behind at scale. In environments with dozens of clusters across multiple accounts, a minor version update can sit in a backlog for months. Automatic minor version upgrades turn patching into a maintenance window event rather than a tracked work item, cutting mean time to remediation for engine security issues without requiring per-cluster coordination.
Retrofit consideration
Enabling automatic minor version upgrades on existing clusters triggers the next available minor version update during the upcoming maintenance window. Test application compatibility with the target engine version first, especially for Aurora clusters on older minor versions where several patch levels may be applied in a single window.
Implementation
Choose the approach that matches how you manage Terraform.
Use AWS provider resources directly. See docs for the resources involved: aws_rds_cluster_instance.
resource "aws_rds_cluster_instance" "this" {
cluster_identifier = "pofix-example-cluster"
engine = "aurora-mysql"
instance_class = "db.t3.medium"
auto_minor_version_upgrade = true
}
What this control checks
The control checks that auto_minor_version_upgrade is set to true on aws_rds_cluster resources. A cluster passes with auto_minor_version_upgrade = true. It fails when the argument is false or resolves to a non-compliant value.
For Aurora, auto_minor_version_upgrade on aws_rds_cluster controls the cluster-level setting, which is distinct from the same argument on aws_rds_cluster_instance resources. Both should be true for full coverage.
Common pitfalls
Cluster-level vs instance-level setting confusion
Setting
auto_minor_version_upgradeonly onaws_rds_cluster_instanceresources won't satisfy this control. The policy evaluates the cluster-level resource. Also worth noting: setting it on the cluster doesn't automatically propagate to instances created outside Terraform, so check both.Maintenance window must be defined for upgrades to apply
The upgrade only fires during the cluster's
preferred_maintenance_window. If that window is defined but routinely deferred due to operational constraints, the cluster stays unpatched regardless of the setting. Define a window that actually runs.Engine and version support differences can cause surprises
Don't assume identical
auto_minor_version_upgradebehavior across Aurora provisioned, Serverless v1, and Serverless v2. AWS behavior varies by engine family and version. Check the current RDS documentation for your specific engine before treating this as a set-and-forget control.Explicit false in shared modules
Third-party Terraform modules for RDS sometimes hard-code
auto_minor_version_upgrade = falseto avoid unexpected restarts during deployments. If you're consuming a shared module, verify its defaults. You might never writefalsein your own config, but the module variable default can still cause this control to fail.
Audit evidence
Auditors expect AWS Config rule evaluation results showing all RDS clusters as compliant under rds-cluster-auto-minor-version-upgrade-enabled. Console screenshots from the RDS Clusters page with the 'Auto minor version upgrade' column set to 'Yes' support the finding. For historical patching evidence, CloudTrail records for ModifyDBCluster calls that include AutoMinorVersionUpgrade parameter changes show the configuration timeline.
Security Hub findings for this control, filtered to passing status across all evaluated clusters, work well in audit packages as a consolidated compliance view.
Framework-specific interpretation
NIST SP 800-53 Rev 5: SI-2 (Flaw Remediation) requires identifying and correcting system flaws in a timely manner. Automatic minor version upgrades satisfy the patch application piece: vendor-released fixes are applied on a defined schedule without manual intervention. This also touches CM-3 (Configuration Change Control), since version changes follow a predictable, automated cadence rather than ad-hoc updates.
Related controls
Tool mappings
Use these identifiers to cross-reference this control across tools, reports, and evidence.
Compliance.tf Control:
rds_db_cluster_automatic_minor_version_upgrade_enabledAWS Config Managed Rule:
RDS_CLUSTER_AUTO_MINOR_VERSION_UPGRADE_ENABLECheckov Check:
CKV_AWS_226Powerpipe Control:
aws_compliance.control.rds_db_cluster_automatic_minor_version_upgrade_enabledProwler Checks:
rds_cluster_minor_version_upgrade_enabled,rds_instance_minor_version_upgrade_enabledAWS Security Hub Controls:
RDS.13,RDS.35
Last reviewed: 2026-03-09