# DMS → Aurora cutover checklist

Use during the maintenance window. Abort if any **STOP** item fails.

## T-7 days

- [ ] SCT assessment complete (heterogeneous only); conversion issues triaged
- [ ] DMS replication instance sized for peak CDC (monitor `CDCLatencySource` / `CDCLatencyTarget`)
- [ ] Target Aurora: Multi-AZ or Serverless v2 ACU range set; parameter groups match app needs
- [ ] DMS data validation enabled on critical tables (or external row-count + checksum plan)
- [ ] Application connection string dual-ready (secrets in Secrets Manager with staged ARN)
- [ ] Rollback: source remains writable; DNS/secret flip documented

## T-1 day

- [ ] Full load complete; CDC lag < 5 seconds for 30 continuous minutes
- [ ] LOB tables validated; no `Error` / `Table error` in DMS task logs
- [ ] Freeze schema changes on source (DDL freeze window)
- [ ] Runbook owners on-call; CloudWatch dashboard open

## Cutover (STOP gates)

1. [ ] **STOP** if `CDCLatencyTarget` > 30s for 5 minutes — extend window, do not flip
2. [ ] Quiesce writers / put app in read-only or drain queue
3. [ ] Wait for CDC lag = 0 (or within agreed RPO seconds)
4. [ ] Final validation sample (primary keys + money tables)
5. [ ] Flip secret / DNS / connection pool to Aurora
6. [ ] Smoke: login, write path, payment/order path
7. [ ] **STOP** if error rate > baseline × 2 for 10 minutes — flip back

## T+24 hours

- [ ] Disable source writes permanently (or decommission)
- [ ] Stop DMS task; snapshot Aurora
- [ ] Post-mortem notes: lag spikes, LOB issues, validation misses
