Is it possible to assign a static IP to a cloud run service for inbound requests without a load balancer? I am trying to save on costs as cloud run autoscales itself so there really is no need to pay for a load balancer. I'm trying to resolve an IP pointing to a closer cloud run instance (in relation to user location) for a given domain (GeoDNS). The reason for a static IP is to benefit from GeoDNS when using Cloud DNS.
My goal:
User (EU) -> Cloud DNS -> Cloud run (EU)
User (US) -> Cloud DNS -> Cloud run (US)
Posting @JohnHanley's comment as community wiki for the benefit of the community members that might encounter this use case in the future:
You cannot change the Cloud Run ingress IP address without configuring a load balancer. DNS does not use the service's IP address for geolocation. It uses data from the client (EDNS). The issue that I see for Cloud Run is that you cannot have more than one Cloud Run service using the same domain mapping (domain name). Therefore you can only create one entry for the DNS server geo policy for your domain and you need more than one entry.
You cannot use a CNAME to switch DNS hostnames for HTTPS. The TLS negotiation will fail. All Cloud Run generated URLs use HTTPS