I agree with Cihan: the way to reset your node names to private IP addresses is via a swap rebalance:
(1) remove 1 node and rebalance the cluster
(2) add back that node using its private IP address as the node name and simultaneously remove the next node and rebalance the cluster again
(3) repeat step 2 until all nodes in the cluster have been removed and re-added using their private IP addresses as their node names.
I just set up a 5-node cluster on AWS and did exactly that renaming/rebalance sequence and it succeeded without problem so that all of the node names are now the private IP addresses of the nodes.
I also want to reiterate Cihan’s concern that your clients remain able to connect to the cluster once you have “taken it private”.
Finally, I’m trying to figure out if doing all this is actually going to achieve your goal of saving network transmission charges on AWS: if you are operating web server clients inside of AWS so that they can connect to the local IP addresses your strategy should work. However if your clients are outside of AWS and must continue to connect using public DNS names, I’m not sure if changing your node names to their private IP addresses will get you any savings.