terraform-aws-modules/terraform-aws-eks is a Terraform module that creates Amazon EKS (Elastic Kubernetes Service) resources on AWS.
The module abstracts the complexity of provisioning EKS clusters and their supporting infrastructure. It handles the creation of the EKS control plane, node groups (managed, self-managed, and Fargate profiles), networking components, and IAM roles required for cluster operation. The module also manages cluster access entries automatically when using API-based authentication modes, eliminating manual configuration steps for node group and Fargate profile IAM roles.
Teams building Kubernetes infrastructure on AWS should adopt this module to reduce boilerplate and ensure consistent cluster configuration across deployments. It suits organizations of any size deploying EKS, from small single-cluster setups to multi-cluster environments. The module supports multiple compute options including EKS Auto Mode for fully managed compute, EKS Managed Node Groups for AWS-managed worker nodes, self-managed node groups for custom configurations, and Fargate for serverless container execution. It also accommodates EKS Provisioned Control Plane with configurable capacity tiers for workloads requiring increased control plane resources. The comprehensive documentation covers compute resources, user data configuration, network connectivity, and upgrade paths across major versions, providing guidance for both initial deployment and ongoing maintenance.
The project maintains extensive upgrade documentation spanning multiple major versions, indicating sustained development and breaking changes managed through clear migration guides. The module includes a frequently asked questions section addressing common configuration scenarios and integration patterns.