Configuring for multiple regions
OpsCenter can operate in multiple regions or IP-forwarding deployments. Configure address.yaml to accommodate multiple regions, or to forward a public IP to a private IP address on the agent.
OpsCenter can operate in multiple regions or IP forwarding deployments. Use the following approach for deployments where a public IP forwards to a private IP on the agent, but that machine is not aware of (that is, can't bind to) the public IP.
To configure DataStax agents for multiple regions or IP forwarding:
address.yaml
The location of the address.yaml file depends on the type of installation:- Package installations: /var/lib/datastax-agent/conf/address.yaml
- Tarball installations: install_location/conf/address.yaml
Procedure
- Open the address.yaml file for editing.
-
Add the following options to the address.yaml file.
Setting local_interface is optional.
-
- local_interface
- The IP used to identify the node. If broadcast_address is set in cassandra.yaml, this should be the same as that; otherwise, it is typically the same as listen_address in cassandra.yaml. A good check is to confirm that this address is the same as the address that nodetool ring outputs. Example:
local_interface: 172.10.0.2
-
- agent_rpc_interface
- The IP that the agent HTTP server listens on. In a multiple region deployment, this is typically a private IP. Default: Matches rpc_interface (native_transport_interface) from cassandra.yaml. Example:
agent_rpc_interface: 172.10.0.2
-
- agent_rpc_broadcast_address
- The IP that the central OpsCenter process uses to connect to the DataStax agent. Default: First available resolvable address in this order: broadcast_rpc_address (native_transport_broadcast_address), rpc_address (native_transport_address), and listen_address from cassandra.yaml. Example:
agent_rpc_broadcast_address: 172.10.0.2
-
- Repeat the above steps for each node.
Example
Region: us-west
Availability Zone: us-west-2
OpsCenter host
public IP: 198.51.100.5
private IP: 10.11.12.10
Node1
public IP: 198.51.100.1
private IP: 10.11.12.1
Cassandra (cassandra.yaml)
broadcast_address: 198.51.100.1
listen_address: 10.11.12.1
Agent (address.yaml)
local_interface: 198.51.100.1
agent_rpc_interface: 10.11.12.1
agent_rpc_broadcast_address: 198.51.100.1
stomp_interface: 198.51.100.5
Node2
public IP: 198.51.100.23
private IP: 10.11.12.15
Cassandra (cassandra.yaml)
broadcast_address: 198.51.100.23
listen_address: 10.11.12.15
Agent (address.yaml)
local_interface: 198.51.100.23
agent_rpc_interface: 10.11.12.15
agent_rpc_broadcast_address: 198.51.100.23
stomp_interface: 198.51.100.5
Region: us-east
Availability Zone: us-east-1
Node1
public IP: 203.0.113.20
private IP: 10.11.13.28
Cassandra (cassandra.yaml)
broadcast_address: 203.0.113.20
listen_address: 10.11.13.28
Agent (address.yaml)
local_interface: 203.0.113.20
agent_rpc_interface: 10.11.13.28
agent_rpc_broadcast_address: 203.0.113.20
stomp_interface: 198.51.100.5
