RDS instance has a public IP address
- Severity
- Low
- Service
- RDS
- Check ID
- RDS_PUBLIC_IP
What this check finds
Check whether this RDS instance is publicly accessible. Best practice is to put RDS instances in private subnets and not give them public IPs.
Passing looks like: RDS not publicly accessible.
How to fix it
Disable public accessibility on the RDS instance and move it to private subnets.
AWS CLI
aws rds modify-db-instance --db-instance-identifier INSTANCE_ID --no-publicly-accessible --apply-immediately
Names in capitals are placeholders for your own resource. Review a command before you run it.
AWS console
RDS → Databases → select instance → Modify → Connectivity → Public access → No.
Compliance controls it is evidence for
A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works
| Framework | Controls |
|---|---|
| CIS AWS Foundations Benchmark v5.0.0 |
|
| PCI-DSS v4.0.1 |
|
| NIST SP 800-53 Rev5 (Moderate) |
|
| NIST Cybersecurity Framework 2.0 |
|
| ISO/IEC 27001:2022 Annex A |
|
Checked on every scan
KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs
More RDS checks
- HighAurora/RDS cluster storage is not encrypted at rest
- HighRDS automated backups are disabled
- HighRDS instance does not have automatic minor version upgrades enabled
- HighRDS instance has zero database connections for 7 days
- HighRDS instance storage is not encrypted at rest
- HighRDS security group allows broad CIDR ingress (broader than /16)
- HighRDS snapshot is public
- MediumAurora/RDS cluster has automated backups disabled