{"id":27267995,"url":"https://github.com/hs094/aws-eks-cluster-infra-as-code","last_synced_at":"2026-04-05T23:33:31.193Z","repository":{"id":287214046,"uuid":"963989474","full_name":"hs094/AWS-EKS-Cluster-Infra-as-Code","owner":"hs094","description":"Terraform configuration for deploying a production-ready Amazon EKS (Kubernetes) cluster on AWS with customizable node groups and networking.","archived":false,"fork":false,"pushed_at":"2025-04-10T14:21:31.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T15:53:38.128Z","etag":null,"topics":["aws","aws-eks","cloud-infrastructure","cloud-native","container-orchestration","devops","eks","infrastructure-as-code","kubernetes","kubernetes-cluster","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hs094.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-10T14:17:20.000Z","updated_at":"2025-04-10T14:24:21.000Z","dependencies_parsed_at":"2025-04-10T15:53:40.624Z","dependency_job_id":"4929443e-6602-4eee-85ac-959c8de1df1a","html_url":"https://github.com/hs094/AWS-EKS-Cluster-Infra-as-Code","commit_stats":null,"previous_names":["hs094/aws-eks-cluster-infra-as-code"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs094%2FAWS-EKS-Cluster-Infra-as-Code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs094%2FAWS-EKS-Cluster-Infra-as-Code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs094%2FAWS-EKS-Cluster-Infra-as-Code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hs094%2FAWS-EKS-Cluster-Infra-as-Code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hs094","download_url":"https://codeload.github.com/hs094/AWS-EKS-Cluster-Infra-as-Code/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248374346,"owners_count":21093310,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-eks","cloud-infrastructure","cloud-native","container-orchestration","devops","eks","infrastructure-as-code","kubernetes","kubernetes-cluster","terraform"],"created_at":"2025-04-11T10:26:42.164Z","updated_at":"2025-12-30T23:05:07.737Z","avatar_url":"https://github.com/hs094.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS EKS Cluster Terraform Project\n\nThis project contains Terraform configuration to deploy an Amazon EKS (Elastic Kubernetes Service) cluster on AWS. It sets up the necessary infrastructure including VPC, subnets, and node groups to run a Kubernetes cluster.\n\n## Architecture\n\nThe project creates the following resources:\n\n- **VPC**: A dedicated VPC for the EKS cluster\n- **Subnets**: Public subnets across multiple availability zones\n- **EKS Cluster**: Kubernetes control plane managed by AWS\n- **EKS Node Group**: Worker nodes that run your Kubernetes applications\n- **IAM Roles and Policies**: Necessary permissions for the cluster and nodes\n- **Security Groups**: Network security rules for the cluster and nodes\n\n## Prerequisites\n\nBefore you begin, ensure you have:\n\n1. [Terraform](https://www.terraform.io/downloads.html) installed (version 1.0.0 or newer)\n2. [AWS CLI](https://aws.amazon.com/cli/) installed and configured with appropriate credentials\n3. [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) (optional, for interacting with the cluster)\n\n## Configuration\n\nThe main configuration files are:\n\n- `main.tf`: Contains the main Terraform configuration for the EKS cluster and VPC\n- `variables.tf`: Defines input variables for the configuration\n- `output.tf`: Defines output values that are displayed after applying the configuration\n\n## Usage\n\n### Initialize Terraform\n\n```bash\nterraform init\n```\n\n### Preview Changes\n\n```bash\nterraform plan\n```\n\n### Apply Changes\n\n```bash\nterraform apply\n```\n\nWhen prompted, type `yes` to confirm the creation of resources.\n\n### Configure kubectl\n\nAfter the cluster is created, you can configure kubectl to interact with your cluster:\n\n```bash\naws eks update-kubeconfig --region $(terraform output -raw region) --name $(terraform output -raw cluster_name)\n```\n\n### Destroy Resources\n\nWhen you're done with the cluster, you can destroy all resources:\n\n```bash\nterraform destroy\n```\n\n## Customization\n\nYou can customize the deployment by modifying the following variables:\n\n- `region`: AWS region to deploy the cluster (default: us-east-1)\n- Edit `main.tf` to change:\n  - Cluster name\n  - Kubernetes version\n  - Node instance types\n  - Node group size\n  - VPC CIDR and subnet configuration\n\n## Security Considerations\n\nThis configuration creates a public EKS cluster with nodes in public subnets. For production environments, consider:\n\n1. Adding private subnets and placing nodes there\n2. Adding NAT gateways for outbound connectivity\n3. Restricting cluster endpoint access with CIDR blocks\n4. Using larger instance types for production workloads\n5. Implementing additional security controls\n\n## Troubleshooting\n\nIf you encounter issues:\n\n1. Ensure your AWS credentials are correctly configured\n2. Check that you have sufficient permissions to create all required resources\n3. Verify that your AWS region supports EKS\n4. Review the Terraform and AWS provider versions\n\n## License\n\nSee the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhs094%2Faws-eks-cluster-infra-as-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhs094%2Faws-eks-cluster-infra-as-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhs094%2Faws-eks-cluster-infra-as-code/lists"}