Uneven region distribution with count based scaling

My app runs in 3 regions and I want 1 instance running in each. For this I leave autoscaled disabled and set my instance count to 3.

I am expecting to have 1 instance in each region as a result, but sometimes I get 2 in a region, 1 in another, 0 in the last one.

This has been happening for a few months at least.

Redeploying or scaling down and back up can help but this is obviously far from ideal if I have to check that my instance count is correct every time I deploy.

What am I doing wrong?

$ fly autoscale show
Scale Mode: Disabled
fly scale show
VM Resources for my_app
        VM Size: shared-cpu-1x
      VM Memory: 1 GB
          Count: 3
 Max Per Region: Not set
fly regions list
Region Pool:
cdg
iad
lax
Backup Region:

Hi! You’re probably already doing this, but have you set --max-per-region to 1? Trying this out on a test app seems to create 1 instance in 3 different regions.

I tried this actually but the setting does not seem to be saved:

$ fly scale count 3 --max-per-region 1
Count changed to 3
$ fly scale show
VM Resources for nara
        VM Size: shared-cpu-1x
      VM Memory: 1 GB
          Count: 3
 Max Per Region: Not set
1 Like

Hmm, I get the same thing. Does fly status show you the desired result otherwise? It’s possible we’re running into this known display issue

I am guessing fly status and the monitoring tab of the dashboard at https://fly.io/apps/my_app/monitoring show the same thing and in that case I don’t get the desired result as this is where I see 2 instances in the same region
(I have fixed the instance count by scaling down and back up now so I cannot check)