According to the Cloud SQL federated queries documentation one can run a multi-region BigQuery job to query a Cloud SQL instance in a region encompassed by multi-region specified:
A BigQuery multi-region can query any Cloud SQL region in the same location (US, EU). For example:
The BigQuery US multi-region can query Cloud SQL us-central1, us-east4, us-west2, and so on.
The BigQuery EU multi-region can query Cloud SQL europe-north1, europe-west2, and so on.
But when I try to run a query on a Cloud SQL instance in us-east4 with a processing location of US it throws a cryptic error.
SELECT id FROM EXTERNAL_QUERY("project.us-east4.external_conn_name", "SELECT id FROM users")
Access Denied: URI: projects/project/locations/us-east4/connections/external_conn_name: APPLICATION_ERROR;google.cloud.bigquery.connection.v1beta1/ConnectionService.GetPrivateConnectionInfo;RPC error;AppErrorCode=7;
This same query completes successfully when ran with a processing location of us-east4.
I have been running multi region federated queries successfully for about two months to perform ETL jobs that load Cloud SQL data in us-east4 to BigQuery datasets in US in a fashion similar to the answer described here. My cloud team has audited IAM changes and there do not appear to be any changes that could have caused this issue. It seems as if there were some silently released changes by Google Cloud Platform last night and it has broken about 100 ETL jobs that I run. I am scrambling to come up with a quick fix so my company can continue to use data reliant on these ETL jobs. Any ideas on how I can work around this issue?