← All Articles
UNCATEGORIZED September 1, 2026

AWS Database Migration Service: What It Is and How to Use It

You're staring at a database move that can't slip. The application is still live, the business won't tolerate a long outage, and someone in the room has already asked whether AWS Database Migration Service can “just move it”. It can help, but only if you treat it as one piece of a wider migration program, not a magic button.

For Australian teams, the decision isn't whether AWS DMS exists. It's whether you can use it in a way that keeps the source running, limits cutover risk, and doesn't bury you in remediation work after the initial copy is done. AWS said at launch that the service was built so customers could start migrating with the source database remaining operational, and that remains the core value proposition today for systems that can't afford a hard stop AWS Database Migration Service launch announcement.

Table of Contents

What AWS Database Migration Service Actually Does

Many teams arrive at AWS DMS with the same pressure points. There's a legacy database behind a business-critical workload, a renewal date or hardware refresh is looming, and the target platform has already been chosen or is being designed. DMS is the service that moves data between databases while keeping the source live, so you can stage the cutover instead of gambling on a single overnight outage.

What it does in practice

AWS DMS handles initial load and ongoing change data capture, so it can copy existing data first and then stream ongoing changes until you're ready to switch applications over. That's why it's useful for weekend cutovers, staged migrations, and systems that need the source to stay available while the target is being prepared. AWS also documents that DMS can migrate between relational databases, data warehouses, NoSQL databases, and other data stores, and that it supports both homogeneous and heterogeneous migrations AWS DMS schema conversion update.

Practical rule: Use DMS for data movement, not for solving application design problems. If your application still depends on database-specific code, that work sits outside the migration task itself.

The service is also relevant in Australia because AWS lists DMS in Asia Pacific (Sydney), with the regional endpoint dms.ap-southeast-2.amazonaws.com AWS DMS regional endpoint documentation. That matters when you want to keep replication traffic local and reduce avoidable latency during change capture.

What it doesn't do

DMS won't rewrite your stored procedures, refactor business logic, or tune the target database for you. If you're moving from Oracle to PostgreSQL or SQL Server to PostgreSQL, schema conversion and code remediation sit alongside the migration, not inside it. That's why I push clients to think in terms of a migration programme, not a single tool purchase.

The cleanest way to use AWS DMS is to separate the work into three layers. DMS moves the data. AWS Schema Conversion Tool, or equivalent remediation work, handles structural differences. Your application team handles SQL changes, connection changes, and performance tuning on the target side.

Supported Engines and Migration Patterns

The first mistake teams make is picking a tool before they've defined the migration pattern. If you don't know whether you're doing a homogeneous move, a heterogeneous move, or a cutover that relies on continuous replication, you can't size the work properly. You also can't judge whether AWS DMS is the right fit or whether it will create more rework than it removes.

Homogeneous and heterogeneous moves

AWS DMS is strongest when the source and target engines are closely related. Oracle to Oracle, PostgreSQL to Aurora PostgreSQL, and MySQL to RDS MySQL are the kinds of moves where native data types line up and the service can do the heavy lifting without asking for much manual repair. On the other side, SQL Server to PostgreSQL or Oracle to MySQL are heterogeneous moves, and that's where the schema and code gap becomes the project.

For Australian migration teams, the right question is simple. Can the target accept the source structure with light conversion, or will it need real redesign work before the application behaves properly? If it's the latter, DMS still helps with data movement, but it won't rescue a rushed plan.

Source Target Pattern Notes
Oracle Oracle Homogeneous Good fit for keeping structure aligned and limiting application changes
PostgreSQL Aurora PostgreSQL Homogeneous Strong fit when the target is AWS-managed PostgreSQL-compatible infrastructure
MySQL RDS MySQL Homogeneous Works well when the main objective is managed hosting and staged cutover
SQL Server PostgreSQL Heterogeneous Needs schema conversion and manual remediation for SQL features that don't translate cleanly
Oracle MySQL Heterogeneous Use with caution, because database-specific logic usually needs redesign
Sybase MariaDB Heterogeneous Better suited to a structured modernisation programme than a straight lift

