Most of a GCP to AWS move is a mapping exercise: GKE to EKS, Cloud SQL to RDS or Aurora, GCS to S3, Cloud Functions to Lambda. Two parts need real design work: BigQuery (no single AWS equivalent) and the IAM and networking model. Price the data transfer early, and check whether Google's exit program can credit it back.
Teams usually leave Google Cloud because their customers or partners standardise on AWS, they want AWS's service breadth, or they are consolidating after an acquisition. The work breaks down the same way each time.
It is three problems stacked together: a service mapping (mechanical for most of the stack), a data move (shaped by transfer costs and by BigQuery), and an identity and networking re-author (GCP projects and AWS accounts are built differently).
It is not a rewrite. A container on GKE runs unchanged on EKS. What changes is the plumbing: where secrets come from, how a service authenticates to a database, how queues are consumed, and how the infrastructure is described in code. Plan it as "remap the platform, keep the app."
Most workloads land as Rehost (containers move as they are) or Replatform (swap a managed service for its AWS equivalent). BigQuery and anything leaning on a GCP-only feature get Refactored. Retiring unused services cuts both scope and transfer cost.
For the services that carry the most weight, here is the AWS target and what actually changes. The full table is further down.
GKE to EKS. Manifests, Helm charts and images are portable. Workload Identity becomes IAM Roles for Service Accounts (IRSA) or EKS Pod Identity, the GKE ingress becomes the AWS Load Balancer Controller, Autopilot capacity becomes managed node groups or Karpenter, and image references move to ECR.
Cloud Run to ECS on Fargate. The closest "container in, URL out" option for new AWS customers is Amazon ECS Express Mode, which creates the Fargate service, load balancer and scaling for you. (App Runner closed to new customers on April 30, 2026.) Fargate keeps at least one task running; if you depend on scale-to-zero, Lambda with a container image is the closer fit.
Cloud SQL to RDS or Aurora. Same engine on both sides, so no schema conversion. AWS DMS supports Cloud SQL for MySQL and PostgreSQL as sources: a full load, then ongoing change data capture (CDC) so RDS stays in sync while you test. For PostgreSQL CDC, turn on logical decoding on Cloud SQL first. Cutover is a short pause to drain changes and repoint the connection string.
GCS to S3. Buckets map to buckets; GCP IAM bindings become S3 bucket policies plus IAM. Move data with AWS DataSync (pulls from GCS) or Google's Storage Transfer Service (pushes to S3).
Cloud Functions to Lambda. The handler signature and trigger wiring change; the logic in the middle is portable.
Pub/Sub to SNS, SQS and EventBridge. Most Pub/Sub use is "publish once, fan out to several subscribers, each with its own backlog". On AWS that is one SNS topic with one SQS queue per consumer. Use EventBridge when you need content-based routing.
Dataflow to Glue or EMR. Batch Beam pipelines are usually re-authored in Glue (PySpark) or run on EMR. Streaming jobs map to Amazon Managed Service for Apache Flink.
Firestore to DynamoDB. Both are serverless NoSQL, but the data models differ, so you redesign around access patterns. Real-time listeners are rebuilt on DynamoDB Streams with AppSync or WebSockets.
BigQuery is the service most likely to slow the migration. AWS answers it with a combination rather than one product.
A modelled warehouse (governed tables, BI dashboards, scheduled transforms) lands on Amazon Redshift, or Redshift Serverless for the no-cluster feel. Ad-hoc SQL over raw files lands on Amazon Athena over Parquet in S3, with the AWS Glue Data Catalog as the metastore. Most estates use both.
Two jobs: translate the SQL (BigQuery has its own functions and array and struct handling, so port and test queries rather than copy them), and move the data (export tables to Parquet in GCS, transfer to S3, then COPY into Redshift or register in Glue for Athena). Parquet is the format both targets want and it compresses well.
A few dashboards and dozens of tables is a short port. Hundreds of scheduled queries, UDFs and BI dependencies make it the critical path of the whole migration. Scope it as its own workstream.
If the service map is the easy part, identity and networking are what you rebuild. Translating GCP concepts one-for-one produces a fragile AWS design.
Moving data out of Google Cloud is billed per GB. On a data-heavy estate it is a real number, so plan it before you start. AWS does not charge for data coming in.
Google's exit program. Google offers free data transfer when you exit a Google Cloud service entirely. You submit an Exit Notice before migrating, start within the set initiation period, finish in the migration period, then file a Completion Notice; the transfer cost is credited on your final invoice for that service. Partial moves do not qualify, and the agreement for the service you leave ends.
If you do not use the program (for example, you keep part of a service on GCP), cut the bill three ways: export to Parquet or gzip instead of raw CSV or JSON, move only what you still need, and do one clean pass instead of repeated re-syncs.
Tools: AWS DataSync or Google's Storage Transfer Service for objects, AWS DMS for databases, and, for datasets too large for the network, AWS Data Transfer Terminal (AWS Snowball Edge is no longer open to new customers).
A clean cutover is boring on purpose: run both clouds in parallel, sync data continuously, validate, then switch in a short, rehearsed window with a tested rollback.
Inventory every GCP service, the data volumes and the dependencies. Note that AWS Migration Hub and Application Discovery Service closed to new customers on November 7, 2025; AWS now points to AWS Transform. For startups, AWS Startup Advisor produces a GCP migration plan (service mapping, cost estimates, IaC templates, a runbook) on the web or in an IDE plugin. It does not move data for you.
Stand up the landing zone (Control Tower, accounts, networking, SSO, guardrails) and move one low-risk workload end to end, usually a stateless service and its database. That proves the EKS or ECS path, the DMS replication and the IAM role model before you touch the core.
Start replication early: DMS CDC keeps RDS or Aurora in step with Cloud SQL, and DataSync moves GCS to S3 incrementally. Bring workloads over in dependency order and validate data and latency against real traffic.
Pause writes briefly, let replication catch the last changes, repoint DNS in Route 53, and verify. Keep GCP running for a defined soak period so rollback is a DNS change. If you use Google's exit program, keep its timeline in mind.
Infrastructure code does not port; it gets re-authored. If you already use Terraform, you keep Terraform and swap providers.
Swap the google provider for aws and re-express resources: google_container_cluster becomes an EKS module, google_sql_database_instance becomes aws_db_instance or aws_rds_cluster, google_storage_bucket becomes aws_s3_bucket. State does not migrate; you build fresh AWS state. Cloud Build becomes CodePipeline and CodeBuild (or your GitHub Actions pointed at AWS), Artifact Registry becomes ECR, and Cloud Monitoring and Logging become CloudWatch.
Everything above is doable in-house. Most teams do not, because it pulls senior engineers off product for months.
A vetted AWS partner matched to your stack (Kubernetes-heavy, data-heavy, your Region) can run the GKE to EKS cutover, the DMS database move, the GCS to S3 transfer, the IAM and networking re-author and the Terraform re-platform, with you reviewing rather than executing.
Partner-filed funding: the AWS Migration Acceleration Program (MAP) helps offset initial migration costs across its Assess, Mobilize and Migrate and Modernize phases. Your matched partner files it when the migration qualifies and AWS approves. For startups this is typically $50K to $150K. Depends on the workload; AWS approves. MAP covers AWS-side work, not Google's data transfer charges.
AWS Activate: you apply yourself. Activate Founders gives self-funded startups $1,000 to start, up to $5,000. Activate Portfolio gives up to $200,000 with the Org ID from your VC, accelerator or angel group, if it is an Activate Provider. A consulting partner cannot file Activate for you.
| Funding | Who files it | Amount | When it fits |
|---|---|---|---|
| Migration Acceleration Program (MAP) | Your matched AWS partner | $50K to $150K for startups. Depends on the workload; AWS approves. | You are not on AWS yet and want to migrate. |
| Proof of concept (POC) funding | Your matched AWS partner | $50K to $150K for startups. Depends on the workload; AWS approves. | You want to test something, whether or not you are on AWS today. |
| Incremental workload (IW) funding | Your matched AWS partner | $50K to $150K for startups. Depends on the workload; AWS approves. | You are already on AWS and are launching new work: a new AI feature, a new customer or a new contract. |
| AWS Activate Founders | Founder applies | $1,000 to start, up to $5,000 | Self-funded startups with no investor or accelerator behind them. |
| AWS Activate Portfolio | Founder applies | up to $200,000 | Startups backed by a VC firm, accelerator or angel investor that is an AWS Activate Provider. |
| AWS Credits for AI Startups | Invite only (AWS account manager) | $200,000 or more, by invitation | AI startups ready to scale after Activate Portfolio, invited by AWS. |
For each GCP service, the AWS equivalent and the tool or pattern you use to move it. Starred rows have no clean drop-in equivalent; scope them as their own workstreams.
| GCP service | AWS equivalent | Migration tool / pattern | Difficulty |
|---|---|---|---|
| GKE | EKS | Re-apply manifests; Workload Identity to IRSA or Pod Identity; ECR | Low |
| Cloud Run | ECS on Fargate (ECS Express Mode) or Lambda | Same container; Lambda if you need scale-to-zero | Low |
| Compute Engine | EC2 | AWS Application Migration Service (MGN) | Low |
| Cloud SQL | RDS or Aurora | DMS full load plus CDC (same engine) | Low to medium |
| BigQuery ★ | Redshift + Athena + Glue | Export to Parquet, move to S3, COPY or catalog; port SQL | High |
| Cloud Storage | S3 | DataSync or Storage Transfer Service | Low |
| Cloud Functions | Lambda | Re-author handler and triggers | Medium |
| Pub/Sub | SNS + SQS + EventBridge | SNS to SQS fan-out per consumer | Medium |
| Dataflow | Glue or EMR (Managed Flink for streaming) | Re-author transforms | Medium to high |
| Firestore ★ | DynamoDB | Redesign around access patterns; Streams for real-time | High |
| Cloud Spanner | Aurora or DynamoDB | Depends on access patterns | Medium to high |
| Memorystore | ElastiCache | Snapshot and restore, or warm-fill | Low |
| Secret Manager / Cloud KMS | Secrets Manager / AWS KMS | Recreate; grant through IAM roles | Low |
| Cloud DNS / CDN / Load Balancing | Route 53 / CloudFront / ELB | Recreate; DNS switch at cutover | Low |
| Cloud Build | CodePipeline / CodeBuild | Repoint pipelines; push to ECR | Low to medium |
| IAM | IAM roles and policies | Service account to assumed IAM role | Medium |
You fill in a short form: what you run today, what you want to move, test or build, your stage and your region.
We read your answers and pick one vetted AWS consulting partner that fits the work, the stack and the region. We reply within 24 hours; your matched partner reaches out within 5 business days.
Your matched partner scopes the migration with you. Then it checks whether the move qualifies for MAP (Migration Acceleration Program) funding. MAP is for teams that are not on AWS yet.
If the work qualifies, the partner files the funding request with AWS. AWS reviews it and decides. The amount depends on the workload.
CloudRoute is free for startups. Partners pay CloudRoute a monthly membership plus 10% of AWS-approved funding.
AWS Activate credits are separate, and you apply for them yourself. Use Activate Founders if no investor backs you. Use Activate Portfolio with the Org ID or invite from your VC, accelerator, incubator or angel group if it is an Activate Provider. A consulting partner cannot apply for Activate on your behalf.
CloudRoute matches you with one vetted AWS partner who can run the GKE to EKS cutover, the database move, the GCS to S3 transfer and the BigQuery re-platform, and file MAP funding when the migration qualifies and AWS approves. CloudRoute is free for startups.