Having two ElasticCache nodes replicating across regions isn't going to work very well. The network latency caused by being separated by 2,500 miles will negate most/all of the performance gain.
You shouldn't need to be sharing session data across regions though. Setup latency-based DNS routing in Route53, which will route each user to the closest datacenter automatically. Their sessions will live within their region.
I can confirm this problem with AWS Redis Elasticache. In my case I get atm more than 5000 ms delay when I run netcat call:
time nc -vz my-redis-cache.cache.amazonaws.com 6379
Connection to my-redis-cache.cache.amazonaws.com 6379 port [tcp/*] succeeded!
real 0m5.005s
user 0m0.000s
sys 0m0.000s
The issue comes sporadically, and I can't see any pattern or problem from the Monitoring -view. We are using Redis heavily for mostly writing counters.
Since 5000ms rendering time is unacceptable for our customers, I have no other answer than not to use Redis or Elasticache. I switched some cache on a memcached running on localhost on the EC2 instance.
Best Answer
Per https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.Redis.html