Server replication, not Kafka backup
AWS Elastic Disaster Recovery (AWS DRS) keeps whole servers recoverable: agent-based block-level replication into a low-cost staging area, sub-second RPOs, and recovery instances launching in minutes. What it does not have is any awareness of Kafka: no topic-level restore, no consumer group offsets, and no long-term point-in-time recovery of records. Here is where each tool fits.
What AWS Elastic Disaster Recovery does well — and at what layer
Teams evaluating AWS Elastic Disaster Recovery for Kafka usually already trust it for server DR. The short answer: AWS DRS replicates the machines Kafka runs on. It does not back up the data Kafka holds.
As server DR, the service is genuinely strong. The successor to CloudEndure, it installs a replication agent on each source server — on-premises, in another cloud, or on EC2 — and streams block-level changes continuously into a staging area of minimal compute and affordable storage. RPOs are typically sub-second. Recovery launches full EC2 instances in minutes, typically five to twenty. Drills run without touching production, and failback reverses replication once the primary site returns.
That model is also cheap for what it does. You pay per replicating source server plus staging-area resources, instead of running a warm standby fleet. For lift-and-shift applications and server-hosted databases, it is one of the lowest-cost pilot-light DR options on AWS.
OSO Kafka Backup works at the data layer instead. It connects to any Kafka cluster as a standard client and writes topic records, consumer group offsets, and topic configuration to object storage (S3, Azure Blob, GCS) or local disk. Restores are offset-consistent, work across clusters, and stop at a precise millisecond — the failure modes covered in the disaster recovery use cases.
| Feature | OSO Kafka Backup | AWS DRS |
|---|---|---|
| Protection model | Point-in-time logical backup | Continuous block-level server replication |
| Kafka-aware / offset-consistent | Yes | No |
| Point-in-time topic recovery | Yes | Whole-server snapshots, short rolling window by default |
| Selective single-topic restore | Yes | No |
| Recovery window | Full backup retention | Snapshot schedule (default: 10-min, hourly, then daily for 7 days) |
| Works with managed Kafka (MSK, Confluent Cloud) | Yes | No |
| Site-failover RPO | Backup interval | Typically sub-second |
| Orchestrated failover, DR drills, failback | No | Yes |
| Restore target | Any Kafka cluster, any environment | EC2 in AWS (cross-AZ or cross-Region) |
| Licensing | Open source (MIT) | AWS service, per source server per hour |
AWS Elastic Disaster Recovery and Kafka: what server snapshots cannot see
AWS DRS does offer point-in-time recovery — within its window and at its layer. Each snapshot is full-server block state. The default schedule keeps one snapshot every ten minutes for the last hour, hourly for the last day, then daily for seven days. Rewinding a broker to a snapshot rewinds every topic, every partition, and every consumer offset on that machine together.
That scope is the problem for Kafka data. A poison message discovered after the snapshot window has rolled past is unrecoverable. A single corrupted topic cannot be restored without dragging the whole broker back in time. And continuous replication is faithful by design: a bad deploy that writes garbage, or an accidental topic deletion, reaches the staging area in seconds. The replication-is-not-backup distinction applies here exactly as it does to MirrorMaker.
There is a consistency wrinkle replication cannot fix. Each agent replicates its own server, so a multi-broker cluster recovers from snapshots that are close together but not coordinated. Kafka usually heals the difference, yet the recovered cluster state is whatever was on disk — not a clean, offset-consistent view of your topics. OSO Kafka Backup stores original offsets with each record and restores consumer group positions alongside the data, so applications resume where they left off, on any target cluster.
The structural gap is managed Kafka. Amazon MSK, Confluent Cloud, and Aiven expose no servers to install the replication agent on, so AWS DRS has nothing to protect. A client-level backup tool works against MSK and every other distribution the same way.
When to choose which
Choose AWS Elastic Disaster Recovery when the job is infrastructure survival: recovering self-managed servers into AWS after a site failure, with sub-second RPOs, minutes of RTO, rehearsable drills, and pay-per-server pricing instead of a standby fleet.
Choose OSO Kafka Backup when the job is Kafka data: offset-consistent topic backups, millisecond point-in-time restore months after the fact, single-topic recovery, and coverage for managed services the DRS agent cannot reach. The RTO and RPO planning guide shows how the two objectives differ by failure mode.
Run both when Kafka matters to the business. AWS DRS brings the servers back; OSO Kafka Backup restores logically consistent topic data at any point in its retention. The same layer split appears in the EBS snapshots comparison for DIY volume snapshots and the Zerto comparison for journal-based replication.
Frequently asked questions
Can AWS Elastic Disaster Recovery back up Apache Kafka?
Only at the server level. AWS DRS installs an agent on each broker and continuously replicates block-level disk state into a staging area. There is no Kafka-aware mode: no topic-level restore, no consumer group offset preservation, and no record-level point-in-time recovery.
Does AWS DRS give point-in-time recovery for Kafka?
Within its snapshot window, at the block level. The default schedule keeps snapshots every ten minutes for the last hour, hourly for a day, then daily for seven days. It is whole-server state: you cannot restore one topic, and data loss discovered after the window has rolled past is unrecoverable.
Does AWS Elastic Disaster Recovery work with Amazon MSK or Confluent Cloud?
No. AWS DRS protects servers you can install its replication agent on. Managed Kafka services expose no such servers, so there is nothing to replicate. OSO Kafka Backup connects as a standard Kafka client, so it backs up MSK, Confluent Cloud, and self-hosted clusters the same way.
What is the difference between AWS DRS and EBS snapshots for Kafka?
Both capture block state, differently. EBS snapshots are periodic, per-volume, and DIY to orchestrate. AWS DRS adds continuous replication, sub-second RPOs, orchestrated recovery, and failback. Neither understands topics or consumer group offsets, which is the gap a Kafka-native backup closes.
Should we replace AWS Elastic Disaster Recovery with OSO Kafka Backup?
No — they answer different failures. Keep AWS DRS for recovering servers into AWS with minutes of downtime. Add OSO Kafka Backup for offset-consistent topic backups, long-term retention, millisecond point-in-time restore, and managed-Kafka coverage.
Ready to protect your Kafka data?
Take your first backup in minutes with the open source CLI, or talk to us about Enterprise features like encryption, RBAC, and audit logging.