Recommendations for High Availability
Each network enclave that Boundary accesses needs at least 1 worker to provide access. However, to ensure high availability for production use cases, we recommend at least 3 workers per network enclave.
Worker session assignment is intelligently dictated by the Boundary control plane based on:
- Which workers are candidates to proxy a session based on the worker's tags and the target's worker filter, and
- The health and connectivity of candidate workers, you do not need a load balancer to manage worker traffic.
Ultimately, the constraints of your access use case and the sensitivity of workloads in each network enclave, dictate what level of redundancy and sizing you require for your workers.
Sizing guidelines for self-managed workers
Sizing recommendations have been divided into two common cluster sizes:
Small clusters are appropriate for most initial production deployments or for development and testing environments.
Large clusters are production environments with a large number of Boundary clients.
Worker performance is most affected by the number of concurrent sessions the worker is proxying, and the rates of data transfer within those sessions. The size of workers is dependent on how you use Boundary. For example, if you use Boundary for SSH connections and HTTP access to hosts, your instance selection and performance might differ somewhat significantly than if you are consistently doing large data transfers.
Below are some general guidelines, however we recommend that as you use Boundary, you continue to monitor your cloud providers' network throughput limitations for your machine types and observe relevant metrics where possible, in addition to other host metrics, so that you can scale Boundary horizontally or vertically as needed.
Some examples of relevant documentation might include:
- AWS: EC2 Network Performance and Monitoring EC2 Network Performance
- Azure: Azure Virtual Machine Throughput and Accelerated Network for Azure VMs
- GCP: Network Bandwidth and About Machine Families
Provider | Size | Instance/VM Types |
---|---|---|
AWS | Small | m5.large, m5.xlarge |
Large | m5n.2xlarge, m5n.4xlarge | |
Azure | Small | Standard_D2s_v3, Standard_D4s_v3 |
Large | Standard_D8s_v3, Standard_D16s_v3 | |
GCP | Small | n2-standard-2, n2-standard-4 |
Large | n2-standard-8, n2-standard-16 |