I have a cloud run service that is trying to fetch data from an external public resource on a daily schedule. I am using a serverless vpc connector, but only for private ranges.
Have you verified that the new project's service account runing the service has Serverless VPC Access Service Agent ? Connect to a VPC network | Google Cloud
In the original project did you have any "network tags" applied for firewall rules and did they get implemented for the new service in the new project?
Is it a Shared VPC ?
It is using the default project VPC.
The service-account has the same roles in both projects.
There are no network tags, and no additional firewall rules aside from those that come with the default project VPC.
I've done further testing and I can hit other external resources, just this specific one. So I am starting to assume something is up with this specific resource.
so it sounds like is self contained in the project - if it is in terraform - I'd run a destroy and rerun apply - I'd look for errors in log explorer to ensure all resources didn't have an issue when built, I'd check the health of the Serverless VPC as well.
My assumption are (coming from Direct VPC egress with a VPC network | Cloud Run Documentation | Google Cloud) :
the service account binding is in place:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "serviceAccount:service-PROJECT_NUMBER@serverless-robot-prod.iam.gserviceaccount.com" \
--role "roles/compute.networkUser"
running the gcloud cmd provides output as outlined originally:
gcloud beta run services describe SERVICE_NAME \
--region=REGION
the project is in one of the Direct VPC egress regions:
I have deleted the serverless vpc entirely to see if that had any effect.
I've also deleted and recreated the cloud run service. I'll start tearing down and recreating more stuff.