Hi, would it be possible to get some clarity on best practises or general help for auto scaling in AWS.
I don’t fully understand the fleet manager options, it seems like you were handling scaling with code but also the option exists to use an ASG in AWS natively. My assumption is that horde will expose the required metrics to cloudwatch so ASG can scale. My use case at present is just UBA and my ideal is to use spot instances for this pool or most of it
I started on what I think config might look like and there are two main questions
1) What is “config” for external ASG fleet?
2) Are these bits relevant for external ASG?
AwsFleetManager.cs
public const string PoolTagName = “Horde_Autoscale_Pool”;
private const string AwsTagPropertyName = “aws-tag”;
Thanks
`{
“compute”: [
{
“id”: “default”
//“condition”: “pool == ‘Linux-UE5’ && osfamily == ‘Linux’”
}
],
"pools": [
{
"name": "Linux-UE5",
"condition": "Platform == 'Linux'",
"color": "Orange",
"enableAutoscaling": true, // turn on scaling
"computeQueueAwsMetricSettings": {
"computeClusterId": "default", // compute cluster ID from above
"namespace": "Horde/QueueManagement" // seems sensible?
},
"fleetManagers": [
{
"type": "AwsAsg", // I want to use an existing ASG
"condition": "true", // enable it
"config": "" // not sure what goes here
}
],
"sizeStrategy": "LeaseUtilizationAwsMetric" //assume we use sizeStrategy and not sizeStrategies
}
]
}`