I faced the similar issue, The reason even though public access is on,and security groups are configured correctly. The Subnet group in RDS uses default subnet group, lets say we have 2 AZ's with 2 subnets in each AZ (Private and public), the default db group adds 4 subnets and place the db instance in one of the private subnet.
Fix: Create a custom Subnet group, add only public subnets.