📖 Scenario: You are managing a database for a small online store. To protect the data, you want to set up automatic backups and manual snapshots for your Amazon RDS instance.
🎯 Goal: Set up an Amazon RDS instance with automated backups enabled and create a manual snapshot of the database.
📋 What You'll Learn
Create an RDS instance with automated backups enabled
Set the backup retention period to 7 days
Create a manual snapshot of the RDS instance
💡 Why This Matters
🌍 Real World
Backing up databases is critical for data safety. Automated backups help recover from accidental data loss, and manual snapshots allow point-in-time recovery.
💼 Career
Cloud engineers and DevOps professionals often configure RDS backups and snapshots to ensure database reliability and disaster recovery.
Progress0 / 4 steps
1
Create an RDS instance with automated backups enabled
Write an AWS CloudFormation resource named MyDBInstance of type AWS::RDS::DBInstance with the following properties: DBInstanceIdentifier set to mydbinstance, Engine set to mysql, MasterUsername set to admin, MasterUserPassword set to password123, and BackupRetentionPeriod set to 7 to enable automated backups for 7 days.
AWS
Hint
Use the BackupRetentionPeriod property to enable automated backups and set the retention period.
2
Add a DB subnet group for the RDS instance
Add a resource named MyDBSubnetGroup of type AWS::RDS::DBSubnetGroup with DBSubnetGroupDescription set to Subnet group for mydbinstance and SubnetIds set to a list containing subnet-12345 and subnet-67890. Then, update the MyDBInstance resource to include the DBSubnetGroupName property referencing MyDBSubnetGroup.
AWS
Hint
Use AWS::RDS::DBSubnetGroup to define the subnet group and reference it in the DB instance.
3
Create a manual snapshot of the RDS instance
Add a resource named MyDBSnapshot of type AWS::RDS::DBSnapshot with DBInstanceIdentifier set to mydbinstance and DBSnapshotIdentifier set to mydbsnapshot.
AWS
Hint
Use AWS::RDS::DBSnapshot to create a manual snapshot of the RDS instance.
4
Add deletion policy to retain the snapshot on stack deletion
Add a DeletionPolicy attribute with value Retain to the MyDBSnapshot resource to keep the snapshot even if the CloudFormation stack is deleted.
AWS
Hint
Use the DeletionPolicy attribute at the resource level to keep the snapshot after stack deletion.
Practice
(1/5)
1. What is the main difference between automated backups and manual snapshots in AWS RDS?
easy
A. Automated backups are stored outside AWS; manual snapshots are stored inside AWS.
B. Automated backups happen daily and expire; manual snapshots are created on demand and kept until deleted.
C. Automated backups are created only when the user requests; manual snapshots happen automatically every hour.
D. Automated backups cannot be restored; manual snapshots can only be viewed.
Solution
Step 1: Understand automated backups
Automated backups run daily and keep data for a set retention period, after which they expire automatically.
Step 2: Understand manual snapshots
Manual snapshots are created by the user anytime and remain until explicitly deleted.
Final Answer:
Automated backups happen daily and expire; manual snapshots are created on demand and kept until deleted. -> Option B
Quick Check:
Backup type difference = Automated expire, manual keep [OK]
Hint: Automated expire, manual keep until delete [OK]
Common Mistakes:
Thinking manual snapshots expire automatically
Believing automated backups are user-triggered only
Confusing storage location of backups and snapshots
2. Which AWS CLI command correctly creates a manual snapshot of an RDS instance named mydbinstance?
easy
A. aws rds create-db-snapshot --db-instance-identifier mydbinstance --db-snapshot-identifier mydbsnapshot
B. aws rds backup-db-instance --instance mydbinstance --snapshot mydbsnapshot
C. aws rds snapshot-create --db-instance mydbinstance --snapshot-name mydbsnapshot
D. aws rds make-snapshot --db-instance-id mydbinstance --snapshot-id mydbsnapshot
Solution
Step 1: Identify correct AWS CLI syntax
The correct command to create a manual snapshot is aws rds create-db-snapshot with required flags.
Step 2: Match parameters
Use --db-instance-identifier for the instance and --db-snapshot-identifier for the snapshot name.
Final Answer:
aws rds create-db-snapshot --db-instance-identifier mydbinstance --db-snapshot-identifier mydbsnapshot -> Option A
A. The --region parameter is required for all commands.
B. The --db-instance-identifier value is incorrect and must be the snapshot name.
C. The --db-snapshot-identifier parameter with a snapshot name is missing.
D. The command must be run with sudo privileges.
Solution
Step 1: Check required parameters for create-db-snapshot
The command requires both --db-instance-identifier and --db-snapshot-identifier to name the snapshot.
Step 2: Identify missing parameter
The command lacks --db-snapshot-identifier, so AWS cannot create the snapshot without a name.
Final Answer:
The --db-snapshot-identifier parameter with a snapshot name is missing. -> Option C
Quick Check:
Missing snapshot ID causes error [OK]
Hint: Always provide snapshot name with --db-snapshot-identifier [OK]
Common Mistakes:
Forgetting to specify snapshot identifier
Assuming region is always mandatory
Thinking sudo is needed for AWS CLI commands
5. You want to keep daily backups of your RDS instance for 7 days automatically and also keep a manual snapshot before a major update that you want to keep indefinitely. Which combination of settings and actions achieves this?
hard
A. Create a manual snapshot daily and delete old ones after 7 days; no automated backups.
B. Disable automated backups and create 7 manual snapshots daily plus one before update.
C. Enable automated backups with 7-day retention and rely only on them for the update.
D. Enable automated backups with 7-day retention and create a manual snapshot before update.
Solution
Step 1: Set automated backups retention
Enable automated backups with a 7-day retention period to keep daily backups automatically.
Step 2: Create manual snapshot before update
Manually create a snapshot before the update to keep a permanent backup unaffected by retention.
Final Answer:
Enable automated backups with 7-day retention and create a manual snapshot before update. -> Option D