How to create a self hosted auto-scale group with a single static IP

I would like to use the auto-scale feature for the many jobs running in our company with a static IP so that I can whitelist them.

We have a self-hosted instance with an auto-scale group setup using the sample described here

We are using GCP I added the following options to accomplish a server without public IP
MachineOptions = [“google-use-internal-ip-only”,“google-network=internal-network”,“google-subnetwork=internal-subnet-us-east1”…]

Basically, I created a cloud-nat that will nat all traffic in this subnet out of a static IP if the server does not have its own public IP. I, therefore, would like to have the runner spun up without their own IP.
That part seems to work. What I am stuck on is that when I do that I get a sever without public IP docker-machine times out while trying to communicate. Basically, it looks like the following

root@a64400626845:/# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
runner-830d169c-auto-scale-1634267228-75f32540 google Timeout

When GitLab runner is healthy (i.e. it has a public IP)

root@a64400626845:/# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
runner-830d169c-auto-scale-1634267337-3171c0d4 - google Running tcp://34.139.184.131:2376 v20.10.9

Any thoughts? Would really appreciate it!!

I figured out the answer, so I’ll post it below.

I needed to create a VPC peer from the runner project network to the runner orchestrator’s network.
Once the peer connection was in place docker-machine started communicated on the runner private IP