At the moment a zero-node configuration requires you to manage your initial node scale out manually.
To scale out from 0 nodes
- open the AWS console and visit the EC2 dashboard
- locate your autoscaling group
- modify the “Desired” and “Min” values as required – I’d suggest simply increasing “Desired” to 1 as, once the first node has joined the cluster, autoscaling will proceed up to the “Max” value and back down to 0 when nodes are idle.
Note that increasing “Min” will cause the autoscaler to be unable to scale back to 0 nodes – instead it will scale back to the new “Min” figure.
To scale back to 0 nodes
- if you have simply increased the “Desired nodes” figure then you can leave your nodes to go idle; they will automatically be scaled back to 0 nodes when detected idle as the end of their AWS billing hour is approached.
- if you have also increased “Minimum nodes” then you’ll need to open the AWS console and set this figure back to
0. The nodes will be automatically scaled back to 0 nodes as above. You can also choose to set “Desired nodes” to
0 if you want the nodes to be scaled back immediately for any reason.
We’re looking into adding some tooling that can be used from within the cluster to ease this process in our next release. In the meantime, it’s possible to use something like this with the region and cluster name updated as appropriate (note you should be
[root@login1(mycluster) alces]# module load services/aws services/clusterware
[root@login1(mycluster) alces]# aws --region us-east-1 autoscaling describe-auto-scaling-groups | jq -r '.AutoScalingGroups|select(.AutoScalingGroupName|startswith("mycluster-")).AutoScalingGroupName'
[root@login1(mycluster) alces]# aws --region us-east-1 autoscaling set-desired-capacity --auto-scaling-group-name mycluster-FlightComputeGroup-1KOKS8MR22KJZ --desired-capacity 1
This will update the autoscaling group and cause a single compute node to be spun up.
This shouldn’t happen while autoscaling is enabled – you can check that autoscaling is enabled using the
alces configure autoscaling status command:
[alces@login1(mycluster) ~]$ alces configure autoscaling status