I am in the same boat, but I am running 3 instances of mongo in the same replica set, 2 by default and 1 arbiter. Setting up ElasticIP is a bad b / c idea, which means that your mongo server will have an open connection that you don't need.
I ended up creating an ELB that listens on 27017 and forwards both replicaset elements by default, but not for actual load balancing, but rather for fault tolerance. Therefore, if health check 27017 fails, standby mode can handle subsequent requests. In addition, using ELB you can create a DNS CNAME record and specify your application to use it, in my case I use "docstore". This way you do not need to specify actual mongo instances like docstore-1 and docstore-2 etc.
source share