📖 Scenario: You work as a cloud engineer for a small company. They want to protect their important data stored in Google Cloud Storage by creating backups. You will create a simple backup and restore setup using Google Cloud Storage buckets.
🎯 Goal: Create a Google Cloud Storage bucket named primary-bucket to hold original files. Then create a backup-bucket to store backups. Finally, write a configuration to copy files from primary-bucket to backup-bucket to simulate backup, and a command to restore files back from backup-bucket to primary-bucket.
📋 What You'll Learn
Create a Google Cloud Storage bucket named primary-bucket
Create a Google Cloud Storage bucket named backup-bucket
Write a gsutil command to copy all files from primary-bucket to backup-bucket for backup
Write a gsutil command to copy all files from backup-bucket back to primary-bucket for restore
💡 Why This Matters
🌍 Real World
Backing up important data in cloud storage protects against accidental deletion or corruption.
💼 Career
Cloud engineers often set up backup and restore processes to ensure data durability and availability.
Progress0 / 4 steps
1
Create the primary storage bucket
Create a Google Cloud Storage bucket named primary-bucket using the gsutil mb command.
GCP
Hint
Use gsutil mb followed by the bucket URL gs://primary-bucket/ to create the bucket.
2
Create the backup storage bucket
Create a Google Cloud Storage bucket named backup-bucket using the gsutil mb command.
GCP
Hint
Use gsutil mb followed by the bucket URL gs://backup-bucket/ to create the backup bucket.
3
Backup files from primary to backup bucket
Write a gsutil cp command to copy all files from primary-bucket to backup-bucket recursively for backup.
GCP
Hint
Use gsutil -m cp -r to copy recursively and in parallel all files from gs://primary-bucket/ to gs://backup-bucket/.
4
Restore files from backup to primary bucket
Write a gsutil cp command to copy all files from backup-bucket back to primary-bucket recursively for restore.
GCP
Hint
Use gsutil -m cp -r to copy recursively and in parallel all files from gs://backup-bucket/ back to gs://primary-bucket/.
Practice
(1/5)
1. What is the main purpose of creating a backup in Google Cloud SQL?
easy
A. To save a copy of your database data safely for recovery
B. To increase the speed of your database queries
C. To permanently delete old data from your database
D. To automatically update your database schema
Solution
Step 1: Understand backup purpose
Backups are copies of data saved to protect against data loss.
Step 2: Identify backup use in Cloud SQL
In Cloud SQL, backups allow restoring data if something goes wrong.
Final Answer:
To save a copy of your database data safely for recovery -> Option A
Quick Check:
Backup = Safe data copy [OK]
Hint: Backup means saving data safely for later recovery [OK]
Common Mistakes:
Confusing backup with performance improvement
Thinking backup deletes data
Assuming backup changes database structure
2. Which gcloud command correctly creates an on-demand backup for a Cloud SQL instance named my-instance?
easy
A. gcloud sql backup create --name=my-instance
B. gcloud sql instances backup create my-instance
C. gcloud sql backups create --instance=my-instance
D. gcloud sql create backup --instance=my-instance
Solution
Step 1: Recall correct gcloud backup syntax
The correct command to create a backup is gcloud sql backups create --instance=INSTANCE_NAME.
Step 2: Match command to instance name
Replacing INSTANCE_NAME with my-instance gives the correct command.
Final Answer:
gcloud sql backups create --instance=my-instance -> Option C
Quick Check:
Backup command = gcloud sql backups create [OK]
Hint: Use 'gcloud sql backups create --instance=NAME' to backup [OK]
Common Mistakes:
Using 'instances backup' instead of 'backups create'
Incorrect flag names like --name instead of --instance
Wrong command order or missing 'create'
3. Given this command output snippet after restoring a Cloud SQL backup:
Restoring backup 2024-06-01_12-00 to instance my-instance... DONE
What does this output indicate?
medium
A. The backup was successfully restored to the instance
B. The backup creation failed
C. The instance was deleted
D. The backup is scheduled for later restoration
Solution
Step 1: Read the command output carefully
The message says 'Restoring backup ... DONE', indicating completion.
Step 2: Understand the meaning of 'DONE'
'DONE' means the restore process finished successfully.
Final Answer:
The backup was successfully restored to the instance -> Option A
Quick Check:
Restore output 'DONE' = success [OK]
Hint: Look for 'DONE' to confirm successful restore [OK]
Common Mistakes:
Confusing restore success with backup failure
Assuming instance deletion from restore message
Thinking restore is scheduled, not completed
4. You run the command gcloud sql backups create --instance=my-instance but get an error: ERROR: (gcloud.sql.backups.create) The instance does not support on-demand backups. What is the most likely cause?
medium
A. You typed the instance name incorrectly
B. The Cloud SQL instance is a First Generation instance which does not support on-demand backups
C. You need to enable billing on your Google Cloud project
D. The backup command requires a different flag for on-demand backups
Solution
Step 1: Understand error message about backup support
The error says the instance does not support on-demand backups.
Step 2: Recall Cloud SQL instance generations
First Generation instances do not support on-demand backups; only Second Generation and later do.
Final Answer:
The Cloud SQL instance is a First Generation instance which does not support on-demand backups -> Option B
Quick Check:
First Gen instances lack on-demand backup support [OK]
Hint: Check instance generation; First Gen lacks on-demand backups [OK]
Common Mistakes:
Assuming typo in instance name causes this error
Thinking billing is the cause
Believing backup flag is incorrect
5. You want to restore a Cloud SQL instance prod-db to a previous state using a backup from June 1, 2024. Which sequence of steps correctly achieves this with minimal downtime?
hard
A. Restore the backup directly to the current instance while it is serving traffic
B. Delete the current instance, then restore the backup to the same instance name immediately
C. Export the backup to Cloud Storage, then import it back to the instance
D. Create a new instance from the backup, then switch your application to use the new instance
Solution
Step 1: Understand restore options for minimal downtime
Restoring directly to a live instance causes downtime; better to create a new instance.
Step 2: Create new instance from backup and switch traffic
Create a new instance restored from backup, then update your app to use it, minimizing downtime.
Final Answer:
Create a new instance from the backup, then switch your application to use the new instance -> Option D
Quick Check:
New instance restore + switch = minimal downtime [OK]
Hint: Restore to new instance, then switch app to avoid downtime [OK]
Common Mistakes:
Deleting instance before restore causing data loss
Restoring live instance causing service interruption
Using export/import which is slower and more complex
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.