SaveMyCert
Log in
5 of 5 free questions left today·for 30 a day
Reliability and Business Continuity

Backup, Restore, and Disaster Recovery Strategies on AWS

24 min readSOA-C03 · Reliability and Business ContinuityUpdated

A backup and restore strategy defines how you capture recoverable copies of your data and how quickly you can bring a workload back after deletion, corruption, or a Regional outage. On the SOA-C03 exam, Task 2.3 tests whether you can automate backups with AWS Backup and native tooling, restore databases to a point in time, protect storage with versioning, and match one of four named disaster recovery patterns to a stated RTO, RPO, and cost requirement. The questions are rarely about whether to back up — they ask which mechanism meets a quoted recovery objective at the lowest cost, and what actually happens when you run the restore. Expect scenario stems that quote recovery targets in minutes or hours, and distractors that confuse high availability with backup. This lesson covers the services, the restore mechanics, and the trade-offs the exam expects you to weigh.

What you’ll learn
  • Define RTO and RPO, and work out the worst-case RPO a backup schedule or continuous mechanism actually delivers
  • Automate backups with AWS Backup plans, tag-based assignment, continuous backup, cold-storage lifecycle and organization-wide backup policies
  • Protect recovery points with Vault Lock (governance vs compliance mode) and cross-account copies, including the KMS key requirement
  • Compare native automation: Data Lifecycle Manager, RDS automated backups and snapshots, cross-Region automated backups, and DynamoDB PITR
  • Predict what a restore produces and what it leaves out, and prove RTO and RPO with AWS Backup restore testing
  • Protect S3 and FSx data with versioning, lifecycle rules for noncurrent versions, replication (RTC, SSE-KMS), FSx backups and shadow copies
  • Rank the four DR patterns by RTO, RPO and cost, and run both failover and fail-back for a cross-Region RDS replica

RTO and RPO: the numbers behind every backup decision

RTO and RPO are the two numbers that decide every question in this task. Recovery time objective (RTO) is the maximum acceptable time between failure and full restoration of service — how long you can afford to be down. Recovery point objective (RPO) is the maximum acceptable data loss, measured as time — how far back your most recent recoverable copy is allowed to be.

Worst-case RPO equals the interval between recovery points. A nightly backup gives an RPO of up to 24 hours: fail just before tonight's run and you lose almost a full day of writes, however reliably the job succeeds. Copying that recovery point to another Region does not make it fresher — a copy inherits the age of the point it duplicates, and the copy itself takes time to land. The fastest scheduled AWS Backup rule runs hourly; anything tighter needs a continuous, log-based mechanism such as point-in-time recovery (PITR), which shrinks RPO to seconds or minutes. Continuous backup is only available for supported services (see the AWS Backup section) — a self-managed database on EC2 needs the database's own log shipping or replication to beat an hourly RPO.

Every strategy in this lesson is a three-way trade between RTO, RPO and cost. Tighter objectives always cost more, because meeting them means copying data more often, keeping more infrastructure warm, or both. When a stem quotes "no more than 15 minutes of data loss" it is handing you an RPO; "back online within an hour" is an RTO. Translate the sentence into those two numbers first, eliminate any option that cannot meet them, and pick the cheapest survivor.

One boundary to fix in your head now: replication is availability, not backup. A Multi-AZ RDS deployment synchronously replicates to a standby, so an accidental DELETE or a corrupted table reaches the standby instantly — failing over just gives you a new primary with the same bad rows. An asynchronous read replica applies the same change seconds later, so promoting it does not bring rows back either. Multi-AZ and replicas protect you from infrastructure failure (Task 2.2 territory); only backups, snapshots, PITR and versioning let you go back to a state before the bad change.

AWS Backup: centralize and automate backups at scale

AWS Backup is the managed service for automating and centrally managing backups across many AWS services and accounts. Instead of configuring each service's native mechanism separately, you define a backup plan: one or more rules, each with a schedule (hourly at the most frequent, or daily, weekly, monthly), a retention period, optional copy rules to another Region or account, and an optional lifecycle. One plan can hold several rules — for example a daily rule kept 30 days and a monthly rule kept for years — which is how you build tiered retention without scripts.

