EC2 Instance sizing
Here are the recommended instance sizes for CPM Server instances:
Up to 100 instances - t2.small, t3.small
Up to 200 instances - t2.medium, t3.medium
Up to 500 instances - m4.large, m5.large, c5.large, R5.large, C6i.large, R6i.large, M6i.large
Up to 1000 instances - m4.xlarge, m5.xlarge, c5.xlarge, R5.xlarge, C6i.xlarge, R6i.xlarge, M6i.xlarge
Up to 2000 instances - m4.2xlarge, m5.2xlarge, c5.2xlarge, R5.2xlarge, C6i.2xlarge, R6i.2xlarge, M6i.2xlarge
Up to 4000 instances - m4.4xlarge, m5.4xlarge, c5.4xlarge, R5.4xlarge, C6i.4xlarge, R6i.4xlarge, M6i.4xlarge
Over 4000 instances - please move additional instances to a new CPM Server
Important: when using the S3 Backup feature, please upgrade to the next available instance size, but no smaller than "large" - this feature can be very memory consuming
- C5 and M5 families are only supported from CPM v2.6 and support for T3 family was added at 2.4
- Usage of T2/T3 families is not recommended for environments with over 200 protected instances, from version 2.6 and above always prefer M5/C5 types
- When Using T2/T3, it is always recommended to use the newer T3 Type which should cost the same.
- CPM is more IO-intensive than CPU-intensive, improving IO performance will usually gain better results than improving CPU performance.
- When using burstable instances (T2/T3 type), it is recommended to use unlimited mode: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html
- R5 support: we added support for R5 EC2 type in 2.7.x/3.0x, R5 instances are much more cost-effective per GB and have more memory then other types of the same size, So if the main sizing issue you have is memory usage, then it is better to switch to R5 Family in the same size instead of increasing the size.
When using T2 instances, it is recommended to monitor the CPU Credit Balance to make sure it doesn’t reach 0, as it may affect the instance’s performance.
Please read the following KB to better understand how CPU credit balance is calculated and how draining it may affect your instance’s performance.
This recommendation is based on the following assumptions:
- Instances have 3 volumes on average.
- No more than 20% of instances have Agents performing VSS/scripts.
- No more than 20% of instances are being backed up simultaneously (within 60 minutes from each other).
Exceeding these assumptions may require larger instance sizes.
To resize the instance, please follow this guide:
CPMDATA (EBS) Sizing
V3.2.0 - We added support for IO2
V3.2.1 - We added support for GP3, which provide a lot more IOPS(3,000 IOPS free) for cheaper price compared with GP2
For 200 and more protected instances (or when running backups more frequently than hourly) we recommend to switch the CPMDATA volume's type from "GP2" to "GP3" (supported in v3.2.1 and up) with the default IOPS/Throughput:
If "GP3" is not available, you can switch to "io1" or "io2" with minimum 1000 IOPS:
You can switch the volume's type with zero downtime by following this guide:
Since achieving more IOPS might requires resizing the volume, please follow this guide to allow OS to see the new size correctly:
Note: Please make sure to first check AWS documentation for maximum IOPS per GB BEFORE resizing the volume
For over 200 instances or 600 volumes, you may need to raise IOPS
further - we recommend to add another 500 IOPS per each 100 instances or
300 volumes above this limit.
For best results, it's recommended to switch to the M4/M5/C5/R5 family of instances, which is EBS-optimized and can take full advantage of the io1 volume.
When using GP2 volumes, it is recommended to monitor the BurstBalance to make sure that the volume can provide more than the default provisioned 100 IOPS:
Using "gp2" volume for 200+ instances (or frequent backups) may cause severe performance issues, including failing backups/DR and unexpected restarts of CPM Agent/Server.