I am trying to set up two clusters of Couchbase with two-way XDCR, one in AWS and one in our client’s enterprise network. Normally, for each cluster, I would set up each node using its private IP. But, in order to get XDCR, I need to open up the node at the destination with a public IP. The problem is, the nodes in the enterprise network’s cluster can’t have public IPs as they are in a private network.
What I’d like to know is:
Do all nodes in the destination cluster need to have public IP? Will XDCR work if I make only the referenced node public (via NAT forwarding), but the rest of the nodes private? Does that node need to identify itself via the public IP?
For example, if I have set up the node as 10.8.1.20 and the source cluster uses a public ip 203.x.x.x to connect to that node (via NAT), will the XDCR replication work?
Is there some sort of proxy that I can go through to setup XDCR to that cluster? That proxy server can sit on a DMZ (or behind NAT) and forward the replication requests to the destination cluster.