is it necessary to use a load balancer for an Elasticsearch cluster running on Amazon EC2?
I think your question and thinking is legit. In my experience however clients should be aware of multiple instances and distribute the load without the need for a load balancer.
See this client config example for ruby: Multiple nodes and retry on falure