Resource assignment by tag is what makes it scale: assign every resource tagged backup=daily and any new instance, volume, table or file system created with that tag is protected automatically, with no per-resource configuration. Assigning resources one by one by ID works for a handful of resources and breaks the moment teams create new ones. Supported resources you should recognize include EC2 instances, EBS volumes, RDS and Aurora databases, DynamoDB tables, EFS and FSx file systems, and S3 buckets.

Continuous backup (point-in-time restore)

A rule can enable continuous backup, which lets AWS Backup restore to any second within a retention of up to 35 days. It is supported for Amazon RDS, Aurora, Amazon S3 and SAP HANA on EC2 — not for databases you run yourself on EC2, which AWS Backup sees only as instances and volumes. A common design pairs a continuous rule (short retention, for PITR) with a periodic snapshot rule (long retention, for compliance) in the same plan. Two limits matter for DR: when AWS Backup copies a continuous recovery point to another Region or account, the copy is a snapshot recovery point — there is no point-in-time restore at the destination. For PITR of RDS in a second Region, use RDS cross-Region automated backup replication (next section).

Lifecycle to cold storage

The lifecycle moves recovery points from warm to lower-cost cold storage after a number of days, while retention continues to its full term — the cost lever for multi-year compliance backups, never a shorter retention. Two constraints are tested. First, cold storage is not available for every resource type: it works for, among others, EBS, EFS and DynamoDB (with AWS Backup advanced features), but not for Amazon RDS or Aurora recovery points — check the AWS Backup feature-availability table before assuming it. Second, a recovery point must stay in cold storage for at least 90 days, so the delete setting must be at least the transition day plus 90 (transition at day 30 means deletion no earlier than day 120).

Organization-wide backup policies

With AWS Organizations you can attach a backup policy to the root or an OU, and AWS Backup creates the plan in every member account. The policy names the IAM role AWS Backup should assume, but it does not create that role. The policy reaches every account under the OU, but protection only happens where that role exists: in any account that lacks it, AWS Backup cannot run the plan's jobs, so the account has a plan and no recovery points. Deploy the role to every account (for example with a CloudFormation StackSet with automatic deployment to new accounts) so coverage follows account creation.

Protecting recovery points: Vault Lock and cross-account copies

Recovery points are protected in two independent ways: Vault Lock stops anyone deleting them early, and a copy in a separate account keeps them restorable if the production account itself is compromised. Ransomware-style requirements usually need both.

Every recovery point lives in a backup vault, an encrypted container with its own access policy. A vault access policy can deny deletion, but an administrator with the right IAM permissions can simply edit or remove that policy, so it is not immutability. Vault Lock is, and it has two modes:

Governance modeCompliance mode
Who can remove the lockUsers with sufficient IAM permissionsNo one — not administrators, the root user or AWS — once the grace time ends
Grace timeNoneA cooling-off period (at least 3 days) during which the lock can still be removed or changed
Early deletion of recovery pointsBlocked for everyone without lock-management permissionsBlocked for everyone until retention ends
Use it forGuarding against accidents while you test the settingRegulatory WORM retention and "even full administrators must not delete"

Cross-account copy is a copy rule whose destination vault sits in another account of the same organization. It needs cross-account backup turned on in the organization's management account and a destination vault access policy that allows the source account to copy in. Encryption is the classic failure: for resources whose backups keep the source resource's encryption — RDS, Aurora and EBS among them — the source must be encrypted with a customer managed KMS key whose key policy grants the destination account use of it. AWS managed keys such as aws/rds cannot be shared, so copies of those resources fail while fully managed types such as EFS copy fine. The fix is to re-encrypt: copy the snapshot with a customer managed key and restore a new instance from it, then share that key.

Native backup automation: DLM, RDS, and DynamoDB

Native, per-service mechanisms still appear on the exam, usually contrasted with AWS Backup or with each other. Amazon Data Lifecycle Manager (DLM) is the EBS-native tool: a policy targets volumes or instances by tag and creates, retains and deletes EBS snapshots (or EBS-backed AMIs) on a schedule. If the scenario is only about EBS snapshots, DLM fits; once it spans other services, AWS Backup is the single tool. Two DLM details are tested:

  • Target instances, not volumes, for multi-volume data. An instance-targeted policy takes multi-volume snapshots of all attached volumes at the same moment, so they are crash-consistent with each other — essential for a database striped across several volumes. Volume-targeted policies snapshot each volume independently.
  • Cross-Region copy rules belong to a schedule: each new snapshot is copied to another Region with its own retention, with no scripts.

