This template creates a Cloud SQL instance with databases and users.
- Install gcloud
- Create a GCP project, set up billing, enable requisite APIs
- Enable the Cloud SQL API
- Enable the Cloud SQL Admin API
- Grant the roles/cloudsql.admin IAM role to the Deployment Manager service account
See the properties
section in the schema file(s):
-
Clone the Deployment Manager samples repository:
git clone https://github.com/GoogleCloudPlatform/cloud-foundation-toolkit
-
Go to the dm directory:
cd dm
-
Copy the example DM config to be used as a model for the deployment; in this case, examples/cloud_sql.yaml:
cp templates/cloud_sql/examples/cloud_sql.yaml my_cloud_sql.yaml
-
Change the values in the config file to match your specific GCP setup (for properties, refer to the schema files listed above):
vim my_cloud_sql.yaml # <== change values to match your GCP setup
-
Create your deployment (replace <YOUR_DEPLOYMENT_NAME> with the relevant deployment name):
gcloud deployment-manager deployments create <YOUR_DEPLOYMENT_NAME> \ --config my_cloud_sql.yaml
To deploy with CFT:
cft apply my_cloud_sql.yaml
-
In case you need to delete your deployment:
gcloud deployment-manager deployments delete <YOUR_DEPLOYMENT_NAME>
To delete deployment with CFT:
cft delete my_cloud_sql.yaml
Notes:
After a Cloud SQL instance is deleted, its name cannot be reused for
up to 7 days.