The current infrastructure contains two servers located in Amazon EC2: application server, and MySQL server.
Concern: security of communication between the application server and the database, without degrading performance.
Current setup: MySQL server has an elastic IP, which the application uses to connect to the server. The reason is that the internal IP changes on reboot, while elastic remains constant. The connection on MySQL is firewalled to the application server, and MySQL itself has the user assigned to the application server's IP.
Ideally we want for the two servers to communicate using the internal IPs. We would prefer not to implement communication over SSL, for performance reasons.
Am I correct in that a man-in-the-middle attack is possible, because the communication happens over network that uses the elastic IPs?
How much of a performance hit would implementing SSL communication between the two servers can we expect?
Is there an alternative, apart from custom scripting, to dealing with the changes in the internal IP?
Without SSL, can a man-in-the-middle attack still occur over the internal network, from an EC2 neighbor?