Do not confuse DLM with two near-twins. Recycle Bin retains deleted EBS snapshots, EBS-backed AMIs and (more recently) EBS volumes for a retention period you set so you can recover them — it creates and expires nothing. A scheduled CreateSnapshot call (for example from EventBridge Scheduler) creates snapshots but never deletes old ones. Only DLM (or AWS Backup) handles the whole create-retain-delete lifecycle.

RDS automated backups take a daily snapshot during the backup window and continuously capture transaction logs, which together enable point-in-time restore to any moment inside the retention window (typically up to about five minutes ago). Retention is configurable up to 35 days; setting it to 0 disables automated backups, and with them PITR. Automated backups are temporary by design: if you delete the instance and choose to retain them, they still expire when their retention period ends. Manual snapshots, including the final snapshot you can create when deleting an instance, are kept until you delete them, so they are the mechanism for any retention longer than 35 days, including keeping a restorable copy after the instance itself is gone.

For PITR in a second Region without running a second database, enable cross-Region automated backup replication: RDS copies snapshots and transaction logs to the destination Region, so you can restore there to any point in the replicated retention window. Like the source automated backups, those replicated backups expire with retention. A cross-Region read replica gives a faster RTO but is a running instance you pay for.

DynamoDB offers the same split. Point-in-time recovery (PITR), once enabled, continuously backs up the table and restores to any second within its recovery period — up to the last 35 days by default, configurable from 1 to 35 days. On-demand backups are full backups kept until deleted, suited to long-term retention. Neither affects table performance. The pattern: continuous mechanism → small RPO within a rolling window; snapshot or on-demand backup → long retention, RPO equal to its age.

Restore mechanics: every restore creates a new resource

The single most-tested restore fact is this: restores create new resources — they do not repair the original in place. An RDS point-in-time restore creates a new DB instance with a new endpoint; restoring from an RDS snapshot likewise creates a new instance. DynamoDB PITR and on-demand backups restore to a new table — a restore cannot overwrite an existing table, so the target name must not already exist. An EBS snapshot restore creates a new volume that you attach yourself.

The ops gotcha follows directly: after an RDS restore the application still points at the old endpoint and keeps showing the bad data. The runbook must repoint it — update the connection string, or front the database with a Route 53 record or a configuration value so a restore changes one setting. For a partial loss (one table, a batch of deleted rows), you can instead restore to a new instance and copy the missing rows back into the original.

Restored resources also come back without some of their configuration. A DynamoDB restore is the clearest case:

Carried to the restored DynamoDB tableMust be configured again
Data, global and local secondary indexes (you may exclude them), billing mode and provisioned capacity, encryption settingsAuto scaling policies, time to live (TTL), Streams, tags, CloudWatch alarms, IAM policies, and point-in-time recovery itself

Proving recovery: AWS Backup restore testing

An untested restore is an assumption, not a strategy. A green backup job proves a recovery point exists; only a restore proves it can be used, and only a timed restore of a production-sized recovery point shows whether the RTO is achievable. That is the evidence an auditor wants, not a backup job report.

AWS Backup restore testing automates this. A restore testing plan runs on a schedule, picks recovery points by criteria (for example the latest point for selected resource types or tagged resources), restores them, records each restore job and how long it took, and deletes the restored resources after a validation window you set, so test copies do not linger and cost money.

"Restore job completed" still only means the resource was created. To prove the data is usable, add custom validation: an EventBridge rule on the restore job's completion event invokes a Lambda function that checks the restored resource (connects to the database and queries the schema the application needs, for example) and reports the outcome with PutRestoreValidationResult. The result is recorded alongside the restore job. Pair restore tests with periodic DR game days that rehearse the full failover runbook.

S3 versioning: undelete and overwrite protection

S3 versioning protects objects from overwrite and deletion by keeping every version instead of replacing it. With versioning enabled, an overwrite writes a new current version and the previous one becomes a retrievable noncurrent version. A simple delete removes nothing — it places a delete marker as the current version, so the object looks gone while every prior version remains underneath.

