High Availability

This topic describes how to deploy and implement a cluster of Conjur servers to provide high availability and cloud-friendly, global distribution with low latency. A Conjur cluster is configured in a master-standby-follower architecture.

Overview

A cluster contains the following components:

  • One active master.
  • One or more standby masters, with at least two required if you want to implement an auto-failover cluster. A standby is a replicated master, ready to take over as master.
  • One or more followers, with at least two recommended. Followers are also replications of the master, configured to service authentication, authorization, and read requests.Typical deployments use load balancers to handle traffic to the followers.

The standbys continuously replicate the Conjur database from the active master, using PostgreSQL streaming replication.

Synchronous replication ensures a completely up-to-date standby at any time. Asynchronous replication may lag behind the master. A healthy cluster has at least one standby configured as synchronous.

 

To enable synchronous replication, there must be at least 2 standbys in the cluster.

Most traffic to Conjur is read traffic. Followers are horizontally scaling components that are typically configured behind a load balancer to handle all types of read requests, including authentication, permission checks, and secret fetches. Write operations requested on a follower are delegated to the master.

Master-to-follower replication is asynchronous. Recommended practice connects followers to the master through a load balancer. This avoids having to reconfigure the followers whenever a standby becomes a master.

Benefits of high availability

The evoke utility

The evoke command line utility is used for configuring, backing up, and restoring Conjur Enterprise servers. The utility is installed on every Conjur server. For more information, see Tools > evoke utility.

Use evoke for:

  • High availability cluster setup and management:
    • configure an unconfigured Conjur instance as a master, standby, or follower.
    • generate seeds for the creation of a follower or standby from a Conjur master
    • create an auto-failover cluster
    • create backups and restore a Conjur server from a backup
  • Master key management:
    • lock (encrypt) and unlock (decrypt) server keys

In this section:

 
10.5