Setting region to lhr but always get ams?

I’m trying to set a fly.io tailscale exit node to london but always get ams. I tried setting backup regions to nothing but can’t get ip as london. Works when I use yyz (Toronto) but London doesn’t get London IP address.

If you run fly regions list, does it still show ams as a backup region? If it does, try setting fly regions backup lhr. That should do what you want!

Nope, doesn’t work, when I use fly.io with lhr region with tailscale I get Scottsdale, Arizona (US)
Your IP address is 140.99.94.52 in [Scottsdale, Arizona, United States (85254)]

$ flyctl regions list  
Region Pool: 
lhr
Backup Region: 
 
$ flyctl  ssh console
Connecting to top1.nearest.of.fly-lhr.internal... complete
/ # ifconfig 
eth0      Link encap:Ethernet  HWaddr DE:AD:B5:E2:95:D7  
          inet addr:172.19.1.138  Bcast:172.19.1.143  Mask:255.255.255.248
          inet6 addr: fe80::dcad:b5ff:fee2:95d7/64 Scope:Link
          inet6 addr: 2605:4c40:94:805f:0:4f35:e2dc:1/127 Scope:Global
          inet6 addr: fdaa:0:3b34:a7b:28df:4f35:e2dc:2/112 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1420  Metric:1
          RX packets:52369 errors:0 dropped:0 overruns:0 frame:0
          TX packets:85854 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:64733772 (61.7 MiB)  TX bytes:68451549 (65.2 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tailscale0 Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:100.110.71.118  P-t-P:100.110.71.118  Mask:255.255.255.255
          inet6 addr: fd7a:115c:a1e0:ab12:4843:cd96:626e:4776/128 Scope:Global
          inet6 addr: fe80::d3c7:98da:74da:e3b1/64 Scope:Link
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1280  Metric:1
          RX packets:25711 errors:0 dropped:0 overruns:0 frame:0
          TX packets:57286 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:3257330 (3.1 MiB)  TX bytes:60102051 (57.3 MiB)

Ah! I see the confusion. That IP address is not actually in Scottsdale, geo IP lookups for datacenter IPs end up getting corporate addresses of the owner company.

If you run echo $FLY_REGION you’ll see which region your VM is running in.

My $FLY_REGION is lhr, but when I use that fly_lhr as tailscale exit node, the ip used from tailscale for exit node give location of USA not London.

Yes, that location is not where the VM actually is. That’s the address of the corporation that owns that IP address. Geo lookup on IPs like this is not reliable.

OK so unlike digital ocean or aws how do I get a vm with a london ip address?