terraform-google-sql
terraform-google-sql makes it easy to create Google CloudSQL instance and implement high availability settings. This module consists of the following submodules:
See more details in each module's README.
Compatibility
This module is meant for use with Terraform 0.12. If you haven't upgraded and need a Terraform 0.11.x-compatible version of this module, the last released version intended for Terraform 0.11.x is v1.2.0.
Upgrading
The current version is 3.X. The following guides are available to assist with upgrades:
Root module
The root module has been deprecated. Please switch to using one of the submodules.
Requirements
Installation Dependencies
- terraform 0.12.x
- terraform-provider-google plugin v2.5.x
The following dependency must be available for SQL Server module:
- Terraform Provider Beta for GCP plugin v3.10
Configure a Service Account
In order to execute this module you must have a Service Account with the following:
Roles
- Cloud SQL Admin:
roles/cloudsql.admin
- Compute Network Admin:
roles/compute.networkAdmin
Enable APIs
In order to operate with the Service Account you must activate the following APIs on the project where the Service Account was created:
- Cloud SQL Admin API:
sqladmin.googleapis.com
In order to use Private Service Access, required for using Private IPs, you must activate the following APIs on the project where your VPC resides:
- Cloud SQL Admin API:
sqladmin.googleapis.com
- Compute Engine API:
compute.googleapis.com
- Service Networking API:
servicenetworking.googleapis.com
- Cloud Resource Manager API:
cloudresourcemanager.googleapis.com
Service Account Credentials
You can pass the service account credentials into this module by setting the following environment variables:
GOOGLE_CREDENTIALS
GOOGLE_CLOUD_KEYFILE_JSON
GCLOUD_KEYFILE_JSON
See more details.
Provision Instructions
This module has no root configuration. A module with no root configuration cannot be used directly.
Copy and paste into your Terraform configuration, insert the variables, and run terraform init :
module "sql-db" {
source = "GoogleCloudPlatform/sql-db/google//modules/mysql"
version = "3.1.0"
}
or :
module "sql-db" {
source = "GoogleCloudPlatform/sql-db/google//modules/postgresql"
version = "3.1.0"
}
Contributing
Refer to the contribution guidelines for information on contributing to this module.