Choice 04. By Nicolas Dao · Last reviewed

Runpod or AWS for a GPU?

I need an NVIDIA GPU for models and experiments. Do I rent it on Runpod, or on AWS with SageMaker or EC2, and when do I use both?

Runpod for research and experiments: the same card for 26–42% less than AWS in us-east-1 (44–55% less than Sydney), cards AWS doesn't rent, and no quota to wait for. SageMaker when the data is the client's: training jobs and endpoints inside its account, Sydney included. EC2 for a full GPU VM in the account, or inference that runs 24/7 on a Savings Plan. Prototype on Runpod, ship on AWS.

When to pick which

Pick Runpod when

  • Research, proofs of concept and experiments that you start in the morning and stop at night.
  • The data isn't the client's: public, synthetic or your own.
  • The card matters: an RTX 4090 or 5090, which AWS doesn't rent, or 48 GB from $0.59 an hour.
  • You need the GPU today, not after a quota request.

Pick SageMaker when

  • Training or fine-tuning on the client's data, which stays in S3 in the client's account.
  • Inference in the client's production system: endpoints that autoscale, and asynchronous ones that scale to zero.
  • The work must stay in Australia, or needs IRAP PROTECTED or HIPAA.

Pick EC2 when

  • A full GPU VM inside the client's account: its own Docker, systemd, UDP, a private network.
  • Inference that runs 24/7: a 3-year Savings Plan puts an L4 at about $235 a month.

Both, when

  • Prototype on Runpod with sample data, then train and serve on SageMaker in the client's account once the method works: the code is the same PyTorch.
  • Request the AWS GPU quota on day one, and work on Runpod while you wait for it.
  • My own setup pairs Runpod with a third box: the agents on an always-on Hostinger VPS, the GPU on a Runpod pod beside it, stopped when idle.

Questions that change the answer

  • Whose data is it? The client's, in its account or in Australia, means AWS.

  • Does it run in bursts or 24/7? Bursts point to Runpod, 24/7 to an AWS Savings Plan.

  • Does the code need a full VM, with its own Docker, systemd or UDP? Then it's EC2.

  • Which card does the research code target, and how much memory does it need? Consumer cards are on Runpod only.

  • Does procurement need an uptime commitment, IRAP or a data-center card? Then it's AWS, or a professional card on Runpod.

The short version

Runpod SageMaker EC2
My verdict My default: research and experiments Use when it fits: GPU work on a client's data Use when it fits: a full GPU VM in the account
What you get A container with SSH, from a ready PyTorch image Managed training jobs, notebooks and endpoints A full VM: Docker, systemd, UDP
Billing Per second Per second Per second, 60-second minimum
Between sessions The network volume, $0.07 per GB a month Nothing, between training jobs; a running Studio space bills The EBS disk, $0.08 per GB a month ($0.096 in Sydney)
GPU quota Nothing to request 0 by default, per instance type 0 by default
A 24 GB card, per hour RTX 4090 $0.89, L4 $0.59 ml.g6.xlarge (L4) $1.127 g6.xlarge (L4) $0.8048
A 48 GB card, per hour RTX A6000 $0.59, L40S $1.09 ml.g6e.xlarge (L40S) $2.61 g6e.xlarge (L40S) $1.861
In Australia L40S only, without network volumes T4, A10G, L4, A100, H100 T4, A10G, L4, H100
Data in and out Free Stays inside the account $0.09 per GB to the internet after 100 GB a month ($0.114 in Sydney)
Commitment discount None since October 2026 SageMaker Savings Plans, up to 64% EC2 Savings Plans: 35% (1 year) to 60% (3 years, upfront) on an L4
Uptime commitment None in the terms 99.95% (real-time endpoints) 99.99% (regional)
Compliance SOC 2 Type II, ISO 27001 IRAP PROTECTED, HIPAA-eligible IRAP PROTECTED, HIPAA-eligible
Provisioning Runpod's own Terraform provider; Pulumi through it Official Pulumi and Terraform Official Pulumi and Terraform
An agent drives it Official MCP server and Claude Code plugin, with OAuth The AWS MCP Server The AWS MCP Server

Prices in us-east-1 unless stated, on demand, checked on 1 November 2026.

The same card, two prices

GPU Memory Runpod, $/hour AWS us-east-1, $/hour AWS Sydney, $/hour Runpod vs us-east-1
L4 24 GB 0.59 0.8048 (g6.xlarge) 1.0464 27% less
RTX 4090 24 GB 0.89 not offered not offered
L40S 48 GB 1.09 1.861 (g6e.xlarge) not offered 41% less
RTX PRO 6000 96 GB 2.49 3.3631 (g7e.2xlarge) not offered 26% less
H100 80 GB 3.99 6.88 (p5.4xlarge) 8.944 42% less

