This page explains cloning, and describes how to clone an instance.
Overview
Cloning a Cloud SQL instance creates a new instance that is a copy of the source instance. The new instance is completely independent from the source instance.
Frequently asked questions
Question | Answer |
---|---|
Does cloning impact performance? | No. Cloning has no performance impact on the source instance. |
Are backups copied to the new instance? | No. The new instance creates new automated backups. Manual backups are not copied over from the source instance. |
Does the new instance have the same IP address or addresses? | No. The new instance has a new IP address or addresses. |
Does the new instance have the same configuration settings? | Yes. The new instance will have the same settings such as database flags, connectivity options, machine type, and storage and memory settings. |
Are replicas copied to the new instance? | No. You need to create new replicas for the new instance. |
Can you clone a replica? | No. You cannot clone a replica. |
Can you make a clone from an earlier point in time? | Yes. Point-in-time recovery uses cloning to restore an instance from an earlier point in time. This helps you recover your database from a destructive event. |
Can you clone an instance that was once a clone? | Yes. You can clone and instance that was cloned from another instance. |
Cloning an instance
Console
- Go to the Cloud SQL Instances page in the Google Cloud Console.
- Find the row of the instance to clone. At the right end of the row, click the More Actions menu.
- Click Create clone.
- On the Create a clone page, update the instance ID if needed, and
click Create clone, leaving Clone current state of instance
selected.
You are returned to the instance listing page while the clone initializes.
gcloud
Clone the instance:
gcloud sql instances clone [SOURCE_INSTANCE_NAME] [TARGET_INSTANCE_NAME]
REST v1beta4
Clone the instance.
Before using any of the request data below, make the following replacements:
- project-id: The project ID
- source-instance-id: The source instance ID
- target-instance-id: The target instance ID
HTTP method and URL:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Request JSON body:
{ "cloneContext": { "destinationInstanceName": "target-instance-id" } }
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
Troubleshooting
Click the links in the table for details:
For this problem... | The issue might be... | Try this... |
---|---|---|
Cloning fails with constraints/sql.restrictAuthorizedNetworks error. |
Blocked by Authorized Networks configuration. | Try one of these options. |
Cloning fails with a constraints/sql.restrictAuthorizedNetworks
error
Cloning fails with a constraints/sql.restrictAuthorizedNetworks
error.
The issue might be
The cloning operation is blocked by the Authorized Networks
configuration.
Authorized Networks
are configured for public IP addresses in the Connectivity section
of the Google Cloud Console, and cloning is not permitted due to
security considerations.
Things to try
Remove all Authorized Networks
entries from the Cloud SQL
instance if you can. Otherwise,
create a replica
without any Authorized Networks
entries.