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

  1. Open the address.yaml file for editing.
  2. 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 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, rpc_address, and listen_address from cassandra.yaml. Example: agent_rpc_broadcast_address: 172.10.0.2
  3. Repeat the above steps for each node.

Example

Here is the configuration for a three node cluster that spans two regions:
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