I have a FTP client application hosted on AWS windows EC2 machine in private subnet. I have to provide my Elastic IP to FTP server. In this case what should I provide:
What should be the best approach?
It appears that the operators of your remote FTP server have requested your IP address so that they can whitelist it for access.
Since your FTP session will originate from an Amazon EC2 instance in a private subnet, the request will be routed through a NAT Gateway. The NAT Gateway is located in a public subnet so that it can communicate with the Internet.
Traffic from the NAT Gateway going to the Internet will be sent from the Elastic IP Address associated with the NAT Gateway. Therefore, this is the IP address that you will need to provide to operator of the FTP server.
You can examine the configuration of the NAT Gateway to determine the Elastic IP Address being used, or simply go to http://whatismyip.akamai.com/ from your private Amazon EC2 instance and you will be told the public IP address from which your request is being sent.