When you launch an RDS DB instance inside Amazon VPC, it is always better to create the DB Subnet Group before you spin up the DB Instance. A DB Subnet Group is a collection of subnets (especially private subnets) in the given VPC, and you then associate that DB Subnet Group with your DB instance at the time of launch. Each DB Subnet Group should have subnets in at least two AZs in the given region. If you do not create the DB Subnet Group and leave it to RDS, then at the time of launch, RDS service creates one for you with all the available subnets in the given VPC, which may include all public and private subnets.
It is considered as a best practice to run your databases in your private subnet of the VPC. Creating DB Subnet Group only for the private subnet will allow you to secure your DB instances better. Though you have the option of removing public subnets...