Walk the recovery: reports/q3.pdf was accidentally deleted this morning. List the object's versions, see a delete marker on top, and delete the delete marker. The previous version becomes current again immediately — no restore job, no data copy, which makes it faster than restoring from AWS Backup or a replica. To roll back an unwanted overwrite, copy the desired noncurrent version over the current one (or delete the newer versions).

Because versioning keeps everything, cost is controlled with S3 Lifecycle actions that target each kind of version separately:

Lifecycle actionWhat it affects in a versioned bucket
Expiration (current version)Adds a delete marker on top of the current version; the data is kept as a noncurrent version, so on its own it saves nothing
NoncurrentVersionExpirationPermanently deletes versions a set number of days after they become noncurrent (optionally keeping the newest few)
NoncurrentVersionTransitionMoves noncurrent versions to a cheaper storage class
Expired object delete markersRemoves delete markers that no longer have any versions under them

"Versioned bucket costs keep growing, overwrite protection must stay" therefore means a noncurrent-version expiration rule, not turning versioning off.

Versioning cannot be disabled once enabled — only suspended, and suspension is often misread. Existing versions are all kept (and billed), so suspending saves nothing. New writes get the null version ID, and an overwrite of a null version replaces it, so objects written after suspension lose their overwrite protection. MFA Delete, at concept level, requires MFA to permanently delete a version or change the bucket's versioning state.

S3 replication and FSx backups

S3 replication continuously copies objects from a source bucket to a destination bucket: Cross-Region Replication (CRR) for geographic separation and DR, Same-Region Replication (SRR) for log aggregation or a copy in another account. It requires versioning on both buckets, and a new rule copies only new objects — objects that existed before the rule are not replicated. S3 Batch Replication replicates those existing objects (and can retry failed ones).

Two settings the CloudOps exam reaches for:

  • S3 Replication Time Control (RTC) replicates most objects within 15 minutes, backed by a service level agreement, and turns on replication metrics (pending bytes, pending operations, latency) and events for objects that miss the threshold — the basis for CloudWatch alarms when replication falls behind. Without RTC, replication is asynchronous with no time guarantee.
  • SSE-KMS objects are not replicated by default. The rule must opt in to replicating SSE-KMS encrypted objects and name a KMS key in the destination Region to encrypt the replicas, and the replication role needs kms:Decrypt on the source key and kms:Encrypt on the destination key. Because these are opt-ins, a rule without them keeps replicating unencrypted and SSE-S3 objects while silently skipping the SSE-KMS ones.

Replication is a second location, not a backup: it faithfully propagates overwrites. Versioning on both sides and backups give you history; combining CRR with versioning and lifecycle rules is the usual answer for durable, geographically separated copies.

Amazon FSx follows the automatic-versus-manual split you saw with RDS. FSx backups are incremental after the first full one, and automatic daily backups run in a backup window with a retention of up to 90 days; user-initiated backups are kept until you delete them — the right step before a risky change you may want to undo much later. For schedules FSx cannot express itself (a daily backup kept 30 days and a monthly one kept a year), put the file system in an AWS Backup plan with one rule per schedule.

For file-level versioning, FSx for Windows File Server supports shadow copies (Windows Volume Shadow Copy Service): point-in-time copies on a schedule you set, which users open from the Previous Versions tab in File Explorer to restore their own files without an administrator. Shadow copies use space on the file system and complement backups; they do not replace them.

The four DR patterns compared

Exam guide v1.1 names four disaster recovery patterns, and the exam expects you to rank them by RTO, RPO, and cost and to recognize each from a one-line description. They form a spectrum: each step up keeps more infrastructure running in the recovery Region, which costs more and recovers faster.

PatternWhat runs before disasterRTORPOCostTrigger phrase
Backup and restoreNothing — only backups stored (ideally cross-Region)HoursHours (backup age)Lowest"Lowest cost", "can tolerate hours of downtime"
Pilot lightData replicated live; core services (database) on, everything else off or minimalTens of minutesSeconds–minutesLow"Data must be current, servers can be started on failover"
Warm standbyA scaled-down but fully functional copy of the whole stackMinutesSeconds–minutesHigh"Minutes of downtime, scaled-down copy already running"
Multi-site active/activeFull-capacity stack serving traffic in multiple RegionsNear zeroNear zeroHighest"No downtime acceptable", "serve from both Regions"

