You do not need to include the project ID in the instance name. This is done automatically where appropriate (for example, in the log files).
postgres
user.To see the password in clear text, click the Show password icon.
You can either enter the password manually or click Generate to have Cloud SQL create a password for you automatically.
Place your instance in the same region as the resources that access it. The region you select can't be modified in the future. In most cases, you don't need to specify a zone.
If you are configuring your instance for high availability, you can select both a primary and secondary zone.
The following conditions apply when the secondary zone is used during instance creation:
Any
for the primary zone and Any (different from primary)
for the secondary zone.The following table is a quick reference to instance settings. For more details about each setting, see the instance settings page.
Setting | Notes |
---|---|
Machine type | |
Machine type | Select from Shared core or Dedicated core. For Shared core, each machine type is classified by the number of CPUs (cores) and amount of memory for your instance. |
Cores | The number of vCPUs for your instance. Learn more. |
Memory | The amount of memory for your instance, in GBs. Learn more. |
Custom | For the Dedicated core machine type, instead of selecting a predefined configuration, select the Custom button to create an instance with a custom configuration. When you select this option, you need to select the number of cores and amount of memory for your instance. Learn more. |
Storage | |
Storage type | Determines whether your instance uses SSD or HDD storage. Learn more. |
Storage capacity | The amount of storage provisioned for the instance. Learn more. |
Enable automatic storage increases | Determines whether Cloud SQL automatically provides more storage for your instance when free space runs low. Learn more. |
Encryption | |
Google-managed encryption | The default option. |
Customer key-managed encryption key (CMEK) | Select to use your key with Google Cloud Key Management Service. Learn more. |
Connections | |
Private IP | Adds a private IP address for your instance. To enable connecting to the instance, additional configuration is required. Optionally, you can specify an allocated IP range for your instances to use for connections.
Your instance can have both a public and a private IP address.
|
Public IP | Adds a public IP address for your instance. You can then add authorized networks to connect to the instance. Your instance can have both a public and a private IP address. Learn more about using public IP. |
Authorized networks | Add the name for the new network and the Network address. Learn more. |
Private path for Google Cloud services | By selecting this check box, you allow other Google Cloud services, such as BigQuery, to access data in Cloud SQL and make queries against this data over a private connection. |
Enable Managed Connection Pooling | By selecting this checkbox, you enable Managed Connection Pooling for your instance. Managed Connection Pooling lets you scale your workloads by optimizing resource utilization and connection latency Cloud SQL instances using pooling and multiplexing. For more information about Managed Connection Pooling, see Managed Connection Pooling overview. |
Data protection | |
Automate backups | The window of time when you would like backups to start. Learn more. |
Choose where to store your backups | Select Multi-region for most use cases. If you need to store backups in a specific region, for example, if there are regulatory reasons to do so, select Region and select your region from the Location drop-down menu. |
Choose how many automated backups to store | The number of automated backups you would like to retain (from 1 to 365 days). Learn more. |
Enable point-in-time recovery | Enables point-in-time recovery and write-ahead logging. Learn more. |
Enable deletion protection | Determines whether to protect an instance against accidental deletion. Learn more. |
Enable retained backups after instance deletion | Determines whether automated and on-demand backups are retained after an instance is deleted. Learn more. |
Choose how many days of logs to retain | Configure write-ahead log retention from 1 to 7 days. The default setting is 7 days. Learn more. |
Maintenance | |
Preferred window | Determines a one-hour window when Cloud SQL can perform disruptive maintenance on your instance. If you do not set the window, then disruptive maintenance can be done at any time. Learn more. |
Order of updates | Your preferred timing for instance updates, relative to other instances in the same project. Learn more. |
Flags | |
ADD FLAG | You can use database flags to control settings and parameters for your instance. Learn more. |
Labels | |
ADD LABEL | Add a key and value for each label that you add. You use labels to help organize your instances. |
Data cache | |
Enable data cache (optional) | Enables data cache for Cloud SQL for PostgreSQL Enterprise Plus edition instances. For more information about data cache, see data cache. |
Note: It might take a few minutes to create your instance. However, you can view information about the instance while it's being created.
For information about installing and getting started with the gcloud CLI, see Installing gcloud CLI. For information about starting Cloud Shell, see the Cloud Shell documentation.
gcloud sql instances create
command to create the instance:gcloudsqlinstancescreateINSTANCE_NAME\--database-version=DATABASE_VERSION\--region=REGION\--tier=TIER\--edition=ENTERPRISE_PLUS
gcloudsqlinstancescreateINSTANCE_NAME\--database-version=DATABASE_VERSION\--region=REGION\--cpu=NUMBER_CPUS\--memory=MEMORY_SIZE\--edition=ENTERPRISE
--tier
flag if you choose db-f1-micro
or db-g1-small
as the machine type: gcloudsqlinstancescreateINSTANCE_NAME\--tier=API_TIER_STRING\--region=REGION
There are restrictions on the values for vCPUs and memory size:
For example, the following command creates a Cloud SQL Enterprise edition instance with two vCPUs and 7,680 MB of memory:
gcloudsqlinstancescreatemyinstance\--database-version=POSTGRES_16\--cpu=2\--memory=7680MB\--region=us-central1
The following command creates a Cloud SQL Enterprise Plus edition instance with four cores:
gcloudsqlinstancescreatemyinstance\--database-version=POSTGRES_16\--tier=db-perf-optimized-N-4\--edition=ENTERPRISE_PLUS\--region=us-central1
--cpu
and --memory
. The default value for REGION is us-central1
.
Don't include sensitive or personally identifiable information in your instance name; it is externally visible.
You do not need to include the project ID in the instance name. This is done automatically where appropriate (for example, in the log files).
If you are creating an instance for high availability, you can specify both the primary and secondary zones, using the --zone
and --secondary-zone
parameters. The following conditions apply when the secondary zone is used during instance creation or edit:
You can add more parameters to determine other instance settings:
Setting | Parameter | Notes |
---|---|---|
Required parameters | ||
Database version | --database-version | The database version, which is based on your Cloud SQL edition. |
Region | --region | See valid values. |
Set password policy | ||
Enable password policy | --enable-password-policy | Enables the password policy when used. By default, the password policy is disabled. When disabled using the --clear-password-policy parameter, the other password policy parameters are reset. |
Minimum length | --password-policy-min-length | Specifies the minimum number of characters that the password must have. |
Password complexity | --password-policy-complexity | Enables the password complexity check to ensure that the password contains one of each of these types of characters: lowercase, uppercase, numeric, and non-alphanumeric. Set the value to COMPLEXITY_DEFAULT . |
Restrict password reuse | --password-policy-reuse-interval | Specifies the number of previous passwords that you can't reuse. |
Disallow username | --password-policy-disallow-username-substring | Prevents the use of the username in the password. Use the --no-password-policy-disallow-username-substring parameter to disable the check. |
Set password change interval | --password-policy-password-change-interval | Specifies the minimum duration after which you can change the password, for example, 2m for 2 minutes. |
Connectivity | ||
Private IP | --network
| --network : Specifies the name of the VPC network you want to use for this instance. Private services access must already be configured for the network. Available only for the beta command (gcloud beta sql instances create ).
This parameter is valid only if:
|
Public IP | --authorized-networks | For public IP connections, only connections from authorized networks can connect to your instance. Learn more. |
SSL Enforcement |
| The The |
Server CA mode | --server-ca-mode | The
|
Machine type and storage | ||
Machine type | --tier | Used to specify a shared-core instance (db-f1-micro or db-g1-small ). For a custom instance configuration, use the --cpu or --memory parameters instead. See Custom instance configuration. |
Storage type | --storage-type | Determines whether your instance uses SSD or HDD storage. Learn more. |
Storage capacity | --storage-size | The amount of storage provisioned for the instance, in GB. Learn more. |
Automatic storage increase | --storage-auto-increase | Determines whether Cloud SQL automatically provides more storage for your instance when free space runs low. Learn more. |
Automatic storage increase limit | --storage-auto-increase-limit | Determines how large Cloud SQL can automatically grow storage. Available only for the beta command (gcloud beta sql instances create ). Learn more. |
Data cache (optional) | --enable-data-cache | Enables or deactivates the data cache for instances. For more information, see data cache. |
Automatic backups and high availability | ||
High availability | --availability-type | For a highly-available instance, set to REGIONAL . Learn more. | Secondary zone | --secondary-zone | If you're creating an instance for high availability, you can specify both the primary and secondary zones using the --zone and --secondary-zone parameters . The following restrictions apply when the secondary zone is used during instance creation or edit:
If the primary and secondary zones are specified, they must be distinct zones. If the primary and secondary zones are specified, they must belong to the same region. |
Automatic backups | --backup-start-time | The window of time when you would like backups to start. Learn more. |
Retention settings for automated backups | --retained-backups-count | The number of automated backups to retain. Learn more. |
Retention settings for binary logging | --retained-transaction-log-days | The number of days to retain write-ahead logs for point-in-time recovery. Learn more. |
Point-in-time recovery | --enable-point-in-time-recovery | Enables point-in-time recovery and write-ahead logging. Learn more. |
Add database flags | ||
Database flags | --database-flags | You can use database flags to control settings and parameters for your instance. Learn more about database flags. |
Maintenance schedule | ||
Maintenance window | --maintenance-window-day , --maintenance-window-hour | Determines a one-hour window when Cloud SQL can perform disruptive maintenance on your instance. If you don't set the window, then disruptive maintenance can be done at any time. Learn more. |
Maintenance timing | --maintenance-release-channel | Your preferred timing for instance updates, relative to other instances in the same project. Use preview for earlier updates, and production for later updates. Learn more. |
Integration with Vertex AI | ||
--enable-google-ml-integration | Enables Cloud SQL instances to connect to Vertex AI to pass requests for real-time predictions and insights to the AI. | |
--database-flags cloudsql.enable_google_ml_integration=on | By turning this flag on, Cloud SQL can integrate with Vertex AI. | |
Custom SAN | ||
Add a custom subject alternative name (SAN) | --custom-subject-alternative-names=DNS_NAMES | If you want to use a custom DNS name to connect to a Cloud SQL instance instead of using an IP address, then configure the custom subject alternative name (SAN) setting while creating the instance. The custom DNS name that you insert into the custom SAN setting is added to the SAN field of the server certificate of the instance. This lets you use the custom DNS name with hostname validation securely. Before you can use the custom DNS name in your clients and applications, you must set up the mapping between the DNS name and the IP address. This is known as DNS resolution. You can add a comma-separated list of up to three custom DNS names to the custom SAN setting. |
If you are not using the Cloud SQL Auth Proxy, you will use this address as the host address that your applications or tools use to connect to the instance.
postgres
user: gcloudsqlusersset-passwordpostgres\--instance=INSTANCE_NAME\--password=PASSWORD
To create an instance, use a Terraform resource.
To apply your Terraform configuration in a Google Cloud project, complete the steps in the following sections.
Set the default Google Cloud project where you want to apply your Terraform configurations.
You only need to run this command once per project, and you can run it in any directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Environment variables are overridden if you set explicit values in the Terraform configuration file.
Each Terraform configuration file must have its own directory (also called a root module).
.tf
extension—for example main.tf
. In this tutorial, the file is referred to as main.tf
. mkdir DIRECTORY && cd DIRECTORY && touch main.tf
If you are following a tutorial, you can copy the sample code in each section or step.
Copy the sample code into the newly created main.tf
.
Optionally, copy the code from GitHub. This is recommended when the Terraform snippet is part of an end-to-end solution.
terraform init
Optionally, to use the latest Google provider version, include the -upgrade
option:
terraform init -upgrade
terraform plan
Make corrections to the configuration as necessary.
yes
at the prompt: terraform apply
Wait until Terraform displays the "Apply complete!" message.
To delete your changes, do the following:
deletion_protection
argument to false
. deletion_protection = "false"
yes
at the prompt: terraform apply
Remove resources previously applied with your Terraform configuration by running the following command and entering yes
at the prompt:
terraform destroy
This example creates an instance. Some optional parameters, such as backups and binary logging are also included. For a complete list of parameters for this call, see the Instances:insert page. For information about instance settings, including valid values for region, see Instance settings.
Don't include sensitive or personally identifiable information in your instance ID; it is externally visible.
You do not need to include the project ID in the instance name. This is done automatically where appropriate (for example, in the log files).
Before using any of the request data, make the following replacements:
POSTGRES_16
)db-custom-[CPUS]-[MEMORY_MBS]
EDITION_TYPE: your Cloud SQL edition
true
to enable data cache for your instance GOOGLE_MANAGED_INTERNAL_CA
or GOOGLE_MANAGED_CAS_CA
. If you don't specify serverCaMode
, then the default configuration is GOOGLE_MANAGED_INTERNAL_CA
. This feature is in Preview.CUSTOMER_MANAGED_CAS_CA
instances only.To set a password policy while creating an instance, include the passwordValidationPolicy object in the request. Set the following parameters, as required:
enablePasswordPolicy
: Enables the password policy when set to true
. To remove the password policy, you can use a PATCH
request with null
as the value for enablePasswordPolicy
. In this case, the other password policy parameters are reset.
minLength
: Specifies the minimum number of characters that the password must have.complexity
: Checks if the password is a combination of lowercase, uppercase, numeric, and non-alphanumeric characters. The default value is COMPLEXITY_DEFAULT
.reuseInterval
: Specifies the number of previous passwords that you can't reuse. disallowUsernameSubstring
: Prevents the use of the username in the password when set to true
.passwordChangeInterval
: Specifies the minimum duration after which you can change the password. The value is in seconds with up to nine fractional digits, terminated by s
. For example, 3.5s
.To create the instance so that it can integrate with Vertex AI, include the enableGoogleMlIntegration object in the request. This integration lets you apply large language models (LLMs), which are hosted in Vertex AI, to a Cloud SQL for PostgreSQL database.
Set the following parameters, as required:
enableGoogleMlIntegration
: when this parameter is set to true
, Cloud SQL instances can connect to Vertex AI to pass requests for real-time predictions and insights to the AIcloudsql.enable_google_ml_integration
: when this parameter is set to on
, Cloud SQL can integrate with Vertex AIHTTP method and URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Request JSON body:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig": { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [AUTHORIZED_NETWORKS], "ipv4Enabled": false, "enablePrivatePathForGoogleCloudServices": true, "serverCaMode": "CA_MODE", "customSubjectAlternativeNames": "DNS_NAMES" } } }
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2019-09-25T22:19:33.735Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
The response is a long-running operation, which might take a few minutes to complete.
Retrieve the automatically assigned IPv4 address for the new instance:
Before using any of the request data, make the following replacements:
HTTP method and URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Look for the ipAddress
field in the response.
This example creates an instance. Some optional parameters, such as backups and binary logging are also included. For a complete list of parameters for this call, see the instances:insert page. For information about instance settings, including valid values for region, see Instance settings
Don't include sensitive or personally identifiable information in your instance ID; it is externally visible.
You do not need to include the project ID in the instance name. This is done automatically where appropriate (for example, in the log files).
Before using any of the request data, make the following replacements:
POSTGRES_16
)db-custom-[CPUS]-[MEMORY_MBS]
EDITION_TYPE: your Cloud SQL edition
true
to enable data cache for your instanceGOOGLE_MANAGED_INTERNAL_CA
or GOOGLE_MANAGED_CAS_CA
. If you don't specify serverCaMode
, then the default configuration is GOOGLE_MANAGED_INTERNAL_CA
. This feature is in Preview.CUSTOMER_MANAGED_CAS_CA
instances only.To set a password policy while creating an instance, include the passwordValidationPolicy object in the request. Set the following parameters, as required:
enablePasswordPolicy
: Enables the password policy when set to true
. To remove the password policy, you can use a PATCH
request with null
as the value for enablePasswordPolicy
. In this case, the other password policy parameters are reset.
minLength
: Specifies the minimum number of characters that the password must have.complexity
: Checks if the password is a combination of lowercase, uppercase, numeric, and non-alphanumeric characters. The default value is COMPLEXITY_DEFAULT
.reuseInterval
: Specifies the number of previous passwords that you can't reuse. disallowUsernameSubstring
: Prevents the use of the username in the password when set to true
.passwordChangeInterval
: Specifies the minimum duration after which you can change the password. The value is in seconds with up to nine fractional digits, terminated by s
. For example, 3.5s
.To create the instance so that it can integrate with Vertex AI, include the enableGoogleMlIntegration object in the request. This integration lets you apply large language models (LLMs), which are hosted in Vertex AI, to a Cloud SQL for PostgreSQL database.
Set the following parameters, as required:
enableGoogleMlIntegration
: when this parameter is set to true
, Cloud SQL instances can connect to Vertex AI to pass requests for real-time predictions and insights to the AIcloudsql.enable_google_ml_integration
: when this parameter is set to on
, Cloud SQL can integrate with Vertex AIHTTP method and URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances
Request JSON body:
{ "name": "INSTANCE_ID", "region": "REGION", "databaseVersion": "DATABASE_VERSION", "rootPassword": "PASSWORD", "settings": { "tier": "MACHINE_TYPE", "edition": "EDITION_TYPE", "enableGoogleMlIntegration": "true" | "false" "databaseFlags": [ { "name": "cloudsql.enable_google_ml_integration", "value": "on" | "off" } ] "dataCacheConfig": { "dataCacheEnabled": DATA_CACHE_ENABLED }, "backupConfiguration": { "enabled": true }, "passwordValidationPolicy": { "enablePasswordPolicy": true "minLength": "MIN_LENGTH", "complexity": COMPLEXITY_DEFAULT, "reuseInterval": "REUSE_INTERVAL", "disallowUsernameSubstring": "DISALLOW_USERNAME_SUBSTRING", "passwordChangeInterval": "PASSWORD_CHANGE_INTERVAL" } "ipConfiguration": { "privateNetwork": "PRIVATE_NETWORK", "authorizedNetworks": [AUTHORIZED_NETWORKS], "ipv4Enabled": false, "enablePrivatePathForGoogleCloudServices": true, "serverCaMode": "CA_MODE", "customSubjectAlternativeNames": "DNS_NAMES" } } }
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "operationType": "CREATE", "name": "OPERATION_ID", "targetId": "INSTANCE_ID", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
The response is a long-running operation, which might take a few minutes to complete.
Retrieve the automatically assigned IPv4 address for the new instance:
Before using any of the request data, make the following replacements:
HTTP method and URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0_18", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "us-west1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "18:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "1", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "us-west1", "gceZone": "us-west1-a" }
Look for the ipAddress
field in the response.
If you plan to create a Cloud SQL Enterprise Plus edition instance, and you want Cloud SQL to generate a write endpoint automatically for the instance, then enable the Cloud DNS API for your Google Cloud project.
If you already have a Cloud SQL Enterprise Plus edition instance and you want Cloud SQL to generate a write endpoint automatically, then create a replica that's enabled for advanced disaster recovery.
A write endpoint is a global domain name service (DNS) name that resolves to the IP address of the current primary instance automatically. This endpoint redirects incoming connections to the new primary instance automatically in case of a replica failover or switchover operation. You can use the write endpoint in a SQL connection string instead of an IP address. By using a write endpoint, you can avoid having to make application connection changes when a regional outage occurs.
For more information about obtaining the write endpoint for the instance, see View instance information. For more information about using the write endpoint to connect to the instance, see Connect by using a write endpoint.
Determines memory and virtual cores available for your Cloud SQL instance. Machine types are part of a machine series, and machine series availability is determined by your Cloud SQL edition.
For Cloud SQL Enterprise Plus edition instances, Cloud SQL offers predefined machine types for your instances in the N2
and C4A
machine series.
For Cloud SQL Enterprise edition instances, Cloud SQL offers predefined and custom machine types.
If you require real-time processing, such as online transaction processing (OLTP), make sure that your instance has enough memory to contain the entire working set. However, there are other factors that can impact memory requirements, such as number of active connections, and internal overhead processes. Perform load testing to avoid performance issues in your production environment.
When you configure your instance, select sufficient memory and vCPUs to handle your needs, and scale up your instance as your requirements increase. A machine configuration with insufficient vCPUs might lose its SLA coverage. For more information, see Operation guidelines.
To learn more about the machine types and machine series available for your Cloud SQL instance, see Machine series overview.
*
) or trailing dots (for example, test.example.com.
).CUSTOMER_MANAGED_CAS_CA
instances only.Issue | Troubleshooting |
---|---|
Error message: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges. Please allocate new ranges for this service provider . | There are no more available addresses in the allocated IP range. There can be several possible scenarios:
To resolve this issue, you can either expand the existing allocated IP range or allocate an additional IP range to the private service connection. For more information, see Allocate an IP address range. If you used the If you're allocating a new range, take care that the allocation doesn't overlap with any existing allocations. After creating a new IP range, update the vpc peering with the following command: gcloudservicesvpc-peeringsupdate\ --service=servicenetworking.googleapis.com\ --ranges=OLD_RESERVED_RANGE_NAME,NEW_RESERVED_RANGE_NAME\ --network=VPC_NETWORK\ --project=PROJECT_ID\ --force If you're expanding an existing allocation, take care to increase only the allocation range and not decrease it. For example, if the original allocation was 10.0.10.0/24, then make the new allocation at least 10.0.10.0/23. In general, if starting from a /24 allocation, decrementing the /mask by 1 for each condition (additional instance type group, additional region) is a good rule of thumb. For example, if trying to create both instance type groups on the same allocation, going from /24 to /23 is enough. After expanding an existing IP range, update the vpc peering with following command: gcloudservicesvpc-peeringsupdate\ --service=servicenetworking.googleapis.com\ --ranges=RESERVED_RANGE_NAME\ --network=VPC_NETWORK\ --project=PROJECT_ID |
Error message: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID] . | Try to create the Cloud SQL instance again. |
Error message: Failed to create subnetwork. Required 'compute.projects.get' permission for PROJECT_ID . | When you create an instance using with a Private IP address, a service account is created just-in-time using the Service Networking API. If you have only recently enabled the Service Networking API, then the service account might not get created and the instance creation fails. In this case, you must wait for the service account to propagate throughout the system or manually add it with the required permissions. |
Error message: More than 3 subject alternative names are not allowed. | You're trying to use a custom SAN to add more than three DNS names to the server certificate of a Cloud SQL instance. You can't add more than three DNS names to the instance. |
Error message: Subject alternative names %s is too long. The maximum length is 253 characters. | Make sure that any DNS names that you want to add to the server certificate of a Cloud SQL instance don't have more than 253 characters. |
Error message: Subject alternative name %s is invalid. | Verify that the DNS names that you want to add to the server certificate of a Cloud SQL instance meet the following criteria:
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-04-18 UTC.