

#Gcloud ssh tunnel to instance download#
Note: If you were to want a bearer token for this service account for use outside the immediate uses of this codelab (again, you do not need a bearer token for this codelab), you can download the key with this command: gcloud iam service-accounts keys create service-account.json -iam-account Creating the Compute Engine VM If your service account is named sa-test when you created it, and your project is my-project-test then the command would be: gcloud projects add-iam-policy-binding my-project-test -member -role roles/cloudsql.client To assign the appropriate role, run: gcloud projects add-iam-policy-binding -member -role roles/cloudsql.clientĮ.g. This creates the service account, but it's currently without any roles/permissions assigned to it. For example, if the application needed to be able to authorize multiple GCP projects at once.Ĭreate the service account: gcloud iam service-accounts create -display-name " service account" The service account will be assigned to the Compute Engine instance itself which will grant default credentials for the whole instance.ĭepending on the application you end up creating after this codelab, you might need a physical account key which you could get on this page by hitting the CREATE KEY button. Nothing to do on the last page because for this codelab you won't need a bearer token. Filter for "Cloud SQL" and select the Cloud SQL Client role. On the next page, click the drop-down for Select a role.

Give your service account a unique name and ID and click CREATE. Go to the IAM service accounts page and click the button at the top of the page.

For this codelab, we need one in order to grant the Cloud SQL Proxy permission to connect to our Cloud SQL instance.

Service accounts are used to grant permissions to use different services within your GCP project. A GCP account you have permissions to enable APIs and create services on.Download and run the Cloud SQL Proxy on the GCE instance.Create a Cloud SQL instance (this tutorial uses Postgres, but works similarly for MySQL or SQL Server).Create a VM on Google Compute Engine (GCE).Create a minimal Service Account to enable connection to the Cloud SQL instance.Note: If you're using gcloud to go through this codelab then you'll need to run gcloud init and be sure that you're configured properly to the project you want to use. The instructions will include both a walk-through of doing things in the GCP console, as well as including the gcloud command equivalents for using on the CLI or automation. In a perfect world, connecting to Cloud SQL is just like connecting to any other instance of a SQL database so you should be able to take what you create in this codelab, and apply it to any production application. The idea is to walk you through the nuts and bolts of the connection piece, without thinking too heavily about the application itself. One common use-case for this would be, for instance, an on-premise application that has been shifted to run in the Cloud instead of locally. You're minimizing your exposure to the internet by restricting to only using a private IP, and using the SQL Proxy which handles SSL connectivity for you. This is an incredibly secure way to run a stateful application in the Cloud. In this codelab, we'll be covering connecting to Cloud SQL from an application that's being run on a managed virtual machine in Google Compute Engine via an internal private IP address using the Cloud SQL Proxy. There are many types of applications and frameworks out there. Last Updated: Thinking about the connection
