Need guidance on migrating MongoDB Atlas from GCP to AWS while maintaining current IOPS and minimizing cost

Hi everyone,

We’re evaluating migrating our MongoDB Atlas deployment from GCP to AWS to eliminate inter-cloud data transfer costs, but we’re running into storage performance limitations and increased infrastructure costs.

We currently have two Atlas clusters:

Stage Cluster

  • Dedicated M30

  • Single replica set (1 Primary, 2 Secondaries)

  • ~512 GB storage

  • Peak workload: ~7,000–8,000 IOPS

  • Inter-cloud data transfer: ~1.7 TB/month

Production Cluster

  • Dedicated M30

  • Single replica set (1 Primary, 2 Secondaries)

  • ~512 GB storage

  • Peak workload: ~7,000–8,000 IOPS

  • Inter-cloud data transfer: ~7.5 TB/month

When configuring an equivalent M30 cluster on AWS (eu-west-2), Atlas provides only around 3,000 IOPS, which is well below our workload requirements.

To achieve approximately 8,000 IOPS, we need to scale the AWS cluster to M50 and increase storage to around 4 TB. This significantly increases the Atlas infrastructure cost compared to our current GCP deployment.

Options We’ve Evaluated

1. Migrate as-is (M30)

  • ~3K IOPS

  • Not sufficient for either Stage or Production.

2. Upgrade permanently to M50

  • Meets the required performance (~8K IOPS).

  • Requires increasing storage from 512 GB to ~4 TB.

  • Atlas infrastructure cost increases significantly compared to the current GCP deployment.

  • The additional infrastructure cost largely offsets the savings from eliminating inter-cloud data transfer.

3. Scheduled scaling

Scale the cluster from M30 → M50 before our daily pipeline (approximately 2 hours), then scale it back to M30 after the pipeline completes.

This adds approximately $232/month to the Atlas cost.

For the Stage cluster, this additional cost is roughly equal to the savings from eliminating 1.7 TB/month of inter-cloud data transfer, so there is little financial benefit.

We’re still evaluating whether this approach is worthwhile for the Production cluster with ~7.5 TB/month of inter-cloud data transfer.

Questions

  1. Are there Atlas-supported ways to achieve 7K–8K IOPS on AWS without upgrading to a much larger cluster or significantly increasing storage capacity?

  2. Can higher IOPS be provisioned independently of storage size or cluster tier?

  3. Are there Atlas deployment configurations (storage type, instance family, etc.) that we’re overlooking?

  4. Has anyone migrated Atlas from GCP to AWS primarily to eliminate inter-cloud data transfer costs? If so, what architecture worked best?

  5. Are there any alternative approaches that would reduce inter-cloud data transfer costs without significantly increasing Atlas infrastructure costs?

I’d appreciate any suggestions or recommendations from anyone who has worked through a similar migration.

Hi @NAGA_HARI_CHANDANA_PALAGIRI

To answer your questions, please answer one thing - whether you are looking for migrating a Atlas Managed MongoDB to Self Managed MongoDB or Atlas to Atlas migration on different cloud services?

Answers to your questions as per my knowledge with Atlas:

  1. Are there Atlas-supported ways to achieve 7K–8K IOPS on AWS without upgrading to a much larger cluster or significantly increasing storage capacity?

    Ans: Nope.

  2. Can higher IOPS be provisioned independently of storage size or cluster tier?

    Ans: No.

  3. Has anyone migrated Atlas from GCP to AWS primarily to eliminate inter-cloud data transfer costs? If so, what architecture worked best?

    Ans: Yes we have migrated from Atlas to AWS Self Hosted MongoDB to eliminate huge Atlas expenses.