I want to run multiple application servers on different ports on a single AWS instance with a different IP/domain pointing to each port.
I don't have a clue how to accomplish this. I don't know if there is a way to forward IPs to ports or what.
It is trivial. When you have an AWS instance, you basically have a server. You might or might not have multiple IPs assigned to an interface (in this case it sounds like you do). So, there isn't really a need for an AWS-specific way to do this; the general way is sufficient.
Services bind listening sockets to an IP address, protocol, and port combination. It is possible to not specify the IP address (by specifying 0.0.0.0,
In addition, depending on what your application is, you might be able to do other things too. For instance, apache supports binding virtual hosts to particular IP addresses and ports (this is IP-based virtual hosting, in contrast to name-based virtual hosting).