Google offers two billing plans for Google Cloud SQL: Packages and Per Use. Which plan you should select depends on how your database will be used, but as a rule of thumb it is more economical to use the package plan if your instance is used for more than 450 hours each month. More details about both plans are given below, along with pricing examples. You can also get a pricing estimate with the Google Cloud Platform Pricing Calculator.
When charging in local currency, Google will convert the prices listed into applicable local currency pursuant to the conversion rates published by leading financial institutions.
Packages Billing Plan
The following packages are available:
|Tier||RAM||Included Storage||Max Storage more info||Included I/O per Day||Charge per Day||Maximum Concurrent Connections|
Each instance tier comes with the RAM shown above, along with an appropriate amount of CPU. You can change an instance's tier at any time, with just a few seconds of downtime.
At the end of a billing period, you are charged based on the number of days during which the database exists (measured at US Pacific Time). Storage for backups created using the scheduled backup service is not part of the package limits and is not charged. The number of I/O requests to storage made by your database instance depends on your queries, workload and data set. Cloud SQL will cache data in memory to serve your queries efficiently and to minimize the number of I/O requests. Use of storage or I/O over the included quota is charged at the Per Use rate ($0.24 per GB per month for storage, $0.10 per Million of I/Os).
Storage is measured as the filespace used by the MySQL database. The size of all instances is limited to 250GB by default. Note that you only pay for the storage that you use, so you don’t need to reserve this storage in advance. If you require more storage, up to 500GB, contact firstname.lastname@example.org.
A newly created database uses about 270MB of space for system tables and InnoDB logs. If you create a per use instance but do not use it, you are still charged for the storage cost. For an example pricing calculation covering this scenario, see Pricing examples.
Per Use Billing Plan
The following resources are available, charged per use:
|D0 Database Instance (0.125GB RAM)||$0.025 per hour|
|D1 Database Instance (0.5GB RAM)||$0.10 per hour|
|D2 Database Instance (1GB RAM)||$0.19 per hour|
|D4 Database Instance (2GB RAM)||$0.29 per hour|
|D8 Database Instance (4GB RAM)||$0.58 per hour|
|D16 Database Instance (8GB RAM)||$1.16 per hour|
|D32 Database Instance (16GB RAM)||$2.31 per hour|
|1GB Storage||$0.24 per month|
|I/O||$0.10 per Million|
- The maximum concurrent connections allowed for each tier is the same as for the Packages Billing Plan.
- Use of database instances is charged for periods of continuous use, rounded up to the nearest hour (see the FAQ for more details).
- Storage is charged per GB in hourly units (whether the instance is used or not) measured as the largest number of bytes during that one hour period, rounded up to the nearest GB.
- Storage for backups created using the scheduled backup service is not charged.
- A newly created database uses a small amount of space (270MB) for system tables and InnoDB logs. This is included in the charged storage. For an example pricing calculation covering this scenario, see Pricing examples.
- The default and maximum storage for an instance are the same as the Packages Billing Plan (see Storage Size).
- You can change an instance's tier at any time, with just a few seconds of downtime.
- The number of I/O requests to storage made by your database instance depends on your queries, workload and data set. Cloud SQL will cache data in memory to serve your queries efficiently and to minimize the number of I/O. I/Os are rounded up to the nearest million. Queries that do not access storage are not charged for I/Os.
|External Outbound Traffic||$0.12 per GB|
Network use is charged for both packages and per use billing plans. Only outbound external traffic is charged, such as traffic to an admin or reporting tool or application hosted outside of the Google cloud. Network usage between Google App Engine applications, Google Compute Engine, or Google Cloud Storage and Cloud SQL are not charged.
Google Cloud SQL supports read replicas where the replica instances are other Cloud SQL instances or external MySQL instances.
- The only extra charge for replicating a Cloud SQL instance to another Cloud SQL instance is the cost of the replica instance.
- The only extra charge for replicating a Cloud SQL instance to external replicas is for the outbound network cost.
For more information about read replicas, see Configuring Replication with Google Cloud SQL.
Instance IPv4 addresses
|Instance IPv4 Address||$0.01 per hour idle|
The use of an external IPv4 address for instances on the per use billing plan is charged at $0.01 per hour for the time that the connection is idle. For example, if your per use instance is idle, on average, 50% of the time, then an external IP address for the instance would cost $43.83 for one year.
Each Google Cloud SQL instance has an IPv6 address that you can also use to connect to the instance. The IPv6 address is independent of whether you assign and use an IPv4 address. Use of the instance IPv6 address is not charged. For more information, see Configuring access control for IP connections.
Instances per Project
You can create up to 30 instances per project. Deleted instances do not count toward the 30 instance limit. You can request that the instance limit be raised for a project by contacting the email@example.com team.
To get pricing estimates for your Google Cloud SQL usage scenarios, you can use the Google Cloud Platform Pricing Calculator. The following examples highlight three specific usage scenarios using one month as the billing period.
An instance with no use
If your Developers Console project has the Google Cloud SQL enabled but you have no Cloud SQL instances, then your project incurs no Google Cloud SQL charges. Your project starts to incur Google Cloud SQL charges when you create an instance. You are charged for the storage cost whether you use the instance or not. For example, if you create a D0 instance and never connect to it, the cost for the instance on the packages billing plan is $10.80 per month (for a 30 day month). For the per use billing plan, the same instance (with no use) incurs the following cost:
1GB1 x $0.24 per month for data storage
+ 1 hour2 x $0.025 to spin up the instance during creation
= $0.27 per month
 A newly created database uses about 270MB. Storage used is rounded to
the nearest GB.
 Per use instances are charged for the time they are up, rounded up to the nearest hour. For more information, see the FAQ How is use of my instance calculated?.
Per use instance used for trying out Cloud SQL
Consider the scenario where you want to try out Google Cloud SQL with an application with the following characteristics:
- uses a D0 instance with 0.125GB of RAM and less than 1GB of data
- uses the instance for 10 hours every week with queries resulting in less than 1M I/Os per month
then you will be charged:
40 hours x $0.025 for use of the database instance
+ 1GB x $0.24 for data storage
+ 1M I/Os x $0.10
= $1.34 per month
Per use instance used only during business hours
Consider the usage scenario where you have an example application with the following characteristics:
- uses a D2 instance with 1GB of RAM and 3.7GB of data
- uses the instance exclusively during business hours (i.e., 160 hours per month) with queries resulting in 10 I/Os per second
- the instance has an external IP address assigned
- a 0.5GB report that is extracted every month to your own computer
then you will be charged:
160 hours x $0.19 for use of the database instance
+ 4GB x $0.24 for data storage
+ 0.5GB x $0.12 for traffic
+ 5.8M I/Os x $0.10
+ (730.484 - 160) x $0.01 for the external IP
= $37.70 per month