I'm using an Apache proxy on one server in front of tomcat on a different server.
What is the the bandwidth between the two EC2 instances if they are in the same availability zone? Does this have anything to do with the network performance of the instance?
EC2 instances are connected by 10Gbps networks, plus an additional 10Gbps EBS only network. I believe you get a portion of this network bandwidth proportional to your instance size, but likely with the ability to burst if there's additional bandwidth available. Amazon isn't 100% transparent on bandwidth - they have documentation here but I believe it refers to EBS bandwidth not general network bandwidth.
For example, assuming the host has 32 cores and you have a 4 core machine you likely get (4 / 32 * 10Gbps) = 1.25Gbps of network bandwidth. However I have a t2.micro (which gets 10% of one core) that is probably something like (0.1 / 32 * 10Gbpps = 0.03Gbps, ie 30mbps), and it can actually get 50Mbps or a bit better.
Instances in another AZ in the same region have latency of (from memory) around 1ms. Because of how TPC works this will probably reduce network bandwidth slightly compared with a network inside an AZ, but at 1ms or so I doubt the reduction will be significant.
In your case I doubt internal bandwidth will be an issue unless you're hosting large files on a small instance. You can always use a CDN like CloudFlare or CloudFront to cache images your instance.