If you are using RDS you don't have SSH access so creating an SSH tunnel is not an option.
So what's missing from your question is whether you are in a VPC or not, so assuming you are not in a VPC. In essence:
On the RDS security group, open the ingress EC2 security group that your EC2 instance you are going use to access the database with is in. For example, on the RDS console this shows up as the actual EC2 security group name
(To get to Security groups click RDS->Security Groups->Create DB Security Group, you first new to create an DB Security Group to see the screenshot above or you can use the default DB Security Group):
Dump your database on the server that you are running your original MySQL database. Hopefully this is the same server that is in the EC2 security group that you are allowing as an ingress on your RDS security group above:
mysqldump -uroot -p <database-name> > database-name.sql
Load the database from the EC2 instance in EC2 security group allowed by RDS security group:
mysql -uroot -h<RDS-hostname> -p < database-name.sql
The RDS hostname is something like this:
database-name.xxxxxxxxxx.us-east-1.rds.amazonaws.com
You don't have to connect to the RDS database to load a dump into it. But if you want to connect to it you can just run:
mysql -uroot -p -h<RDS-hostname>
In case you you are in a VPC make sure that the EC2 instance that you are running the commands from is in the same VPC and subnet as your RDS instance. You have to create a VPC Subnet group
for your VPC on the RDS console, this Subnet group
has to be in two different Availability Zones if you are running a multi-az RDS instance. Other than that the procedure is the same.