Full load, CDC, or both

A full load only pattern only makes sense when the database is small enough and downtime is acceptable. For production systems, I usually steer clients towards full load plus CDC, because that gives you the initial copy followed by streamed changes right up to cutover. CDC only is useful when data already exists at the target and you're synchronising changes, consolidating systems, or doing a near-zero-downtime switch.

The important part is not the pattern itself, but the operational consequence. Full load plus CDC means you're running two environments in parallel for a period of time, so validation, access control, and rollback planning all need to be designed up front. That's the part teams underestimate when they treat DMS as a simple move operation.

See how we position migration work in broader AWS programmes

How DMS Fits Together

AWS DMS has four moving parts, and if you do not understand them before you create the first task, you will burn time on avoidable errors. The service is built around a replication instance, source and target endpoints, replication tasks, and a replication subnet group. Get those aligned early, and the migration stays controlled instead of turning into a chain of cutover defects.

The replication instance and endpoints

The replication instance does the work. Its size affects throughput and how many tasks you can run in parallel, so size it for the largest table, the change volume, and the concurrency you need, not for average workload. AWS recommends running the source endpoint, target endpoint, and replication instance in the same AWS Region for best performance, and in Australian projects that usually means keeping the flow in Sydney or Melbourne when the architecture allows it AWS DMS service guidance.

The source endpoint and target endpoint are reusable connection definitions. They hold the engine type, server address, credentials, and SSL configuration. Once those are correct, you can reuse them across multiple tasks, which is why I treat endpoint validation as a programme-level activity, not a task-level detail.

Tasks, subnet groups, and data flow

A replication task binds one endpoint pair to one replication instance and defines the migration type, table mappings, transformation rules, and error handling. That means the task is where you decide what gets copied, what gets filtered, and how the service behaves when it hits a problem.

The replication subnet group places the instance into specific subnets. For Australian enterprise work, I want the replication instance close to the endpoints, in the right region, and tested against actual traffic. I do not want a neat architecture diagram that ignores latency or the hidden remediation work that sits outside DMS pricing. That is where Australian migration programs pick up real cost, in validation, schema fixes, access control, and downtime risk. See our AWS migration and architecture notes for the broader programme context.

Same-region placement also makes CDC tuning worth the effort, because the numbers you watch reflect the migration itself rather than avoidable network delay.

The fastest way to make DMS look broken is to spread the pieces too far apart and then guess at the cause.

A Practical Migration Checklist

A good AWS DMS project follows a sequence. Skip the sequence and cutover weekend turns into live troubleshooting, with the business carrying the cost. I'd run the work in six phases and assign one owner to each deliverable before production gets near it.

A six-phase checklist infographic outlining the step-by-step process for performing an AWS Database Migration Service project.

1. Discovery and dependency mapping

Start with a source-of-truth map of tables, LOB columns, sequences, triggers, stored procedures, and application dependencies. The deliverable is a clear record of what DMS will move cleanly and what needs manual handling. If that inventory is incomplete, the migration plan is already weak.

2. Schema conversion assessment

Run schema conversion early and flag every object that needs remediation. For heterogeneous moves, that means finding code that will not translate cleanly, including business logic buried in stored procedures. Leave this until after the data load, and you build delay into the program for no reason.

3. Proof of concept on representative workload

Use a real workload pattern, not synthetic traffic, and measure CDC latency against production-like write volume. AWS DMS documentation recommends proof-of-concept test migrations so you can size the replication instance and identify whether CPU, memory, I/O, or transaction volume is driving lag AWS DMS documentation. That is the point where bad assumptions get exposed cheaply.

4. Endpoint and replication setup

Build the endpoints, place the replication instance in the right region, and decide whether production tasks need Multi-AZ support. Confirm who owns validation queries on both sides. At 2am on cutover weekend, nobody wants a dispute over which report is right.

