Google Cloud SQL proxy couldn't find default credentials
Two problems may be generating your problem.
To find what is login, using:
gcloud auth login
1. You haven't application default credentials
If you have a recent version of gcloud you will get:
WARNING: `gcloud auth login` no longer writes application default credentials.
To make your local application use your credentials you need to do (ref):
gcloud auth application-default login
If you don't see this warning consider updating gcloud, with:
gcloud components update
2. You haven't defined your project
After login, you should see:
Your current project is [project-id].
Once again two solutions:
a. Associate a project
If you are not seeing this, do (ref):
gcloud config set project PROJECT_ID
b. Use global --project
flag in the call
In your command associate a project:
.\cloud_sql_proxy -instances=project-id:region-name:instance-id=tcp:3306 --project=project-id
Google application default credentials are managed separately from gcloud credentials.
Use
gcloud auth application-default login
instead to setup your user credentials as application default. See reference for more info.
Previously gcloud auth login
did this, but with more recent Cloud SDK versions this is no longer the case.
Note that switching gcloud configuration or setting account will not update application default credentials. Only commands in gcloud auth application-default
can be used to manage these.
Also to use service account as application default credential you can use it directly by downloading its json key from developer console.