Note:  I had a brand new server and needed to run sudo apt-get dist-upgrade  before installing the server to get all packages up to date.  These  steps don't take into account best practice security considerations.   These are merely basic steps to get an FTP server up and running  quickly.
Install the server.
sudo apt-get install vsftpd 
Let's check to make sure the server is up and running before making any changes.sudo netstat -a | grep ftp 
If you see this after running the netstat command then life is good. If not, you'll need to troubleshoot why the server is not starting.
tcp        0      0 *:ftp                   *:*                     LISTEN 
Make a backup copy of the config file just in casesudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup 
Add the following to the end of the /etc/vsftpd.conf file
pasv_enable=YES
pasv_min_port=13000
pasv_max_port=13100
port_enable=YES
pasv_address=[public dns from the amazon EC2 instance]
pasv_addr_resolve=YESNow time to edit a couple other variables in the config file. The first one is write_enable which defaults to NO. Change this to YES so that you can upload files to the server. If you don't do this and try to upload something (i.e. from FileZilla) you will likely see an error message like, "Error: Critical file transfer error"
# Uncomment this to enable any form of FTP write command.write_enable=YES 
And if you want local users the ability to login, uncomment the local_enable line# Uncomment this to allow local users to log in.local_enable=YES 
Save the file and restart the server.sudo service vsftpd restart 
Should see something like thisvsftpd stop/waitingvsftpd start/running, process 1649 
You will need to open up ports both on your server instance and via the Amazon security group to be able to connect. In this example:
TCP Ports 13000 - 13100TCP Ports 20 - 21 
References