Overview of Amazon EMR Pricing on EC2, EKS, Serverless
EMR Pricing depends on the type of EMR Deployment – EMR on EC2, EMR on EKS, EMR on Outposts and EMR Serverless.
EMR on EC2 Pricing/Cost
How to calculate the pricing of EMR on EC2 cluster?
EMR on EC2 Cluster Pricing Consists of EMR on EC2 Software cost , EC2 Instances cost.
- For EC2 instances , you can utilize On-Demand, Reserved or Spot Instances.
- EMR Software cost is fixed and varies by Instance type (Doesn’t have Reserved or Spot discounts)
EMR Cost Pricing is available at – https://aws.amazon.com/emr/pricing/?nc=sn&loc=4
Sample EMR on EC2 Cluster pricing
Assumptions : Four node Cluster (1 master node, 2 core nodes, 1 Task node) , Region is us-east-1, 24×7 running clusters.
OnDemand
Cluster Nodes | Num of Nodes | Instance Type | EC2 Price/hr | EMR Price/hr | EC2 Price/Day | EMR Price/Day | Total Cost/Day |
Master | 1 | r6g.4xlarge | $0.81 | $0.20 | $19.35 | $4.84 | $24.19 |
Core | 2 | r6g.8xlarge | $1.61 | $0.40 | $77.41 | $19.35 | $96.77 |
Task | 1 | r6g.8xlarge | $1.61 | $0.40 | $38.71 | $9.68 | $48.38 |
Total Cluster cost Per Day | $169.34 |
Total Cluster cost Per Year | $61,810.56 |
Reserved (1 year Pricing with no up front costs)
Cluster Nodes | Num of Nodes | Instance Type | EC2 Price/hr | EMR Price/hr | EC2 Price/Day | EMR Price/Day | Total Cost/Day |
Master | 1 | r6g.4xlarge | $0.51 | $0.20 | $12.19 | $4.84 | $17.03 |
Core | 2 | r6g.8xlarge | $1.02 | $0.40 | $48.77 | $19.35 | $68.12 |
Task | 1 | r6g.8xlarge | $1.02 | $0.40 | $24.38 | $9.68 | $34.06 |
Total Cluster cost Per Day | $119.21 |
Total Cluster cost Per Year | $43,512.67 |
Reserved (3 year Pricing with no up front costs)
Cluster Nodes | Num of Nodes | Instance Type | EC2 Price/hr | EMR Price/hr | EC2 Price/Day | EMR Price/Day | Total Cost/Day |
Master | 1 | r6g.4xlarge | $0.35 | $0.20 | $8.35 | $4.84 | $13.19 |
Core | 2 | r6g.8xlarge | $0.70 | $0.40 | $33.46 | $19.35 | $52.81 |
Task | 1 | r6g.8xlarge | $0.70 | $0.40 | $16.73 | $9.68 | $26.40 |
Total Cluster cost Per Day | $92.40 |
Total Cluster cost Per Year | $33,727.75 |
Spot Instances
Cluster Nodes | Num of Nodes | Instance Type | EC2 Price/hr | EMR Price/hr | EC2 Price/Day | EMR Price/Day | Total Cost/Day |
Master | 1 | r6g.4xlarge | $0.30 | $0.20 | $7.18 | $4.84 | $12.02 |
Core | 2 | r6g.8xlarge | $0.60 | $0.40 | $28.73 | $19.35 | $48.08 |
Task | 1 | r6g.8xlarge | $0.60 | $0.40 | $14.36 | $9.68 | $24.04 |
Total Cluster cost Per Day | $84.14 |
Total Cluster cost Per Year | $30,712.56 |
EMR on EKS Pricing/Cost
How to calculate the pricing of EMR on EKS cluster?
EMR on EKS Cluster Pricing Consists of EKS Cluster Cost, EKS on EC2 or Fargate nodes cost, EMR on EKS Software cost .
- EKS Cluster cost is $0.10 per hour.
- For EC2 instances associated with your EKS cluster , you can utilize On-Demand, Reserved or Spot Instances.
- Amazon EMR pricing on Amazon EKS is calculated based on the vCPU and memory resources used from the time you start to download your EMR application image until the EKS Pod terminates, rounded up to the nearest second . Following are the prices
per vCPU per hour | $0.01012 |
per GB per hour | $0.00111125 |
Sample EMR on EKS Cluster pricing
Assumptions : Three Worker node EKS Cluster , Region is us-east-1, 24×7 running clusters.
Following is the EMR on EKS Cluster pricing across multiple EC2 Pricing Models
EKS Worker Nodes | EKS Worker Node Type | EC2 Pricing Type | EKS (hr) | EC2 (hr) | EMR on EKS (hr) | Total Cost (hr) | Total Cost (day) | Total Cost (Year) |
3 | r6g.8xlarge (32 CPU/256 GB Memory) | On Demand | $0.10 | $1.61 | 0.60832 | $6.95 | $166.92 | $60,925 |
3 | r6g.8xlarge (32 CPU/256 GB Memory) | Reserved – 1 yr | $0.10 | $1.02 | 0.60832 | $5.18 | $124.44 | $45,420 |
3 | r6g.8xlarge (32 CPU/256 GB Memory) | Reserved – 3 Yr | $0.10 | $0.70 | 0.60832 | $4.22 | $101.40 | $37,011 |
3 | r6g.8xlarge (32 CPU/256 GB Memory) | Spot | $0.10 | $0.60 | 0.60832 | $3.92 | $94.20 | $34,383 |
EMR Serverless Pricing/Cost
How to calculate the pricing of EMR on EKS cluster?
With EMR Serverless, there are no upfront costs, and you pay only for the resources you use. You pay for the amount of vCPU, memory, and storage resources consumed by your applications.
With EMR Serverless, you create an application using an open source framework version, and submit jobs to the application. As part of the job specification, you can provide the minimum and maximum number of concurrent workers, and the vCPU, memory, and storage for each worker.
Pricing is based on vCPU, memory, and storage resources used by workers, aggregated across all workers.
Dimension | Rate |
per vCPU per hour | $0.052624 |
per GB per hour | $0.0057785 |
Sample EMR Serverless Cluster pricing
Below is Sample pricing on EMR Serverless Cluster for on Spark and Hive jobs
Job Type | Worker nodes | vCPU | Memory (GB) | Job Duration (Hr) | Price |
Spark Job | 50 | 16 | 120 | 12 | $448 |
Hive Job | 20 | 4 | 30 | 4 | $18 |
Conclusion
- If you have consistent workloads (more than 12 hours per day), EMR on EC2 is recommended.
- If you have adhoc workloads, EMR Serverless is recommended.
- If you have Consistent Spark workloads with different versions and need flexibility, EMR on EKS is recommended.
- If you have workloads which requires 24×7 usage of the clusters, EC2 Reserved Pricing with 3 yr term is recommended option.
- If you have workloads which required partial usage (8 hrs) of the cluster, EC2 on-demand pricing is recommended option.
- If you have workloads (Machine Learning) which can handle nodes failures and require adhoc large usage of the clusters for training, EC2 Spot instances are recommended.