SAP-C03 Migration Strategies: Discovery, Wave Planning, AWS Transform MGN, DMS, DataSync and Modernization
A migration strategy on AWS is the plan that discovers an on-premises portfolio, groups it into waves, and assigns each application a treatment (retire, retain, rehost, relocate, repurchase, replatform or refactor) carried out with tools such as AWS Transform, AWS Transform MGN, AWS DMS and AWS DataSync. This SAP-C03 lesson covers Task 4.1: dependency discovery and business cases, wave planning, rehosting with MGN, database and file migration, replatforming onto managed services, refactoring with the strangler fig pattern, and modernizing mainframe, .NET and commercial database workloads, using the services AWS currently offers to new customers.
On this page10 sections
- Choosing a migration strategy: the 7 Rs
- Discovery, portfolio assessment and wave planning
- Rehosting with AWS Transform MGN: replication and networking
- MGN launch settings, testing and cutover
- Database migration with AWS DMS: minimal downtime
- Heterogeneous migrations: schema conversion, load order and LOBs
- File and object migration with AWS DataSync
- Replatforming onto managed services and modernizing databases
- Refactoring: strangler fig, data decomposition and serverless fit
- Modernizing mainframes and legacy .NET applications
- Assign one of the 7 Rs to each application from its deadline, operational and licensing constraints
- Design discovery that captures utilization and network dependencies, and plan migration waves around dependency groups
- Configure AWS Transform MGN replication networking, launch settings, post-launch actions and the cutover lifecycle
- Choose an AWS DMS approach for minimal downtime, including CDC-only tasks, schema conversion, load order and LOB modes
- Migrate file data with AWS DataSync over a shared or private link
- Replatform onto Amazon MQ, Amazon RDS, RDS Custom, Aurora (with Babelfish) and ECS on Fargate
- Refactor monoliths with the strangler fig pattern, outbox and saga patterns, and modernize mainframe and .NET Framework code with AWS Transform
Choosing a migration strategy: the 7 Rs
A migration strategy is the treatment you assign to each application after the portfolio assessment, and AWS names seven of them, the 7 Rs. You choose per application, not per estate: the same programme usually rehosts most servers to meet a deadline, replatforms the pieces where a managed service removes real work, refactors the few systems that block the business, and retires or retains the rest.
| Strategy | What happens | Choose it when |
|---|---|---|
| Retire | Decommission the application (archive any data you must keep) | Nobody uses it or another system already does its job; a retention rule is met by archiving the data, not by keeping the application running |
| Retain | Leave it where it is for now | It is not ready to move, a recent investment or contract ties it down, or the business has not decided |
| Rehost (lift and shift) | Move the servers as they are to Amazon EC2, usually with AWS Transform MGN | A hard deadline (data-centre exit, lease end), a large estate and a small team; optimize after the move |
| Relocate | Move a whole platform without changing it, for example VMware workloads to a VMware-based environment on AWS | You want to keep the hypervisor platform and its tooling |
| Repurchase | Replace the product with a SaaS or different product | The vendor offers the same capability as SaaS and the team wants to stop operating it |
| Replatform (lift, tinker and shift) | Move with targeted changes onto managed services, such as a self-managed database onto Amazon RDS or Aurora | A managed service removes operational work (patching, backups, failover) without rewriting the application |
| Refactor (re-architect) | Redesign the application, for example into microservices or serverless | The current architecture blocks scaling, agility or cost goals, and there is time and budget to rebuild |
The deciding factors are the constraints a scenario states. A fixed exit date with a small team points to rehosting the bulk of servers and optimizing later; refactoring hundreds of servers before a deadline is the classic wrong move. Replatforming fits alongside rehosting when the change is small and low-risk, for example moving a self-managed open-source database to the same engine on a managed service when everything the database uses is supported there and the application needs only a new connection string. Licensing goals (stop paying for a commercial database or Windows Server) usually push a workload towards replatforming or refactoring rather than rehosting, because rehosting carries the licence with it.
Discovery, portfolio assessment and wave planning
Discovery collects the facts a migration plan needs: what servers exist, how heavily they are used, and which ones talk to each other. An inventory alone (an RVTools export, a CMDB, interviews with application owners) lists machines but misses runtime dependencies, so a wave plan built from it fails when an unlisted dependency, such as a shared service that nobody documented, breaks a migrated application. Collect utilization and server-to-server network connection data before you build move groups.
The current AWS tooling for this is AWS Transform, an agentic migration and modernization service that covers discovery, dependency mapping, wave planning, assessment, landing zone and network setup, and rehosting. Its discovery tool is deployed in vCenter (as a virtual appliance) and collects inventory, performance utilization and network connections without installing agents on each guest.
| Need | Use | Not |
|---|---|---|
| Dependency evidence and utilization for move groups | AWS Transform discovery tool (network connections plus performance data) | RVTools or a CMDB alone: inventory without traffic |
| A quick, directional on-premises versus AWS cost comparison | An AWS Transform assessment, which builds a business case from an RVTools export, a Migration Evaluator export or a Migration Portfolio Assessment (MPA) export | Pricing every VM by hand in AWS Pricing Calculator |
| Right-sizing recommendations | Assessment output from discovery data; AWS Compute Optimizer only after workloads run on AWS | Compute Optimizer against on-premises servers (it analyses AWS resources) |
Closed services. AWS Migration Hub and Migration Hub Refactor Spaces closed to new customers on 7 November 2025, and AWS Application Discovery Service (including its Agentless Collector) is no longer open to new customers. AWS points new customers to AWS Transform for all three. Existing customers keep access, but a design for a company new to AWS migration services should not depend on them. AWS Application Migration Service has been renamed AWS Transform MGN; it is the same service and API.
Planning waves from dependency data
A migration wave is a group of applications and servers that are moved and cut over together, and good waves are built from dependency groups: an application, the database it queries and anything else it calls synchronously. Keep a chatty, latency-sensitive dependency group in one wave. Splitting it leaves some components in AWS and some on premises, and every synchronous call then crosses AWS Direct Connect or VPN, adding round-trip latency to each query. An application that issues hundreds of queries per transaction becomes unusable that way, even if only for a few weeks.
- Start with a pilot wave of low-dependency, low-criticality applications to prove runbooks, tooling and the team before business-critical systems move. Do not start with the highest-value application.
- Size a wave by moving unrelated servers, not by splitting a dependency group. If a wave is too big to test and cut over in one window, reschedule its independent machines into other waves.
- Move shared foundations first. Identity and name resolution are dependencies of every application. Before the first application wave, deploy domain controllers for the existing Active Directory domain in AWS (as an additional AD site) and forward the domain's DNS queries to them with Amazon Route 53 Resolver rules, so migrated servers keep authenticating if the Direct Connect link fails. AD Connector does not meet that requirement, because it is a proxy that sends every request to on-premises domain controllers; a new AWS Managed Microsoft AD domain is a different domain that every server would have to rejoin.
- Do not group by operating system or by tier (all databases first, applications later): both split dependency groups across the hybrid link.
Rehosting with AWS Transform MGN: replication and networking
AWS Transform MGN (formerly AWS Application Migration Service) rehosts physical, virtual and cloud servers onto Amazon EC2 by continuous block-level replication. You install the AWS Replication Agent on each source server; MGN launches lightweight replication servers in a staging area subnet you choose, which write the replicated data to low-cost EBS volumes. MGN rehosts x86 Windows and Linux servers; it cannot rehost an IBM z/OS mainframe.
| Connection | Port and direction | Purpose |
|---|---|---|
| Source server (agent) to the MGN service endpoint | TCP 443, outbound from the source | Agent registration and control; installer downloads from Amazon S3 |
| Source server (agent) to replication servers | TCP 1500, outbound from the source to the staging area subnet | Replicated disk data (the source initiates the connection) |
| Replication servers to AWS services | TCP 443, outbound from the staging area subnet | MGN, Amazon EC2 and Amazon S3 endpoints |
Registration and data replication use different ports, so the source network must allow both outbound rules; the agent starts every connection, so nothing needs to connect inward to the source servers.
Keeping replication private. By default replication servers get a public IP address and data travels over the internet. The replication settings change this:
- Use private IP for data replication sends data to the replication servers' private addresses, over Direct Connect or VPN.
- Do not create a public IP for replication servers keeps them unreachable from the internet.
- For a data centre with no internet access at all, create an interface VPC endpoint for MGN and an interface VPC endpoint for Amazon S3 in the VPC reached through Direct Connect, and install the agent with the
--endpointand--s3-endpointparameters pointing at them. A gateway endpoint for S3 cannot be used from on premises, and a NAT gateway does not give an isolated data centre an internet path. The staging subnet still needs to reach MGN, EC2 and S3 (through endpoints when it has no internet route).
Only these network settings decide the path replication data takes. Other replication settings, such as bandwidth throttling and the encryption of the staging EBS volumes, change how much link capacity is used or how data is protected at rest, not the route.
MGN launch settings, testing and cutover
Each source server in MGN moves through these lifecycle states: Not ready (initial sync still running), Ready for testing, Test in progress, Ready for cutover, Cutover in progress, Cutover complete and Disconnected. Archiving is not a state: it is a housekeeping action that removes a server from the active list once cutover is complete. Two sets of settings shape what launches:
- General launch settings per server, including instance type right-sizing (Basic picks a type matching the source's CPU and RAM and overrides the instance type in the launch template; None turns that off so the template's type is used), Copy Private IP and start-instance-on-launch.
- The EC2 launch template MGN creates for each server, where you set the subnet, security groups, instance profile and instance type. MGN uses the template's default version.
Post-launch actions automate what engineers would otherwise do on every instance: MGN runs AWS Systems Manager documents through the SSM Agent on test and cutover instances, with predefined actions (for example installing the Amazon CloudWatch agent) and custom SSM documents (for example a hardening script). Settings belong in the launch configuration, not in the replication settings template, which governs only the staging area and replication servers.
| Action | Effect | Use it when |
|---|---|---|
| Revert to ready for testing | Returns the server to Ready for testing; replication continues | A test launch revealed a problem |
| Revert to ready for cutover | Returns the server to Ready for cutover; replication continues, so you can fix launch settings and launch a fresh cutover instance later | Post-cutover acceptance testing failed while the source is still running |
| Finalize cutover | Marks the server Cutover complete, stops replication, discards the replicated data and terminates the replication resources | The migrated instance is accepted and the source will be decommissioned |
| Archive | Removes the server from the active list | Housekeeping after the migration is finished |
Finalizing too early is costly: with replication stopped and the data discarded, launching again means reinstalling the agent and resyncing from scratch.
Database migration with AWS DMS: minimal downtime
AWS Database Migration Service (DMS) migrates a database while the source stays online by combining a full load with change data capture (CDC): it copies the existing data, applies the changes made meanwhile, then keeps replicating until you cut over in minutes. A full-load-only task, a dump and restore, or a file copy of the data directory all need the source to stop accepting writes for the whole copy, so they fail a short-downtime requirement.
Native bulk load plus CDC-only. When a DMS full load would be too slow for a very large database, load the data with the engine's native tools (Oracle Data Pump, a SQL Server backup, pg_dump) from a consistent point, record that point (an Oracle SCN, a SQL Server or PostgreSQL LSN, a MySQL binary log position), and start a CDC-only DMS task from it. Because the CDC-only task starts at exactly the recorded point, every change after the native load is applied once and nothing is copied twice.
| DMS option | What you manage | Fits |
|---|---|---|
| Provisioned replication instance | Instance size, storage, Multi-AZ | Full control and predictable large migrations |
| DMS Serverless | Capacity limits only; DMS provisions and scales capacity | Same DMS engine and tasks without sizing instances (DMS still creates only tables and keys) |
| DMS homogeneous data migrations | Nothing to size; serverless, using the engine's native tools | Like-to-like moves (for example PostgreSQL to Aurora PostgreSQL, MySQL to Aurora MySQL) with full load and CDC, including partitions and secondary objects such as functions and procedures |
Things DMS does not do. DMS cannot use Amazon DynamoDB as a source (DynamoDB is a target only). DMS bidirectional replication has no conflict resolution, so it is not a way to keep two writable copies of a database in sync. Data validation compares rows between source and target and reports mismatches; it does not create objects or fix rows.
Heterogeneous migrations: schema conversion, load order and LOBs
In a heterogeneous migration (for example Oracle or SQL Server to Aurora PostgreSQL) DMS moves data, not code: it creates only tables and primary keys (and in some cases unique indexes) on the target. Secondary indexes, foreign keys, views, stored procedures, functions and triggers come from DMS Schema Conversion (or the AWS Schema Conversion Tool), which converts the schema and code and applies it to the target before the data load. A target built by DMS alone runs slowly (no secondary indexes) and is missing its code objects.
Before choosing a target engine, run a DMS Schema Conversion assessment report against each candidate: it estimates how much of the schema and stored code converts automatically and lists the objects that need manual work. A DMS premigration assessment is different: it checks a replication task's settings and data types for problems before you run it.
Load order for a full load and CDC task:
- Apply the converted tables and primary keys.
- Disable foreign keys and DML triggers on the target during the full load (DMS loads tables in parallel, in no referential order, and triggers would fire on replicated rows and duplicate them). Create secondary indexes after the full load but before cached changes are applied, so CDC lookups are fast.
- Re-enable foreign keys and triggers just before cutover. Batch optimized apply groups changes for throughput and does not preserve referential order, which is one more reason constraints stay off until cutover.
Large objects (LOBs)
| LOB mode | Behaviour | Trade-off |
|---|---|---|
| Limited LOB mode (default) | Migrates LOBs up to the maximum LOB size and truncates anything larger | Fastest; memory is preallocated per LOB, so very large maximums hurt performance |
| Full LOB mode | Migrates every LOB whole, fetched in chunks (LOB chunk size, keep it at the 64 KB default) | No truncation, but slow for large tables |
| Inline LOB mode | Full LOB mode plus an inline maximum size: LOBs under it are copied inline, larger ones fetched by lookup; applies during full load | No truncation and much faster when most LOBs are small and a few are huge |
Limited LOB mode truncates without failing the task, so check the largest LOB in each table before choosing a mode, and use data validation to confirm the result. DMS fetches LOBs in full and inline modes by looking up each row by its key, so these modes need a primary key or unique index on the source table, even for a full load only, and CDC replicates LOBs only for tables that have one. A table without such a key needs one added on the source.
File and object migration with AWS DataSync
AWS DataSync is the managed service for moving file and object data online: a DataSync agent (a VM on premises) reads from NFS, SMB, HDFS or self-managed object storage and writes to Amazon S3, Amazon EFS or Amazon FSx (Windows File Server, Lustre, OpenZFS, NetApp ONTAP). A task pairs a source and destination location and can be scheduled.
- Integrity: DataSync checks data in transit and can verify transferred data or the whole destination after the transfer.
- Incremental re-runs: later executions copy only what changed, so while users keep changing files you run scheduled incremental tasks and a short final sync at cutover.
- Bandwidth limit: each task can cap the bandwidth it uses, and the limit can be changed on a running execution. On a link shared with production, throttle during business hours and lift the cap after hours.
- Private connectivity: an agent is activated against one service endpoint type (public, FIPS, VPC or FIPS VPC). To keep agent-to-service traffic off the internet, activate the agent with a VPC service endpoint (AWS PrivateLink) in a VPC reached over Direct Connect or VPN. The public and FIPS endpoints are internet-facing.
Storage Gateway File Gateway and AWS Transfer Family give ongoing hybrid or partner access to storage; they are not bulk migration tools with verification and incremental sync. AWS Snowball Edge is no longer available to new customers (effective 7 November 2025), and AWS points them to DataSync, so do not plan an offline device transfer for a new account.
Replatforming onto managed services and modernizing databases
Replatforming moves a workload onto a managed service that takes over operational work (patching, backups, failover, scaling) while the application code stays the same or changes only in configuration.
| Current workload | Replatform target | Why |
|---|---|---|
| Self-managed ActiveMQ or RabbitMQ brokers | Amazon MQ for ActiveMQ or RabbitMQ | Same protocols and APIs: ActiveMQ brokers keep OpenWire, AMQP 1.0, STOMP, MQTT and WebSocket; RabbitMQ brokers keep AMQP 0-9-1. Applications change only the endpoint. SQS/SNS or Amazon MSK would mean rewriting messaging code |
| Self-managed database with no host-level requirements | Amazon RDS or Amazon Aurora | AWS runs backups, patching and Multi-AZ failover |
| Database whose vendor needs host OS access, an agent on the host or privileged access | Amazon RDS Custom (Oracle or SQL Server) | Automated backups and management, plus access to the host; standard RDS does not allow host access |
| Software that needs full control the managed options cannot give | Database on Amazon EC2 | You run everything yourself, the most operational overhead |
| Web tier on VMs with in-memory sessions | Containers on Amazon ECS with AWS Fargate behind an ALB, sessions in Amazon ElastiCache (Valkey or Redis OSS) through the framework's session manager | No servers to manage and tasks can scale in without signing users out; sticky sessions alone lose sessions when a task stops |
Leaving commercial database licences
A company that wants to stop paying for commercial database licences moves to an open-source-compatible engine such as Aurora PostgreSQL. License Included RDS for Oracle or SQL Server still pays for the licence, inside the instance price. The question is how much application change you can afford:
- Full conversion: convert schema and code to PostgreSQL with DMS Schema Conversion, change the application's SQL and drivers, and move the data with DMS. It needs development time.
- Babelfish for Aurora PostgreSQL: Aurora PostgreSQL also understands T-SQL and the SQL Server wire protocol (TDS) on its own endpoint (port 1433 by default). An application whose SQL Server driver and T-SQL cannot change for now connects to that endpoint, so most stored procedures run as they are. Check compatibility first with the Babelfish Compass assessment of the exported DDL.
The Babelfish load order matters. Run the exported DDL through the TDS endpoint to create the tables and primary keys; load the data with DMS (an Aurora PostgreSQL target endpoint is preferred); then create views, procedures, triggers and foreign keys through the TDS endpoint. Letting DMS create the tables gives them PostgreSQL types instead of the T-SQL types Babelfish expects, and creating triggers and foreign keys before the load causes the same problems as in any DMS load.
Refactoring: strangler fig, data decomposition and serverless fit
Refactoring a monolith is done incrementally with the strangler fig pattern: a facade in front of the monolith sends the paths of extracted capabilities to new services and everything else to the monolith, so clients keep one hostname and each capability moves (and can move back) on its own.
- Behind an ALB: add listener rules for the migrated path (for example
/search) that forward to a weighted pair of target groups, so you can shift traffic gradually and return it to the monolith in minutes. Route 53 weighted records split whole hostnames, not paths, and are slowed by DNS caching. - For an API: an Amazon API Gateway REST API sends new resources to AWS Lambda and a
{proxy+}resource to the monolith, reaching an on-premises monolith over Direct Connect through a VPC link to a load balancer in the VPC (a Network Load Balancer with IP targets pointing on premises, or an Application Load Balancer). Migration Hub Refactor Spaces used to provide this facade but is closed to new customers. - Add an anti-corruption layer that translates between the monolith's model and the new service's model so the new service does not inherit the legacy data model.
Splitting the data
Each extracted service owns its database. When legacy modules must keep reading data the new service now owns, propagate changes from the new store, for example DynamoDB Streams to a Lambda function that updates the legacy tables. Dual writes in the request path leave the two stores inconsistent when one write fails, and DMS cannot read from DynamoDB.
- Transactional outbox: when a service must both commit data and publish an event, write the event to an outbox table in the same database transaction and let a relay publish new outbox rows. Any design that publishes outside that database transaction can lose an event or publish one for data that was never committed.
- Saga: a business transaction spanning services that own separate databases runs as a sequence of local transactions, orchestrated for example by a Step Functions Standard workflow, with a compensating action (refund, release seat) for each step that runs when a later step fails. A saga accepts that each service commits on its own and restores consistency through compensation, instead of locking every service into one distributed transaction.
Where serverless fits
| Service | Limit that decides the fit |
|---|---|
| AWS Lambda | 15-minute maximum run time; request payloads limited to a few megabytes |
| Step Functions Express workflows | 5-minute maximum; no callback (.waitForTaskToken) or .sync patterns |
| Step Functions Standard workflows | Up to one year, exactly-once step execution, task-token callbacks for human approval |
| Amazon ECS on AWS Fargate | No run-time limit; serverless containers for long jobs |
| Amazon SQS | Messages up to about 1 MiB; a delay queue or message timer delays delivery by at most 15 minutes |
Typical refactors: cron jobs move to EventBridge Scheduler, one scheduler that can invoke Lambda for short jobs and run an ECS task on Fargate for jobs longer than 15 minutes. Large uploads go straight to Amazon S3 with presigned URLs (so file content never passes through API Gateway or your own servers), and an S3 event notification starts processing. A process that waits days for a person runs in a Standard workflow paused on a task token until the approval tool returns the decision, with no polling. Large payloads go to S3 and only a reference travels in a message.
Modernizing mainframes and legacy .NET applications
Legacy modernization moves the workloads that cannot simply be rehosted, and AWS Transform is the current AWS tooling for both mainframe and .NET code.
Mainframes. AWS Transform for mainframe analyses COBOL, JCL, CICS, Db2 and VSAM assets, generates documentation of the code, decomposes it into business domains and refactors those domains to Java while preserving the business logic. It pauses for human approval of the domain decomposition and the wave plan, so architects can approve boundaries and move one domain at a time instead of converting everything at once. Both AWS Mainframe Modernization runtime experiences (the managed runtime and self-managed) are closed to new customers, so do not design a new customer's modernization around them. MGN cannot rehost z/OS, and moving only the data with DMS leaves the COBOL logic to be rewritten by hand.
.NET Framework applications. AWS Transform for .NET ports .NET Framework applications (for example ASP.NET MVC) to cross-platform .NET, runs builds and unit tests on the result, and lets the applications run on Linux, for example in containers on Amazon ECS, without Windows Server licences. It cannot transform native Win32 DLLs. Any target that still runs .NET Framework needs Windows Server, so the Windows licence goes away only once the code is ported to cross-platform .NET.
Databases. Commercial-database modernization (Babelfish or full conversion to Aurora PostgreSQL) is covered in the replatforming section above.
Task 4.1 covers moving and modernizing workloads. Recovering them after a disaster (AWS Elastic Disaster Recovery, multi-Region failover) is Task 4.2, and backup governance and chaos engineering are Task 4.3.
Tip. SAP-C03 tests Task 4.1 with long scenarios about a company's estate (hundreds of servers, a data-centre exit date, a Direct Connect link, licensing goals, a small team) followed by a constraint such as least operational overhead, least application change or no internet path. Several options are workable designs from the same service family, and each wrong one breaks one stated requirement: it splits a dependency group, uses a service closed to new customers, opens a port in the wrong direction, finalizes when it should revert, truncates LOBs, keeps a licence the company wants to drop, or exceeds a serverless time limit. Multiple-response items (select two or three) are common, so expect to combine facts, for example MGN private-IP routing with no public IP, or ALB weighted routing with an anti-corruption layer.
- Assign a strategy per application: rehost the bulk to meet a deadline, replatform where a managed service removes work, refactor only what justifies it, retire what nobody uses (archive the data first).
- Build waves from utilization and server-to-server connection data (AWS Transform discovery tool), not from an inventory alone; keep chatty dependency groups together and start with a pilot wave.
- Application Discovery Service, Migration Hub and Refactor Spaces are closed to new customers; AWS Application Migration Service is now AWS Transform MGN.
- MGN agents need outbound TCP 443 to MGN and outbound TCP 1500 to the staging subnet; use private IP and no public IP to keep replication on Direct Connect, plus MGN and S3 interface endpoints when there is no internet at all.
- MGN right-sizing overrides the launch template's instance type; post-launch actions run SSM documents; revert keeps replication, finalize cutover discards it.
- DMS full load plus CDC gives minutes of downtime; for huge databases, load natively from a recorded SCN/LSN and run a CDC-only task.
- DMS creates only tables and primary keys: apply converted schema first, disable FKs and triggers for the full load, add secondary indexes before cached changes apply.
- Limited LOB mode truncates; full or inline LOB mode migrates LOBs whole and needs a primary key or unique index on the source.
- Babelfish for Aurora PostgreSQL removes SQL Server licensing while a TDS client and T-SQL code stay unchanged; RDS Custom fits vendors that need host access.
- Refactor incrementally: ALB or API Gateway facade with fast rollback, an anti-corruption layer, an outbox for reliable events and a saga with compensating actions across services.
Frequently asked questions
What are the 7 Rs of AWS migration?
The 7 Rs are the treatments AWS defines for each application in a migration: retire (decommission it), retain (leave it in place for now), rehost (lift and shift to Amazon EC2, usually with AWS Transform MGN), relocate (move a platform such as VMware without changes), repurchase (switch to SaaS or another product), replatform (move onto managed services with small changes) and refactor (re-architect, for example into microservices or serverless).
What replaced AWS Application Discovery Service and AWS Migration Hub?
AWS Transform. Migration Hub and Migration Hub Refactor Spaces closed to new customers on 7 November 2025, and AWS Application Discovery Service is no longer open to new customers. AWS Transform provides discovery (a vCenter discovery tool that collects utilization and network connections), dependency mapping, wave planning and assessment business cases, and AWS Application Migration Service is now called AWS Transform MGN.
Which ports does AWS Transform MGN need?
The AWS Replication Agent on each source server needs outbound TCP 443 to the MGN service endpoint and outbound TCP 1500 to the replication servers in the staging area subnet. The source initiates both connections, so no inbound rule to the source servers is needed. The staging subnet itself needs outbound 443 to the MGN, Amazon EC2 and Amazon S3 endpoints.
What is the difference between reverting and finalizing a cutover in AWS Transform MGN?
Reverting returns the source server to Ready for cutover while replication keeps running, so you can fix launch settings and launch a fresh cutover instance later. Finalizing marks the server Cutover complete, stops replication, discards the replicated data and terminates the replication resources, so it is done only once the migrated instance is accepted.
How do you migrate a very large database with AWS DMS and minimal downtime?
If a DMS full load would take too long, load the data with the engine's native tools (for example Oracle Data Pump) from a consistent point, record that point as an Oracle SCN or a SQL Server or PostgreSQL LSN, and start an AWS DMS CDC-only task from it. DMS then applies the changes made since the native load until you cut over in minutes.
Why are LOB values truncated in an AWS DMS migration?
AWS DMS uses limited LOB mode by default, which migrates LOBs only up to the configured maximum LOB size and truncates anything larger. Full LOB mode migrates every LOB whole, and inline LOB mode does the same while copying small LOBs inline for speed. Both need a primary key or unique index on the source table.
What is Babelfish for Aurora PostgreSQL used for in a migration?
Babelfish lets Amazon Aurora PostgreSQL accept T-SQL and the SQL Server TDS wire protocol on its own endpoint, so an application can keep its SQL Server driver and most stored procedures while the company stops paying SQL Server licences. Create the tables through the TDS endpoint, load data with AWS DMS, then create views, procedures, triggers and foreign keys.
How do you modernize a mainframe application on AWS?
Use AWS Transform for mainframe, which analyses and documents COBOL, JCL, CICS, Db2 and VSAM assets, decomposes them into business domains for human approval, and refactors approved domains to Java in waves. Both AWS Mainframe Modernization runtime experiences are closed to new customers, and AWS Transform MGN cannot rehost z/OS.
Source
This lesson covers the "Resilience, Migration, and Business Continuity" domain of the official SAP-C03 exam guide. Vendors revise their guides — check the source for the current version.
- AWS Certified Solutions Architect – Professional (SAP-C03) exam guide — Amazon Web Services
Sign up free to mark lessons complete, bookmark topics and track your exam readiness.