Quickstart
Deploy your first EMR cluster in minutes with Terraform.
Cluster Types
Explore EC2, Serverless, Virtual, and Studio cluster options.
Configuration Reference
Full reference for all module inputs and outputs.
Examples
Working example configurations for common use cases.
What this module provides
Theterraform-aws-modules/emr module simplifies deploying AWS EMR at scale. It handles cluster provisioning, IAM roles, security groups, and scaling policies so you can focus on your data workloads.
EC2 Clusters
Deploy EMR clusters using instance fleets or instance groups in public or private subnets, with Spark, Hive, Trino, and more.
Serverless
Run Spark and Hive workloads without managing EC2 infrastructure using EMR Serverless.
Virtual Clusters (EKS)
Run EMR workloads on your existing Amazon EKS clusters for unified Kubernetes management.
EMR Studio
Provide data scientists and engineers with a collaborative notebook environment backed by EMR.
Key capabilities
Instance Fleets
Mix On-Demand and Spot instances with weighted capacity for cost-optimized clusters.
Instance Groups
Simple fixed-size node groups for predictable workloads.
IAM Roles
Automatically provisioned service, autoscaling, and EC2 instance profile roles.
Security Groups
Managed security groups for master, core, task, and service nodes.
Managed Scaling
Automatically scale clusters up and down based on workload demand.
Private Clusters
Deploy in private subnets with S3 and EMR VPC endpoints for secure connectivity.
Requirements
This module requires Terraform
>= 1.5.7 and the AWS provider >= 6.35. VPC and subnet resources must be tagged with { "for-use-with-amazon-emr-managed-policies" = true } to support the recommended IAM policy AmazonEMRServicePolicy_v2.