There are many ways to upload file to your AWS EC2 instance, I choose always one of these two, because they make use of the key pair file, and both are easy and secure.
$ scp -i ec2.pem file_to_upload.txt email@example.com:/home/ubuntu/
-i option for using the key is followed by path to key file-name, where ec2.pem should be name of your key file, this command works only if you are in the directory where .pem file is stored, otherwise use full path like /home/Downloads/your_key_name.pem ...
Continue with path to the file you wish to upload, follow with username@public_dns_hostname and then input ":" and follow with destination path on remote server (EC2 instance), beware not to use blank space after colon, otherwise you will get error.
You will be asked to convert key to other format, agree with OK.
Go to Site manager. As Host enter your Public DNS from EC2 management console > Instances > Description. Choose SFTP - SSH File Transfer Protocol, input user ubuntu, which is default on Ubuntu AMIs (or whatever is your username after you logon to EC2 instance) and click connect.
You may be prompted to accept public key, that is all.