Bird
Raised Fist0
AWScloud~30 mins

RDS backup and snapshots in AWS - Mini Project: Build & Apply

Choose your learning style10 modes available
RDS Backup and Snapshots Setup
📖 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

  1. Step 1: Understand automated backups

    Automated backups run daily and keep data for a set retention period, after which they expire automatically.
  2. Step 2: Understand manual snapshots

    Manual snapshots are created by the user anytime and remain until explicitly deleted.
  3. Final Answer:

    Automated backups happen daily and expire; manual snapshots are created on demand and kept until deleted. -> Option B
  4. 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

  1. Step 1: Identify correct AWS CLI syntax

    The correct command to create a manual snapshot is aws rds create-db-snapshot with required flags.
  2. Step 2: Match parameters

    Use --db-instance-identifier for the instance and --db-snapshot-identifier for the snapshot name.
  3. Final Answer:

    aws rds create-db-snapshot --db-instance-identifier mydbinstance --db-snapshot-identifier mydbsnapshot -> Option A
  4. Quick Check:

    Correct CLI command = aws rds create-db-snapshot --db-instance-identifier mydbinstance --db-snapshot-identifier mydbsnapshot [OK]
Hint: Use create-db-snapshot with instance and snapshot IDs [OK]
Common Mistakes:
  • Using incorrect command verbs like backup-db-instance
  • Mixing parameter names like --snapshot-name instead of --db-snapshot-identifier
  • Assuming snapshot creation is automatic without command
3. Given this AWS CLI output snippet after running aws rds describe-db-snapshots --db-instance-identifier mydbinstance:
{
  "DBSnapshots": [
    {"DBSnapshotIdentifier": "snapshot1", "Status": "available"},
    {"DBSnapshotIdentifier": "snapshot2", "Status": "creating"}
  ]
}
What does the status "creating" mean for snapshot2?
medium
A. "snapshot2" is currently being created and not ready for restore.
B. "snapshot2" is ready and can be used to restore the database.
C. "snapshot2" creation failed and needs retry.
D. "snapshot2" is deleted but still listed temporarily.

Solution

  1. Step 1: Understand snapshot status meanings

    Status "creating" means the snapshot process is in progress and not yet complete.
  2. Step 2: Interpret the impact on usage

    While "creating", the snapshot cannot be used for restore until status changes to "available".
  3. Final Answer:

    "snapshot2" is currently being created and not ready for restore. -> Option A
  4. Quick Check:

    Status creating = snapshot in progress [OK]
Hint: Creating means snapshot not ready yet [OK]
Common Mistakes:
  • Assuming creating means snapshot is ready
  • Confusing creating with failed or deleted status
  • Thinking snapshot is deleted but still listed
4. You wrote this AWS CLI command to create a manual snapshot but got an error:
aws rds create-db-snapshot --db-instance-identifier mydbinstance
What is missing that causes the error?
medium
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

  1. Step 1: Check required parameters for create-db-snapshot

    The command requires both --db-instance-identifier and --db-snapshot-identifier to name the snapshot.
  2. Step 2: Identify missing parameter

    The command lacks --db-snapshot-identifier, so AWS cannot create the snapshot without a name.
  3. Final Answer:

    The --db-snapshot-identifier parameter with a snapshot name is missing. -> Option C
  4. 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

  1. Step 1: Set automated backups retention

    Enable automated backups with a 7-day retention period to keep daily backups automatically.
  2. Step 2: Create manual snapshot before update

    Manually create a snapshot before the update to keep a permanent backup unaffected by retention.
  3. Final Answer:

    Enable automated backups with 7-day retention and create a manual snapshot before update. -> Option D
  4. Quick Check:

    Automated + manual snapshot = daily + permanent backup [OK]
Hint: Automated backups expire; manual snapshots keep forever [OK]
Common Mistakes:
  • Disabling automated backups losing daily backups
  • Relying only on automated backups for permanent backup
  • Manually creating many snapshots instead of using automated backups
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard