Since EC2 instances are under the AWS security group, there might be some port restrictions. Also the instances are running over a private network and public connections happening through NAT. So we need to enable passive mode for ProFTPD service for the proper functioning.
Step1: Login to EC2 instance via ssh and switch to root user.
Step2: Open ProFTPD configuration file and append the following lines if not existing.
PassivePorts 60000 65535 RequireValidShell on ServerType standalone DefaultRoot ~ MasqueradeAddress EC2-public-ip
Here we need to replace EC2-public-ip with the corresponding value.
Step3: Restart ProFTPD service.
#service proftpd restart
Step4: Allow incoming port range 60000-65535 in the security group which attached to this instance.