The distinction that trips candidates: pilot light versus warm standby. In pilot light the data layer is alive and replicating but the application tier is not serving — you must start and scale it at failover. In warm standby everything is already running end to end, just undersized; failover is scale-up plus traffic switch, hence the faster RTO. Given equal ability to meet the stated objectives, always choose the cheaper pattern — that is the compensatory logic the exam applies.

Failover operations and a worked scenario

Failover is an operational sequence, not a checkbox. The standard mechanics: Route 53 failover routing shifts DNS from the primary to the recovery endpoint (the health checks that automate this are Task 2.2 material — here you need the routing role). For databases, you either promote a cross-Region read replica to a standalone, writable instance, or restore from a cross-Region backup copy — promotion takes minutes with near-current data; restore takes longer and loses data back to the copy's age. Then repoint applications (that endpoint change again), scale the recovery stack to production size, and verify.

Work the numbers on an example: an order-processing system on RDS must survive a Regional outage losing at most 5 minutes of data and be serving again within 15 minutes, at the lowest standing cost. Test each pattern against both numbers. Backup and restore fails both: cross-Region copies are hours old and a rebuild takes hours. Pilot light meets the RPO (a cross-Region read replica replicates continuously) but not reliably the RTO — launching and scaling an application tier from nothing takes tens of minutes. Warm standby is the cheapest fit: the scaled-down stack is already running against the replica, so failover is promote, scale out and switch Route 53, which fits in minutes. Active/active also works but doubles the standing cost. Loosen the RTO to an hour or more and the same method lands on pilot light; loosen both objectives to hours and it lands on backup and restore. Whatever the pattern, the promotion, the endpoint change and the scale-up must live in a tested runbook — the RTO a design achieves is only what a rehearsal has measured, and the first failover should never happen during the disaster.

Fail-back is a second migration, not an undo. Promoting a read replica is one-way: the promoted instance is now a standalone primary and the old primary no longer replicates from it. When the original Region recovers, create a new cross-Region read replica of the current primary in the original Region, let it catch up, then at a planned cutover stop writes, promote it, and switch Route 53 back. Restoring an old snapshot instead would lose every write made during the outage. Finally, recreate a replica in the DR Region so you are protected again.

Tip. Expect scenario stems that quote recovery objectives and ask for the cheapest compliant design: translate them into RPO and RTO, remember that worst-case RPO is the backup interval, and pick the cheapest DR pattern that meets both. AWS Backup questions turn on its limits — hourly is the fastest schedule, continuous backup covers only RDS, Aurora, S3 and SAP HANA on EC2, copies of continuous points become snapshots, cold storage skips RDS and needs 90 days, organization backup policies need the IAM role in every account, and cross-account RDS copies fail on the AWS managed key. Restore questions probe the new-resource gotcha (an unchanged endpoint, settings a DynamoDB restore leaves behind) and ask for restore testing rather than job reports as evidence. Storage questions cover delete markers, noncurrent-version lifecycle, versioning suspension, CRR prerequisites with Batch Replication, RTC and SSE-KMS replication, and FSx user-initiated backups versus shadow copies. Watch for Multi-AZ or read replicas offered as a fix for corrupted data, Vault Lock mode wording, and fail-back after a promoted replica.

Key takeaways
  • RPO = maximum acceptable data loss, RTO = maximum acceptable downtime; worst-case RPO equals the backup interval, and copying a recovery point never makes it fresher.
  • AWS Backup centralizes schedules (hourly at most frequent), retention, copies and lifecycle; tag-based assignment and organization backup policies (with the IAM role pre-created in every account) are the at-scale answers.
  • Continuous backup gives PITR for RDS, Aurora, S3 and SAP HANA on EC2 only; cross-Region or cross-account copies of it become snapshots.
  • Cold storage is not available for every resource type (not RDS or Aurora) and needs at least 90 days in the cold tier.
  • Vault Lock compliance mode is immutable after its grace time; governance mode and vault access policies can be changed by privileged users. Cross-account copies of RDS or EBS need a customer managed KMS key.
  • RDS automated backups (up to 35 days, 0 disables PITR) and their cross-Region replication expire; manual and final snapshots persist until deleted. DLM targets instances for multi-volume crash-consistent snapshots.
  • Every restore creates a new resource, and a DynamoDB restore drops auto scaling, TTL, streams, tags, alarms, IAM policies and PITR; prove RTO with AWS Backup restore testing plus custom validation.
  • S3: delete the delete marker to undelete; expire noncurrent versions to cut cost; suspending versioning keeps old versions and uses null version IDs; RTC adds a 15-minute SLA and SSE-KMS replication must be opted in.
  • DR patterns by rising cost and falling RTO/RPO: backup and restore → pilot light → warm standby → multi-site active/active; pick the cheapest that meets the objectives, and fail back with a new replica, not an undo.

