Amazon Elastic Kubernetes Service is a powerful container orchestration platform, but configuring a production-ready cluster requires integrating networking, security, operational tooling and a wide range of add-ons. EKS Blueprints for Terraform provides open-source templates and reference architectures designed to simplify the deployment and management of Kubernetes clusters on Amazon EKS. The patterns accelerate the path from idea to a fully bootstrapped cluster that is ready to host workloads.
What AWS EKS Blueprints Are
AWS EKS Blueprints are open-source templates and reference architectures designed to simplify the deployment and management of Kubernetes clusters on Amazon Elastic Kubernetes Service. They include pre-configured modules for networking, add-ons like VPC CNI, CoreDNS, and Prometheus, and integrations with tools like Argo CD or IAM roles for service accounts.
The project contains a collection of Amazon EKS cluster patterns implemented in Terraform that demonstrate how fast and easy it is for customers to adopt Amazon EKS. The patterns can be used by AWS customers, partners, and internal AWS teams to configure and manage complete EKS clusters that are fully bootstrapped with the operational software that is needed to deploy and operate workloads.
Kubernetes is a powerful and extensible container orchestration technology that allows you to deploy and manage containerized applications at scale. The extensible nature of Kubernetes also allows you to use a wide range of popular open-source tools in Kubernetes clusters. With the wide array of tooling and design choices available, configuring an EKS cluster that meets your organization’s specific needs can take a significant amount of time. It involves integrating a wide range of open-source tools and AWS services as well as expertise in AWS and Kubernetes.
Adopting Kubernetes as your container orchestration platform is a challenging task. Before considering application deployments, you must design a robust Kubernetes setup, install operational tooling, and build a platform on top of which we will host workloads. Kubernetes offers a vibrant ecosystem of popular open-source tools that we can leverage to build our production-grade clusters, commonly called addons. Selecting and implementing the appropriate tooling for your needs and integrating, and in the case of EKS, integrating the cluster to the rest of your AWS setup is a time-consuming and operationally heavy task.
Why EKS Blueprint Patterns Matter for Terraform
EKS Blueprints for Terraform is a set of patterns that make it easier and quicker for users to provision complete Amazon Elastic Kubernetes Service clusters.
AWS customers have asked for patterns that demonstrate how to integrate the landscape of Kubernetes tools and make it easy for them to provision complete, opinionated EKS clusters that meet specific application requirements.
Customers can utilize EKS Blueprints to configure and deploy purpose built EKS clusters, and start onboarding workloads in days, rather than months.
The framework facilitates and fast-tracks the process of building a production-grade setup. It reduces the need to manually assemble networking, node groups, and add-on installations from scratch.
Consumption Models and Design Intent
EKS Blueprints for Terraform has been designed to be consumed in the following manners:
- Reference
- Copy & Paste
Reference means users can refer to the patterns and snippets provided to help guide them to their desired solution. Users will typically view how the pattern or snippet is configured to achieve the desired end result and then replicate that in their environment.
Copy & Paste means users can copy and paste the patterns and snippets into their own environment, using EKS Blueprints as the starting point for their implementation. Users can then adapt the initial pattern to customize it to their specific needs.
EKS Blueprints for Terraform are not intended to be consumed as-is directly from this project. In Terraform speak, the patterns and snippets provided in this repository are not designed to be consumed as a Terraform module. Therefore, the patterns provided only contain variables when certain information is required to deploy the pattern, for example a Route53 hosted zone ID, or ACM certificate ARN, and generally use local variables.
If you wish to deploy the patterns into a different region or with other changes, it is recommended that you make those modifications locally before applying the pattern. EKS Blueprints for Terraform will not expose variables and outputs in the same manner that Terraform modules follow in order to avoid confusion around the consumption model.
However, we do have a number of Terraform modules that were created to support EKS Blueprints in addition to the community hosted modules.
| Consumption Mode | Intended Use | Modification Advice |
|---|---|---|
| Reference | View patterns and replicate in own environment | Review configuration to understand desired end result |
| Copy & Paste | Copy snippets as starting point and adapt | Customize locally before applying |
Reference Architecture and Add-On Bootstrapping
A simple blueprint will deploy a new EKS cluster with a managed node group. It will also bootstrap the cluster with vpc-cni, coredns, kube-proxy, aws-load-balancer-controller, metrics server, and cluster-autoscaler add-ons.
Indicating that an add-on should be installed in an EKS cluster is as simple as setting a boolean value to true.
The following add-ons are referenced in the patterns:
- amazoneksvpc_cni
- amazonekscoredns
- amazonekskube_proxy
- amazoneksawsebscsi_driver
- awsforfluentbit
- awsloadbalancer_controller
- awsefscsi_driver
- cluster_autoscaler
- metrics_server
Each add-on points to an open-source, upstream Helm repository.
| Category | Add-on Examples |
|---|---|
| EKS Managed Add-ons | VPC CNI, CoreDNS, kube-proxy |
| Self-managed Add-ons | AWS Load Balancer Controller, Cluster Autoscaler, Metrics Server |
| Observability | Prometheus |
| Security / Identity | IAM roles for service accounts |
| GitOps | Argo CD |
Terraform Example and Module Structure
The Terraform example represents a simple blueprint that will deploy a new EKS cluster with a managed node group and bootstrap add-ons.
```
module "eks_blueprints" {
source = "github.com/aws-ia/terraform-aws-eks-blueprints?ref=v4.0.2"
EKS Cluster VPC and Subnet mandatory config
vpcid =
private
EKS CLUSTER VERSION
cluster_version = "1.21"
EKS MANAGED NODE GROUPS
managednodegroups = {
mg5 = {
nodegroupname = "managed-ondemand"
instancetypes = ["m5.large"]
min_size = "2"
}
}
}
```
Add-on bootstrapping is handled via a separate module:
```
module "kubernetesaddons" {
source = "github.com/aws-ia/terraform-aws-eks-blueprints//modules/kubernetes-addons?ref=v4.0.2"
eksclusterid = module.eksblueprints.eksclusterid
EKS Add-ons
enableamazoneksvpccni = true
enableamazonekscoredns = true
enableamazonekskubeproxy = true
enableamazoneksawsebscsi_driver = true
Self-managed Add-ons
enableawsforfluentbit = true
enableawsloadbalancercontroller = true
enableawsefscsidriver = true
enableclusterautoscaler = true
enablemetrics_server = true
}
```
This structure separates cluster provisioning from add-on installation and allows boolean toggles for each add-on.
Availability, Pricing, and Support
EKS Blueprints for Terraform and CDK are available today on GitHub. They can be used to provision EKS environments in any AWS Region where EKS is currently available. EKS Anywhere support is on our roadmap.
EKS Blueprints is free to use, and you pay for only the resources you deploy. For example, when you deploy an EKS cluster with a managed node group, you will incur standard EKS and EC2 charges.
EKS Blueprints is a community-driven open-source project, not part of an AWS service, so it is therefore not included in AWS enterprise support. All AWS services provisioned by EKS Blueprints, such as EKS, are fully supported. If you need help using EKS Blueprints, please create an issue in our GitHub repository.
Community and Next Steps
The EKS Blueprints community is open to everyone. We have a small but growing open-source community that is contributing to the project, and we want to grow our base of contributors. If you are interested in getting involved with the project, we welcome all contributions to Terraform or CDK projects, including bug reports, new features, corrections, or additional documentation.
What additional add-ons would be useful? What new blueprints can we build?
To get started with EKS Blueprints, please visit either the EKS Blueprints for Terraform or EKS Blueprints for CDK repositories. There you will find links to complete project documentation and instructions on getting started.
Conclusion
EKS Blueprints for Terraform provides a practical way to move from the complexity of building a complete, opinionated EKS platform to reusing proven patterns that integrate networking, managed node groups, and operational add-ons. The design choice to offer patterns for reference and copy-paste rather than as a drop-in module preserves flexibility while reducing the time to onboard workloads from months to days.
The approach emphasizes local customization, boolean-driven add-on enablement, and clear separation between cluster provisioning and Kubernetes add-ons. With free usage and pay-for-resources pricing, the project lowers the barrier to experiment with production-grade configurations. Because it is community-driven, ongoing contributions shape the add-on catalog and blueprint coverage.
For teams adopting Terraform, the patterns serve as a fast-track starting point that still requires deliberate local adaptation for region, networking, and certificate requirements. Using the reference implementations as a guide, teams can build complete EKS clusters that are fully bootstrapped with operational software needed to deploy and operate workloads.