Multi-IP and IPv6
Redis Enterprise Software (RS) supports server/instances/VMs with multiple IP addresses, as well as IPv6 addresses.
Traffic overview
RS related traffic can be logically and physically divided into internal traffic and external traffic:
- “Internal traffic” refers to internal cluster communications, such as communications between the nodes for cluster management purposes.
- “External traffic” refers to communications between the clients and the databases, as well as connections to the management UI in the browser.
When only one IP address exists on a machine that serves as an RS node, it is used for both internal and external traffic.
Multiple IP addresses
When more than one IP address exists on an RS node:
- One of the IPv4 addresses is used for internal traffic
- Other IP addresses may only be used for external traffic
As part of the node configuration process, if the machine has multiple IP addresses, you are required to assign one of the machine’s IPv4 addresses for internal traffic use, and assign one or more IPv4/IPv6 addresses for external traffic.
If at a later stage you would like to update the IP address allocation,
run the relevant commands in rladmin
command-line interface
(CLI).
Change internal IP address
When manually configuring an internal address for a node, make sure the address is valid and bound to an active interface on the node. Failure to do so prevents the node from coming back online and rejoining the cluster.
To update a node’s internal IP address:
-
Turn the node into a replica using
rladmin
:rladmin node <ID> enslave demote_node
-
Deactivate the
rlec_supervisord
service on the node:systemctl disable rlec_supervisord
-
Restart the node.
-
Follow the operating system vendor’s instructions to change the node’s IP address.
-
From a different cluster node, use
rladmin node addr set
to update the first node’s IP address:rladmin node <ID> addr set <IP address>
-
Enable the
rlec_supervisord
service on the node:systemctl enable rlec_supervisord
-
Restart
rlec_supervisord
or restart the node.systemctl start rlec_supervisord
-
Verify the node rejoined the cluster:
rladmin status nodes
Repeat this procedure for other cluster nodes to change their internal IP addresses.
Configure external IP addresses
You can configure external addresses that are not bound to an active interface, but are otherwise mapped or configured to route traffic to the node (such as AWS Elastic IPs or a load balancer VIP).
You can use rladmin node external_addr to change a node’s external IP addresses.
Add an external IP address:
rladmin node <ID> external_addr add <IP address>
Set one or more external IP addresses:
rladmin node <ID> external_addr set <IP address 1> <IP address N>
Remove an external IP address:
rladmin node <ID> external_addr remove <IP address>