5. Cutover rehearsal

Treat the first switch as a dress rehearsal. Measure your RPO and RTO, record the actual steps, and capture every manual action. If the rehearsal fails, you have learned something useful before business users are waiting.

6. Post-migration validation

Check row counts, application transactions, and business reports. Do not let the team call it done because “the task completed”. The target has to behave like the source, or the migration is not finished.

Troubleshooting AWS DMS infographic for Australian project pitfalls

Common Pitfalls and How to Troubleshoot Them

Most DMS failures on Australian projects come from poor sizing, weak validation, and teams expecting the service to cover application and schema problems. If you want a clean cutover, you need to watch the repeat offenders and fix them before they turn into weekend delays and remediation work.

The issues that hurt

Undersized replication instances are a common trap because they look fine in early testing and then stall under sustained CDC load. Size against the actual transaction pattern, not the neatest estimate, and watch CPU, memory, and I/O before production cutover. AWS DMS documentation recommends proof-of-concept test migrations so you can see what is driving latency before you lock in the final task shape.

LOB handling gets missed more often than it should. If the task rules are loose, large columns can be truncated or more LOB data can be moved than the target needs. Set the handling deliberately instead of accepting defaults and hoping they fit.

Missing primary keys can break smooth full-load behaviour or make change application unreliable. That is a source-data problem, not a DMS problem, and it should surface during discovery. Fix the table design issue or isolate the exception before you start the task.

Skipping validation is how schema drift slips into production. I always want a comparison pass after cutover, using AWS SCT or a third-party comparison tool, because row counts alone do not tell you whether the application still behaves properly. For Oracle to PostgreSQL or any other heterogeneous move, the primary remediation cost sits in the work to fix mismatches, not in the DMS runtime. The SME migration mistakes we keep seeing in Australian projects are usually the same ones, poor validation, late remediation, and no clear owner for business sign-off. See common AWS migration mistakes we keep seeing in SME projects

Practical rule: If CDC lag rises while the source stays healthy, look at the replication instance and the target first. If the source log chain is broken or transaction volume is abnormal, escalate to the source database team immediately.

A clean triage path

Start with the replication metrics, then check source transaction behaviour, then inspect target write performance. That order saves time because it separates infrastructure strain from database design issues. If the problem sits in schema conversion, do not spend a day tuning the replication engine to fix something it cannot solve.

DMS Compared to Alternatives

A migration plan that starts and ends with AWS DMS usually misses the key decision. Cutover success depends on the mix of replication method, schema conversion, validation, and how much downtime the business can absorb. In Australian projects, the expensive part is rarely the tool itself. It is the remediation, testing, and weekend support needed to make the cutover hold.

Where DMS fits

AWS DMS makes sense when you want a managed service, broad engine support, and a controlled way to keep the source online during migration. It is a sound choice for homogeneous moves, staged heterogeneous migrations, and teams that do not want to own replication plumbing after go-live. It is a weaker choice when the job needs heavy transformation or when the team already has the skills to run a more specialised replication setup.

What you're really comparing it against

Tool Best fit scenario Key limitation Typical cost profile
AWS DMS Managed migration with live source systems and staged cutover Limited help with complex code transformation Service cost grows with runtime and migration size
Native logical replication Steady-state replication where the team has deep database skills Requires strong in-house operational ownership Lower service overhead, higher skill burden
AWS Schema Conversion Tool Heterogeneous schema assessment and conversion prep Doesn't move the data by itself Low direct tool cost, higher remediation effort
Dump and restore Simple homogeneous moves with acceptable downtime Poor fit for low-downtime cutovers Lower tooling cost, higher outage risk
Third-party replication tools Complex transformation and specialist enterprise migrations Licensing and vendor lock-in Usually higher software cost, sometimes lower manual effort