Sources, checked on 1 November 2026: Runpod pricing, EC2 on-demand pricing (the AWS Price List of 29 October). SageMaker adds 40% to the 24 and 48 GB instances and 15% to the H100 (SageMaker AI pricing).

Against Sydney, Runpod is 44% cheaper on an L4 and 55% on an H100. The machine around the card differs too: AWS's g6.xlarge has 4 vCPUs and 16 GB of RAM, while the CPUs and RAM that come with a Runpod GPU vary by host (my 4090 pod had 13.6 CPUs and about 61 GB).

So the cost argument isn't that Runpod is the cheapest GPU there is. Marketplaces such as Vast.ai rent a 4090 from $0.14 an hour (the alternatives are on the Runpod entry). It's that, for the same card, AWS charges 1.4 to 2.2 times as much, and doesn't rent the consumer cards at all.

A month of experiments, priced

220 GPU-hours (about ten hours a day on working days) and 200 GB of disk kept all month:

Option GPU $/month
Runpod L4 143.80
AWS us-east-1 L4 (g6.xlarge) 194.16
Runpod RTX 4090 209.80
AWS Sydney L4 (g6.xlarge) 250.51
Runpod L40S 253.80
AWS us-east-1 L40S (g6e.xlarge) 426.52

The AWS rows include a public IPv4 address while running ($0.005 an hour). Egress isn't included: Runpod charges none, AWS $0.09 per GB after the first 100 GB.

Per hour isn't per job. The RTX 4090 moves 1,008 GB of memory a second, the L4 300 (NVIDIA's Ada architecture paper, NVIDIA L4): 3.4 times as much for about the same hourly price. That's from the spec sheets, not a benchmark of my models.

Inference that runs all day

The answer flips when the GPU never stops. Runpod withdrew its savings plans in October 2026 and spot pods are retired, so a pod that runs all month pays the full rate. AWS discounts commitment:

Option, us-east-1 unless stated GPU $/month, 730 hours
EC2 g6.xlarge, 3-year Savings Plan, all upfront L4 about 235
EC2 g6.xlarge, 1-year Savings Plan, no upfront L4 about 382
Runpod, on demand L4 about 431
EC2 g6.xlarge, Sydney, 1-year Savings Plan L4 about 497
EC2 g6.xlarge, on demand L4 about 588
Runpod, on demand RTX 4090 about 650
SageMaker ml.g6.xlarge, on demand L4 about 823

Sources, checked on 1 November 2026: EC2 Instance Savings Plans, Runpod pricing, SageMaker AI pricing.

Most client inference isn't 24/7 on one card, though. A SageMaker asynchronous endpoint scales to zero between batches, and a real-time endpoint autoscales with the traffic. For a client, that's the usual home.

Australia

Provider GPUs in Australia
Runpod OC-AU-1: L40S only, low stock, no network volumes
AWS EC2, Sydney T4, A10G, L4 (whole and fractional), a single H100 ($8.944 an hour), 8× A100, 8× H200. No L40S, no Blackwell
SageMaker, Sydney T4, A10G, L4, A100, H100
Azure, Australia East Container Apps serverless GPUs (T4, A100), billed per second, scaling to zero
Vultr, Sydney A40 (48 GB) at $1.71 an hour, billed while stopped
Google Cloud, Sydney and Melbourne No L4: T4, P4 and H100 machines only

Sources, checked on 1 November 2026: Runpod's API, the AWS Price List, the Azure Retail Prices API, Vultr's plan API, Google Cloud GPU regions.

None of Runpod's Asia-Pacific data centers had an RTX 4090 when I looked, and Japan had only H100 and H200. I run my pod in Romania with about 200 ms of keyboard lag from Malaysia, which the GPU work doesn't notice. For a client whose data must stay in Australia, it's AWS in Sydney.

The quota

Every AWS account starts at 0 vCPUs of On-Demand and Spot quota for G and P instances, in every region, and every SageMaker GPU quota at 0 (EC2 instance quotas, SageMaker AI quotas). The quota counts vCPUs: a g6.xlarge needs 4, a g6e.2xlarge 8. AWS publishes no approval time; reports range from a day to more than a week. Mine was at 0 in both regions I checked.

Runpod has nothing to request. Restarting a stopped machine can fail on both: Runpod refuses when someone has taken the pod's GPU, and AWS when the zone has no capacity. Only an AWS Capacity Reservation guarantees it, billed around the clock.

