We will be having a setup with a Company where they connect their network (A) to our google cloud VPC (B) containing a kubernetes cluster using VPN. They will route all traffic to our network through this tunnel.
In order to test this, we have connected two google VPC networks (one mimicking (A), one (B)) using the Google VPN. The connection works and VMs can ping each other using internal IPs. A's BGP advertises 0.0.0.0/0 and B its subnet. Both have firewall rules that allow ingress traffic for each other's subnets.
The on-premise network uses a public DNS and resolves IPs to public IPs.
I am looking for a way to do two things on our side:
- Route the public ip of our cloud services to a local (internal load balancer) IP. So that A can access our k8s cluster in B using the public ip.
- Route traffic with destinations on the public internet to the internet, so network A can access the internet through the VPN tunnel.
I have looked into multiple google services (NAT gateways, internal load balancers, routers, ...) but (due to lack of experience) can't find a fitting solution for these issues. It this even possible with google cloud native solutions?