Native replication can cost less over time, but only if you have the staff to run it properly. Dump and restore works when the business can live with downtime and the source and target are close enough to keep the process simple. For heterogeneous migration work, AWS SCT plus DMS is usually the practical combination, because one handles conversion assessment and the other handles the data movement.

The hard call is operational, not technical. If the project needs deep transformation logic, or the organisation already runs another replication platform well, DMS should stay in the mix but not lead the design. Otherwise, it usually gives you a cleaner cutover path than scripts, backups, and hope.

Cost and Performance Considerations

The budget mistake I see most often is treating AWS DMS like the whole migration bill. It is only one part of the programme. In Australian projects, the cost sits around it, remediation, validation, cutover support, and the business risk of getting the weekend wrong. AWS prices DMS with on-demand and serverless options, no upfront commitment, and free data transfer into DMS, but the service charge still tracks migration size and runtime rather than business complexity.

What lands in the budget

The direct costs are easy enough to list. You pay for replication instance hours, storage, and any data transfer out. Then comes the work teams usually undercount, source remediation, schema conversion, validation environments, parallel-run overhead, and hypercare after go-live.

That hidden spend is often the primary budget driver in Australia. Small to mid-size migrations commonly start in the low tens of thousands of AUD, while more complex enterprise migrations often land around AUD 300,000 to AUD 600,000+ for delivery alone. For a practical view of how those migration costs break down, see our Australian migration cost guidance. The spread comes from programme complexity, not from the DMS meter.

Performance levers that matter

Start with the replication instance. Size it properly, keep source and target in the same region, and tune task parallelism so the service can keep pace with real write traffic. LOB handling matters too. A poor setting slows the task or drags in more data than the target needs. AWS guidance is clear on the basic pattern, source endpoint, target endpoint, and replication instance should sit in the same region for best performance, and in Australia that usually means staying within Sydney or Melbourne where possible.

Project Profile DMS Line Items (AUD) Remediation & Testing (AUD) Total Indicative Range
Small homogeneous move Modest service spend Validation and cutover support still dominate effort Low tens of thousands
Mid-size staged migration Moderate service spend Schema checks, parallel run, and rehearsal add materially Mid tens of thousands to low hundreds of thousands
Complex heterogeneous migration Service spend is only one part of the bill Code conversion, remediation, testing, and hypercare drive cost AUD 300,000 to AUD 600,000+

My advice is blunt. Do not price DMS until you have priced the remediation and validation work around it. That is where most programmes blow out.

When to Engage a Migration Partner

Bring in outside help when the migration risk is bigger than your team's spare capacity. That usually means a heterogeneous move to PostgreSQL or Aurora, a regulated workload that needs documented validation, or multiple databases moving in parallel while the internal team is still running day-to-day operations. If the cutover window is tight and downtime has direct revenue impact, a partner pays for itself quickly.

What good looks like

A serious migration partner should show real DMS and SCT delivery experience, not just generic cloud delivery claims. You want Australian-based cutover support, because the people doing the work need to be available when your business is live. You also want capability across both Oracle and Microsoft stacks on one side, and PostgreSQL, MySQL, Aurora, or Redshift on the other.

I'd also insist on a paid proof of concept before commitment. If a partner won't prove the plan on a representative workload, they're selling confidence rather than delivery.

See the migration services we use for staged AWS cutovers

A sensible engagement pattern

The cleanest pattern is discovery sprint, PoC, pilot migration, production waves, and hypercare. That sequence gives you milestones, decision points, and a way to stop if the conversion work is turning into a bigger redesign than expected. It also keeps the commercial model tied to outcomes instead of open-ended consultancy days.

Continuum Solutions handles AWS migration planning, staged validation, and database cutover support for teams that need a practical path through the work. If you're planning an AWS DMS move and want a clear view of remediation, validation, and cutover risk, start a conversation with Continuum Solutions.

Work with us

Ready to build something that works?

Tell us about your project. We'll give you practical advice and a clear next step.

Book a Consultation →