Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
VM Auto Scaling Groups are a collection of virtual servers that automatically scale the number of VM replicas based on the metrics.
Note:
This process is limited to contract owners, administrators, and users with access rights to the data center hosting the VM Auto Scaling Group.
Configuration of a VM Auto Scaling Group triggers the creation of two monitoring alarms for scale in and scale out operations according to the policy settings.
Prerequisites:
When provisioning a VM Auto Scaling Group, ensure that the necessary resources are available and that they are within the configured resource limits of your contract. To check the contract resource limits in DCD, see Resource Overview.
IONOS recommends that you enable CloudInit or use existing images.
Follow these steps to configure a VM Auto Scaling , and define thresholds and scaling policies:
1. Log in to DCD with your username and password.
2. Go to Menu > Management > VM Auto Scaling.
3. Click Create to create a group and define replicas. The Create VM Auto Scaling Group window displays the Configuration and the Replica Configuration tabs.
4. Define the following in the Configuration tab:
5. Configure replicas. For more information, see Configure replicas.
Important: The application applies a default replica setup if you do not configure replicas. Hence, we recommend that you configure replicas before you click Create. It is also mandatory, as the ALB uses the IP addresses of the NICs linked to the VM instances. Provisioning the replica defaults does not configure a network, thus, the associated ALB is left without NICs or IP addresses.
6. Click Create to save the configuration.
Result: Your VM Auto Scaling Group is successfully configured. You can now manage it via the VM Auto Scaling Manager.
You can specify a name for your VM Auto Scaling Group and the minimum number and the maximum number of VM instances it can contain during scaling. The minimum number ensures that you never run out of VM instances and the group always has at least one VM instance. The feature cannot provide more than the maximum number of VM instances during a scale out operation.
To create a VM Auto Scaling Group, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Name: Enter a name for the VM Auto Scaling Group.
Data Center: Select a data center from the drop-down list. You can either select an existing Virtual Data Center (VDC) or create a new one if required. The application lists all the VDCs in your DCD. The group is valid only within the selected VDC to which it belongs.
Minimum Count: Enter the minimum number of VMs the group must scale to. The minimum replica count is one. VM Auto Scaling uses this as a reference value to stop deleting VM instances for a group. This is necessary to ensure that scaling does not reduce the VM instances beyond the specified count.
Maximum Count: Enter the maximum number of VMs the group must scale to. VM Auto Scaling uses this as a reference value to stop adding new VM instances for a group. This is necessary to ensure that scaling does not increase beyond the specified count. To improve the efficiency of the VM Auto Scaling service, we recommend limiting the maximum number of VMs in an Auto Scaling Group to 100 or less.
A Policy defines the rules to trigger VM Auto Scaling to analyze the resource utilization rate at regular intervals. You can only define one metric policy per group that triggers the scaling process.
To define policies, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Metric: Select a metric from the drop-down list whose performance must be monitored. The pre-defined values are based on the CPU utilization average or network bytes for incoming and outgoing bytes or packets.
Scale In Threshold: Enter a value to specify when VM Auto Scaling must trigger the scale in operation. The value specified here indicates the percentage of the CPU utilization rate or the network packets or network bytes, based on which the scale in action is triggered for the metric. For example, if you specify the CPU utilization rate as 30, VM Auto Scaling automatically begins scaling inwards and deletes the additional VM instances when the CPU utilization rate is 30%.
Scale Out Threshold: Enter a value to specify when VM Auto Scaling must trigger the scale out operation. The value specified here indicates the percentage of the CPU utilization rate or the network packets or bytes based on which the scale-out action is triggered for the metric. For example, if you specify the value as 70, the application automatically begins scaling outwards and adds additional VM instances when the CPU utilization rate reaches 70%.
Note: Ensure that the Scale In Threshold and the Scale Out Threshold field values differ by 40%. For example, if you set the Scale In Threshold to 15%, Scale Out Threshold cannot contain a value lesser than 55%.
Range: Enter a time range in hours, minutes, or seconds. Example: 1h, 3m, 120s. It is the period during which VM Auto Scaling measures the percentage of chosen metric utilization at regular intervals and automatically scales in or scales out based on the demand. If specifying in seconds, ensure that the value is not less than 120 seconds.
Unit: Select a unit from the drop-down list. You can specify whether the scaling process should be initiated every hour, minute, or second for other predefined metrics. This is automatically set to Total for an instance CPU utilization average metric.
Scale in defines the action triggered during a scale in operation. Based on the values defined, the feature automatically deletes the specified number of VM instances after the cooldown period.
To define scale in policies, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Amount Type: Select a value from the drop-down list to define the number of replicas that must be deleted. You can choose either Percentage or Absolute.
Amount: Enter the number of VM instances to be deleted during a scale in operation. The minimum value is one. Scale in jobs with a large number of VMs may encounter performance issues. Hence, we recommend limiting the deletion of VMs to at most five, regardless of whether the Amount Type is absolute or percentage.
Cooldown Period: Enter the cooldown period to indicate the interval between each auto scaling action in the group. The cooldown period can be measured in minutes, seconds, or hours. For example, when the value is set to 5m, the scale in action is activated every 5 minutes. VM Auto Scaling automatically deletes the given number of VM instances when the resource consumption is lower.
Note:
Only one scaling action remains in progress for a VM Auto Scaling Group. The metric is reevaluated after the current scaling action completes.
The minimum value is two minutes, and the maximum value is 24 hours.
If specifying in seconds, ensure the minimum value is not less than 120 seconds.
The application considers the default value of five when a period is not specified.
Termination Policy: Select a value from the drop-down list to choose whether the oldest or the most recent replica must be deleted first. Choosing the Oldest replica first delegates the scaling process to delete the oldest replicas. Otherwise, choose the Youngest replica first to begin scaling by deleting the most recent replica.
Delete attached volumes: Select a value from the drop-down list to indicate if the attached volumes must be deleted. Choose Don’t delete to retain the attached volumes; otherwise, choose Delete.
Scale out defines the action triggered during a scale out operation. The feature automatically adds the specified number of VM instances after the cooldown period based on the demand.
To define scaling out policies, go to the Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Amount Type: Select a value from the drop-down list to define the number of replicas added when the metric utilization exceeds the specified amount. You can choose either Percentage or Absolute.
Amount: Enter a number to indicate the number of VM instances that must be added. The minimum value is one. Scale out jobs with a large number of VMs may encounter performance issues. Hence, we recommend limiting the addition of VMs to at most five, regardless of whether the Amount Type is absolute or percentage.
Cooldown Period: Enter the cooldown period to indicate the interval between each auto scaling process in the group. The cooldown period can be measured in minutes, seconds, or hours. For example, when the value is set to 5m, the scale out process is activated every 5 minutes. VM Auto Scaling automatically adds the given number of VM instances when the resource consumption is higher. The notes mentioned in scale in policies are also applicable to scale out policies.
In the Replica Configuration tab, you can configure the size, networks, and storage volumes for the VM instances that VM Auto Scaling creates. You may also use the CloudInit mechanism to configure VM instances.
You can configure the following on the Replica Configuration tab:
Note:
Certain limitations listed on this page apply during the deployment and are subject to change as the product evolves.
During the EA phase, it is possible to delete replicas manually. Manual deletion of replicas does not remove the IP address of the replica from the Targets list (Network > Target Groups > select a Target Group and click Targets); ensure that you remove them manually from the Targets list before you delete the associated replica.
To configure VM replica settings, follow these steps:
Go to the Replica Configuration tab in the Create VM Auto Scaling Group window and configure the Settings, Network, and Volumes tabs.
Click Clone Settings and Volumes from the drop-down list to clone the CPU Architecture, Cores, and RAM automatically from your VMs in the VDC. You can also use the slider to configure them manually.
You can configure the network connection between a VM instance and a virtual network using a . You can create a NIC instantly by clicking +Add and associating it with a . VDC automatically creates an IP address for the associated NIC. By associating a NIC with a LAN, you define the networking features for the respective VM Auto Scaling Group. If you have already defined NICs, select one from the drop-down list.
Name: Enter a name for the NIC.
DHCP: Select the checkbox to provision IP addresses for your VM instances.
LAN: Enter the LAN ID to be used for accessing the VM instances on the network.
Firewall active: Select the checkbox to activate the firewall. By default, an active firewall without defined rules blocks all incoming network traffic except for the rules that explicitly allow specific protocols, IP addresses, and ports.
Firewall Type: Select Ingress, Egress, or Bidirectional to choose firewall rules for the type of queries that will be allowed on the NIC. By default, Ingress is used if you do not specify a value.
Firewall Rules: Click Manage Rules to allow managing requests from external networks. When configured, all firewall rules defined for the specified NIC are listed.
Flow Logs: Select a flow log from the drop-down list to log all network packets. The list of all flow logs for the specified NIC is displayed. You can instantly create a new flow log, if necessary.
Note: During the EA phase, Flow Logs are not supported. If you apply a configuration, the creation of VM Auto Scaling Groups will fail.
VM Auto Scaling creates VM instances based on the specified storage volumes during scaling.
Name: Enter a name for the storage volume.
Boot device: Select a value from the drop-down list to use the corresponding volume as a boot volume. You can select one of these values:
Choose Auto to allow VDC to delegate the provisioning engine to select the boot volume automatically.
Choose Primary to set the configured volume as a boot volume.
Choose None if you do not want to configure a boot volume.
Note: You can either set one volume to Primary or set all volumes to Auto.
Bus: Select a driver from the drop-down list. The predefined values are VIRTIO and IDE.
Storage Type: Select either HDD, SSD Premium or SSD Standard from the drop-down list to configure the type of storage. IONOS provides three different types of disks and you can choose to attach either of these to the VM Auto Scaling Group.
Size in GB: Specify the size of the selected storage type.
Image: Select either an Image or an Image Alias from the drop-down list to associate it with a VM Auto Scaling Group. A Password is mandatory to configure either of these. You can also associate the following with the storage volume:
SSH keys: Select the checkbox to use the SSH keys to validate the request and create an encrypted connection for communication.
Cloud-Init User Data: Click No configuration to specify the user data (Cloud-Init) for this replica volume.
Backup Unit: Select a backup unit from the drop-down list, if already configured. Otherwise, you can create one instantly. Backups of VM instances are stored in the associated backup unit regularly.
Important: The VM Auto Scaling feature creates replicas based on the configuration. Changes to the existing configuration will only apply to new replicas but not the instances that are already running. Hence, we recommend that you configure Settings, Network, and Volumes before clicking Create to avoid any discrepancies later.
Click Create to configure your VM Auto Scaling Group.
Result: Your VM Auto Scaling Group is successfully configured and can be managed via the VM Auto Scaling Manager.
When you associate an ALB with a replica configuration, the ALB can use all of the VM replicas created by the VM Auto Scaling feature, which means your application can scale and receive requests from different queries based on the configured ALB.
To associate an ALB with a replica configuration, go to the Replica Configuration tab in the Create VM Auto Scaling Group window and specify the following:
Target Group: Select a value from the drop-down list. You can also click Create new Target Group from the drop-down list to instantly create a new target group. When you specify a target group, the scaling process associates replicas with the target groups. The ALB checks these target groups to verify the available IP addresses to process requests.
Note: You cannot delete a target group if it is associated with the replica of the VM AutoScaling group and in use. We recommend deleting the AutoScaling group first before deleting the target group.
Port: Select a value from the drop-down list to decide the port on which the queries must be redirected. It is recommended to set the port to TCP port 80. This port is used by the ALB to distribute traffic to individual replicas.
Weight: The traffic is distributed proportionally to the target weight, which is the ratio of the total weight of all targets. A target with a higher weight receives a larger share of traffic. The valid range is from 1 to 256. We recommend using values in the middle range to leave room for later adjustments.
Note:
You can configure VM Auto Scaling via . This feature combines granular configurable options wherein you can create a group and define when the feature must scale in or scale out based on demand. You must also specify the minimum (for scale out) and the maximum (for scale in) number of replicas a group can contain for the replicas to stay within the given threshold.
Configure replicas after configuring thresholds and policies, where you define the settings, network, and storage volumes for the replicas created by the feature. After you define the network, you may add an to the group.
After successfully creating a group, you can modify its details, delete it, and view its associated servers and list of jobs.
The following links redirect you to the relevant pages.
IONOS VM Auto Scaling is a cloud computing feature that modifies the number of instances in your automatically based on changes in demand (or the load on your VM).
Note: VM Auto Scaling is currently in the phase. We recommend keeping usage and testing to non-production critical applications. For more information, please contact your sales representative or customer support. EA rollout has its limitations. For more information, see .
VM Auto Scaling automatically adds new VM instances when the load increases and reduces the number of instances when the load decreases. This automatic behavior constantly monitors the load and regularly scales the number of VM instances based on the policy threshold. The functionality ensures that the number of replicas in the group remains within the defined limitations.
To configure the feature, create a VM Auto Scaling Group with the following settings:
A group-wide scaling policy based on metrics.
Server replica configuration to automatically add or remove VMs based on demand.
VM Auto Scaling generates or deletes replicas based on the scaling policy, as needed by your application. The metric-based scaling policy tracks the CPU usage or the incoming and outgoing network packets, based on the configuration. When the existing VM instances hit the given threshold, it automatically initiates scaling, either scale in or scale out. Scaling in and scaling out is also called horizontal scaling because it adds additional VMs of the same size but does not increase the size of individual VMs by adding new cores or storage.
Additionally, you can replicate the configuration, such as the CPU architecture, number of cores, network, and group volumes.
VM Auto Scaling interfaces with other IONOS Cloud services, such as the , to maximize resource utilization, improve application scalability, and high-availability of multiple application servers due to server redundancy. You can specify how VM Auto Scaling replicas should be included in the ALB. When enabled, your application automatically scales based on requests from various sources. For example, if you pair VM Auto Scaling with an ALB and your application includes a web service, VM Auto Scaling ensures that your application has enough VM instances to process all requests.
VM Auto Scaling is cost-efficient and improves resource utilization. You pay only for the resources needed to run your application without any additional costs.
You can access and configure VM Auto Scaling via the , Cloud API, and the SDK. To start using VM Auto Scaling, see .
Get an overview of VM Auto Scaling.
Get started with VM Auto Scaling via the API.
Get started with VM Auto Scaling via the DCD.
VM Auto Scaling allows you to automatically scale the number of VM instances horizontally based on the configured policy. This functionality ensures that you have enough VM instances to handle the application loads. It improves efficiency by ensuring that adequate instances are available during peak workloads and saves money by limiting the number of instances available during low workload periods.
This section covers the components of VM Auto Scaling, its features, benefits, and limitations.
The following components are an integral part of VM Auto Scaling:
Auto Scaling group: A collection of VM instances that the VM Auto Scaling manages. VM Auto Scaling automatically adds or removes instances from the group based on the metrics defined for the consumption of resources in the scaling policy.
Scaling policy: Defines how VM Auto Scaling Group scales an instance group based on various parameters such as CPU usage, incoming or outgoing requests, or load balancing utilization. Users can define custom scaling policies and set the desired scaling parameters for the instance group.
VM replica configuration: Defines the properties of the new VM replicas created during the scaling process. The configuration includes the parameters such as CPU type, number of cores, RAM size, network, and volumes.
VM Auto Scaling Manager: Create a VM Auto Scaling Group, define scaling policies, and replicate settings for creating VM instances.
VM Auto Scaling provides the following features:
Automatic Scaling automatically adds or removes VM instances based on the need. It analyzes the resource consumption continuously and scales up the allotted resources when necessary to ensure that the application is always responsive and performing optimally.
Customizable scaling policies allow users to define custom scaling policies based on various parameters, such as CPU usage or network utilization and set the desired scaling parameters for the Auto Scaling group.
Multiple granular scaling policies allow you to specify the number of instance creations when the scaling threshold is reached. Users may choose a policy that best suits their workload requirements.
Integration with other IONOS Cloud services, such as the ALB, enables users to optimize resource utilization and improve application scalability.
VM Auto Scaling provides the following benefits:
Improved resource utilization enables you to allocate resources as needed, thus, improving resource utilization and cost efficiency.
Improved application performance ensures the application is always responsive and performing optimally, thus providing a better user experience.
Improved scalability allows you to scale the application easily and quickly, supporting business growth and increasing revenue.
Reduced operational overhead automates the scaling process, reducing the operational overhead of managing and maintaining VM instances.
This section lists the limitations of VM Auto Scaling:
It is best suited for a gradual increase in demand. The feature uses cooldown timers to scale resources gradually rather than abruptly. As a result, if you anticipate a sudden rise in traffic, we recommend manually adding VMs ahead of time. For example, you could add new VMs before traffic spikes after a TV commercial.
Updating the replica configuration does not affect the existing replicas; however, the changes are only visible when you create new replicas.
To improve the efficiency of the VM Auto Scaling service, we recommend limiting the maximum number of VMs in an Auto Scaling Group to 100 or less. Note that the minimum replica count is one.
Scale in or scale out jobs with a large number of VMs may encounter performance issues. Hence, we recommend limiting the creation or deletion of VMs to at most five, regardless of whether the Amount Type is absolute or percentage.
Note: During the EA phase, we recommend using the DHCP feature from IONOS to advertise the assigned IPs to the network; otherwise, detection within the may not work as expected.
. You can also associate an ALB after configuring replicas.
An from the VDC can be associated with the replica configuration. As a result, a replica can be linked to multiple target groups if a target group contains several NICs. This way an ALB ensures that the load is equally distributed among the replicas.
If you have not already configured an ALB, log in to the DCD with your username and password, drag-and-drop the Application Load Balancer from the Palette on the left side of the screen into your VDC to start configuring it. For more information about connecting your target group to an ALB, see .
It is mandatory to define at least one network before you configure an ALB, so you can associate an ALB with the group after .
To get answers to the most commonly encountered questions about VM Auto Scaling in DCD, see .
The capabilities are limited to your customer contract limits. For more information about the contract resource limits in DCD, see .
VM Auto Scaling is a managed service designed to launch or terminate VM instances horizontally to ensure you have the appropriate number of instances available to handle the load on your application.
You can optimize cost by reducing the number of VMs needed to run in parallel while ensuring your setup does not run into resource limitations.
One of your scaling policies was met. For example, when CPU utilization exceeds the defined threshold, you may check the Auto Scaling logs to see why a scaling action was triggered.
It is a defined group of VMs created from the same image template by the VM Auto Scaling feature.
When you delete the VM instances, all the underlying VMs will be deleted.
The Jobs tab contains information about the scaling operations that the feature initiates. You can view a list of actions triggered by the feature, its status, and when the process started.
If not explicitly configured differently, VM Auto Scaling deletes the oldest VM in your Auto Scaling group first when a scale in action is triggered. Thus changes will be propagated naturally through your group of VMs.
When your VM Auto Scaling Group qualifies for a scale in action according to the metrics you set, the oldest running VM in your group will be stopped. You repeat this process until all VMs are updated.
Currently, VM Auto Scaling only supports horizontal scaling. This means that the feature creates more VMs to support your workload based on the replica configuration of the appropriate group.
Note: The VM Auto Scaling feature does not handle VMs that are not part of a VM Auto Scaling Group. You will need to manually update them.
Although the feature now allows horizontal scaling, you can manually modify the replica configuration of a group. For example, you can increase the resources associated with your VMs, such as CPU cores or the size of the RAM. This notion is identical to vertical scaling (scaling up). After you save the configuration, the replicas created as part of the subsequent scale-out process contain the updated configuration. As mentioned earlier, for this change to propagate to all your VMs, the scaling in policy must be explicitly configured to delete the oldest replicas.
You can choose if the volumes must be retained when a VM is scaled in. Remember that choosing to retain the volumes during scale in process accumulates data over time.
You can combine VM Auto Scaling with an ALB to spread the load evenly across your VMs. You may also use CloudInit to configure your VMs during bootup based on the workload.
A Cross Connect is a feasible alternative to connect replicas on two different subnets. Hence, groups with replicas connected to these subnets will be connected via Cross Connect. Moreover, ensure that you make the necessary configurations as you would for VMs to communicate with one another. The approach is similar to physically connecting two subnets using a network cable.
Yes, the replicas (or VM instances) created as part of the scaling process function in the same way as the IONOS Cloud VMs configured in the VDC. For example, you can configure it with an ALB, Network Load Balancer, NAT Gateway, Managed Kubernetes clusters, and MongoDB clusters.
Configure a VM Auto Scaling group and define group-wide policies for scaling. |
Modify the group name and scaling policies. |
Delete an existing VM Auto Scaling group. |
View the servers associated with the group. |
View the list of scaling operations. |
Configure a VM Auto Scaling group and define group-wide policies for scaling. |
Configure storage size, networks, and storage volumes for the VM instances. You can also associate an with the group. |
Modify the group name and scaling policies. |
Delete an existing VM Auto Scaling group. |
View the servers associated with the group. |
View the list of scaling operations. |
After successfully configuring your VM Auto Scaling Groups, you can modify scaling thresholds and scaling policies, update replica configuration or associate an ALB via the VM Auto Scaling Manager.
To modify the values, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click on the respective group to modify its values.
You can modify the following:
click Configuration to update the name of the group, modify scaling thresholds and policies.
Note: You cannot modify a DCD after it is associated with the group.
click Replica Configuration to update storage settings, NICs and associated ALBs, or storage volumes.
click Servers to view the servers that are associated with the group.
click Jobs to view the list of tasks.
Click Save to save the changes.
Result: The corresponding VM Auto Scaling Group is successfully modified.
The scale in and scale out operations performed by the VM Auto Scaling feature are displayed in a chronological order.
To view the list of operations and their statuses, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click on the corresponding VM Auto Scaling Group to view its status. The application displays the following information:
The Status of a job indicates whether it is completed successfully, in progress, or failed.
An Action indicates if the feature scaled in (deleted) or scaled out (added) VM instances.
The Timestamp provides the date and time when the process began.
The VM Auto Scaling Manager displays the list of all servers associated with the selected VM Auto Scaling Group. Each server is given a unique identification string as its name automatically.
Note: The unique identification string is a name and not a server ID. Hence, it cannot be used to retrieve information over the API.
To view the associated servers, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click Servers to view one of these:
click Console to open the remote console to access your VM.
clicking Focus Server opens the VDC and preselects the server automatically.
Deletion of a VM Auto Scaling Group results in the deletion of all the VMs associated with the respective group.
To delete a group, follow these steps:
Log in to DCD with your username and password.
Go to Menu > Management > VM Auto Scaling.
Click Delete to delete the selected group.
Select the checkbox to confirm deletion.
Enter your Password to proceed with the deletion process.
Select the Skip password verification for the next 60 minutes checkbox if you want to avoid specifiying your password for any operation during the next 60 minutes.
Click OK.
Result: The application deletes the selected VM Auto Scaling Group and the associated VMs, if any.
Configure storage size, networks, and storage volumes for the VM instances. You can also associate an with the group.