Where AWS is better

  • The client's data stays in the client's account: S3, IAM, a private VPC, no egress, and the audit trail the client already has.
  • Australia: Sydney rents L4s and H100s by the hour; Runpod's Australian data center has L40S only, without network volumes.
  • Compliance and commitments: IRAP PROTECTED and HIPAA eligibility for both EC2 and SageMaker, and uptime commitments of 99.99% (EC2) and 99.95% (SageMaker real-time endpoints). Runpod's terms promise no uptime.
  • A full VM: EC2 runs its own Docker, systemd and UDP; a Runpod pod is a container.
  • Steady inference: Savings Plans, autoscaling and endpoints that scale to zero.
  • Data-center cards: the RTX 4090 is a GeForce card, and NVIDIA's GeForce licence says its software "is not licensed for datacenter deployment". If procurement raises it, use a professional or data-center card, on either platform.

More choices

  1. 01 Lambda, Web Functions or Workers? Where should this piece of logic run?
  2. 02 Lambda, Fargate or EC2? My Lambda is busy all day, or its reserved concurrency keeps going up. When is it time to move to a container, and where is the line?
  3. 03 Longer than 15 minutes: Fargate, durable functions or Managed Instances? My job runs past Lambda's 15 minutes, maybe for hours, and I don't know when it ends. Where does it run, and how does it stop billing once done?
  4. 05 Cloudflare Sandbox or Lambda MicroVMs? My product runs code nobody reviewed, written by an LLM or a customer. Where does it run safely, and which fits which business?
  5. 06 SQS, EventBridge or SNS? Something happens in my app and other code must act on it. Do I put it in a queue, on an event bus, or on a topic?
  6. 07 Queue, bus or stream? SQS, EventBridge, Kinesis or Kafka Events move between my services. Are SQS, SNS and EventBridge enough, or do I need a stream like Kinesis or Kafka, and at what scale does the answer change?
  7. 08 Kinesis or Kafka on AWS? I need a real stream on AWS. Kinesis Data Streams, or Kafka on Amazon MSK, and is running Kafka myself ever worth it?
  8. 09 SQS retries or Durable Functions? A job calls something flaky (a third-party API, an LLM, a slow Postgres). How do I retry it reliably, and when do I reach for Lambda durable functions instead of tuning SQS?
  9. 10 Durable functions or Step Functions? A job has several steps, retries and waits. Do I write it as a Lambda durable function, or as a Step Functions state machine?
  10. 11 pgvector or S3 Vectors? Where should my embeddings live?
  11. 12 Pulumi or Terraform? We're putting our infrastructure in code. Pulumi or Terraform, and what if we already run one of them?
  12. 13 Cloudflare or S3 and CloudFront for a website? Where should a website, SPA or PWA live, Cloudflare static hosting or S3 behind CloudFront, and where do its heavy files go?
  13. 14 CloudWatch and Firehose, side by side How do I keep chatty logs without a CloudWatch-sized bill?
  14. 15 Athena or DuckDB? How should I query my data lake, and what changed when AWS bought DuckDB's company?
  15. 16 Neon or Aurora? I need Postgres for an app on AWS. When is Neon the right call, and when does it have to be Aurora?
  16. 17 Better Auth or Cognito? Which sign-in should my app use, and what do I actually get for free?
  17. 18 Why I ended up on AWS Which cloud should my company run on, and is AWS just the one you know?
  18. 19 Better Auth, run yourself or managed by Neon? My app is on Neon. Should I run Better Auth myself, or switch on Neon Auth, which is Better Auth managed by Neon?
  19. 20 Stripe or PayPal Should we take payments with Stripe or PayPal, and when is PayPal worth the pain?
  20. 21 Tailscale or Cloudflare Tunnel? I need to reach a private box or VPC, or put a service from it online. Is that Tailscale or Cloudflare Tunnel?
  21. 22 Resend or SES? Our app sends email, and maybe a newsletter. Resend, or Amazon SES in our own AWS account?
  22. 23 WhatsApp or Telegram Our bot should reach users in a messaging app. WhatsApp or Telegram, and why did yours get blocked?
  23. 24 Which model, at what price Claude, GPT or an open model? Which is the cheapest model that's good enough, tier by tier?
  24. 25 Anthropic API, Bedrock or OpenRouter? My product will call Claude. Do I buy it from Anthropic directly, through Amazon Bedrock in the client's AWS account, or through OpenRouter?
  25. 26 Which decision model? Jev, OpenAI Decisions, Clef, Baseten, Perplexity or Liquid? Which decision model fits my job, my volume and my risk?
  26. 27 Cloudflare AI Gateway, OpenRouter or LiteLLM? My app calls several LLMs. Do I need an AI gateway, and which one: Cloudflare AI Gateway, OpenRouter, or a LiteLLM proxy I host myself?
  27. 28 Function URL or API Gateway? My Lambda needs an HTTPS endpoint. When is a function URL enough, and when do I start on API Gateway from day one?
  28. 29 Serper or DataForSEO Should an agent get Google results from Serper or from DataForSEO, and do the two overlap or work together?

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Talk to us

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: