I'd like to use Cloud VPN to connect my GCP world with multiple different on premise networks. For this purpose I use classic Cloud VPN tunnels which works fine. Obviously, all these VPN Gateways (on cloud side) use their own VPC. Now I want to make these VPCs available to a single Compute Instance such that the Instance is able to use the VPN tunnels.
In this context, I stumbled across Network Peering and Shared VPCs. Network Peering does not work for us due to the 25 Peers limit, so I wanted to go for Shared VPCs. The problem with this approach is, that one service project can only be attached to a single host project. Hence the Compute Instance could not be a service project to multiple host projects (The VPN Tunnel Projects). I thought about creating a "Backbone VPC" which lives within the host project, and assign the Backbone VPC to the VPN Gatways each living in a different service Project. This however does not work as VPCs of different Projects cannot be assigned to the Gateway.
I am using terraform to create the cloud Infrastructure
Any ideas how to handle this situation?