One question: how do you deal with crashed JVMs? You can't rejoin a new JVM if it has the same address and port but I can't think of a good way to communicate the new port using the AWS SDK.
The way we have it set up, if the JVM crashes then it will mean that the health check url used by the load balancer will become unresponsive. This would lead to the auto scaling group downing the instance and replacing it with a new one. So, the same node wouldn't ever need to rejoin.