1

I am trying to set up two clusters of Couchbase with 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 individual public IPs.

What I'd like to know is:

  1. 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? 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?

  2. 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 and forward the replication requests to the destination cluster.

neoLwin
  • 11
  • 1
  • This is a pretty hard question to answer without knowing your environment in detail. In AWS are you using a VPC? How is the enterprise network linked to your AWS environment? It sounds like you plan to use NAT on both networks, is that correct? – Paddy Dec 21 '15 at 17:23
  • Hi Paddy, Thanks for your answer. Yes, I'm planning to use NAT on both ends, and the AWS network is inside a VPC. There is no VPN between the Enterprise and the VPC. The main goal is to sync between two private networks (both behind NAT) without using VPN. Http reverse-proxy servers can be used for incoming traffic on both ends. – neoLwin Dec 22 '15 at 02:20
  • This really comes down to networking and not so much Couchbase per se. For XDCR to work correctly, each node of cluster A needs to be able to talk to each node of cluster B. If you are doing bi-directional XDCR, then you need the reverse as well. Once you can telnet to all ports on all nodes from all nodes, then XDCR will work. Get that in place first. – Kirk Dec 31 '15 at 05:45

0 Answers0