Frequently asked questions

What is the difference between RTO and RPO?

RTO (recovery time objective) is the maximum acceptable downtime — how long a workload may take to come back after a failure. RPO (recovery point objective) is the maximum acceptable data loss expressed as time — how old your most recent recoverable copy may be. A nightly backup gives an RPO of up to 24 hours regardless of how fast you can restore; a slow restore blows RTO regardless of how fresh the backup is. Every backup and DR choice trades these two numbers against cost.

Why does an RDS point-in-time restore create a new instance?

RDS never restores over a live database — a point-in-time restore replays the daily snapshot plus transaction logs into a brand-new DB instance with a new endpoint. The original instance is untouched, which protects you from making things worse, but it means your application keeps pointing at the old endpoint until you update the connection string or the DNS record in front of it. Snapshot restores behave the same way, and DynamoDB PITR similarly restores to a new table.

How do I recover an object that was accidentally deleted from S3?

If the bucket has versioning enabled, a delete did not remove data — it placed a delete marker on top of the object's versions. List the object's versions, delete the delete marker, and the previous version becomes current again immediately. If versioning was not enabled before the deletion, the object is gone unless you have a replicated copy or a backup, which is why enabling versioning on important buckets is the standard protective step.

What is the difference between pilot light and warm standby?

Both keep live, replicated data in the recovery Region — the difference is the application tier. In pilot light only the core (typically the database) runs; the application servers are off or minimal and must be started and scaled at failover, giving an RTO of tens of minutes. In warm standby a scaled-down but fully functional copy of the entire stack is already serving-capable, so failover is just scale-up plus a traffic switch — faster RTO, higher standing cost.

Is a Multi-AZ deployment a backup strategy?

No. Multi-AZ synchronously replicates to a standby in another Availability Zone, so it protects against infrastructure failure with minimal downtime — but every write, including an accidental DELETE or corrupted data, replicates to the standby instantly. Only backups, snapshots, point-in-time recovery, and versioning let you go back to a state before the bad change. The exam frequently offers Multi-AZ as a distractor on data-loss questions.

Does S3 replication copy objects that already existed in the bucket?

Not by default. A new replication rule (Cross-Region or Same-Region) applies only to objects created after the rule exists, and replication also requires versioning enabled on both source and destination buckets. To replicate the pre-existing objects retroactively, use S3 Batch Replication. Remember that replication propagates changes faithfully, so on its own it is a second location, not a backup — pair it with versioning for history.

What is the difference between AWS Backup Vault Lock governance mode and compliance mode?

Both stop recovery points in a backup vault from being deleted before their retention ends. Governance mode can be removed or changed by users with sufficient IAM permissions, so it guards against accidents. Compliance mode becomes immutable once its grace time (at least 3 days) ends: after that, no one, including administrators, the root user or AWS, can remove the lock or delete recovery points early. A vault access policy that denies deletion is weaker than either, because an administrator can edit the policy.

How do I prove that AWS backups can actually be restored within the RTO?

Use AWS Backup restore testing. A restore testing plan restores selected recovery points on a schedule, records each restore job and its duration, and deletes the restored resources after a validation window. To prove the data is usable rather than just restored, add custom validation: an EventBridge rule on restore job completion invokes a Lambda function that checks the restored resource and reports the result with PutRestoreValidationResult. Backup job success alone proves only that a recovery point exists.

Source

This lesson covers the "Reliability and Business Continuity" domain of the official SOA-C03 exam guide. Vendors revise their guides — check the source for the current version.

Test yourself on this topic
Practice now

Sign up free to mark lessons complete, bookmark topics and track your exam readiness.

Spotted a mistake in this lesson?