{"id":37824189,"url":"https://github.com/quortex/terraform-aws-load-balancer","last_synced_at":"2026-01-16T15:44:14.106Z","repository":{"id":42627878,"uuid":"257628301","full_name":"quortex/terraform-aws-load-balancer","owner":"quortex","description":"A terraform module for Quortex infrastructure AWS load balancing layer.","archived":false,"fork":false,"pushed_at":"2025-03-13T10:44:47.000Z","size":96,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-13T11:33:55.628Z","etag":null,"topics":["aws","terraform"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quortex.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}},"created_at":"2020-04-21T14:50:39.000Z","updated_at":"2024-10-10T16:06:51.000Z","dependencies_parsed_at":"2024-02-19T16:43:21.392Z","dependency_job_id":"381afaec-97c2-4f66-b91a-4d0bc171d21b","html_url":"https://github.com/quortex/terraform-aws-load-balancer","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/quortex/terraform-aws-load-balancer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-load-balancer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-load-balancer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-load-balancer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-load-balancer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quortex","download_url":"https://codeload.github.com/quortex/terraform-aws-load-balancer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-load-balancer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","terraform"],"created_at":"2026-01-16T15:44:13.647Z","updated_at":"2026-01-16T15:44:14.093Z","avatar_url":"https://github.com/quortex.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Quortex][logo]](https://quortex.io)\n\n# terraform-aws-load-balancer\n\nA terraform module for Quortex infrastructure AWS load balancing layer.\n\nIt provides a set of resources necessary to provision the load balancing and DNS configuration of the Quortex infrastructure on Amazon AWS, via EKS.\n\n![infra_diagram]\n\nThis module is available on [Terraform Registry][registry_tf_aws-eks_load_balancer].\n\nGet all our terraform modules on [Terraform Registry][registry_tf_modules] or on [Github][github_tf_modules] !\n\n## Created resources\n\nThis module creates the following resources in AWS:\n\nFor external services (live stream):\n- an ALB, with listeners for HTTP (80) and HTTPS (443)\n- a security group for this ALB, open to 0.0.0.0/0 on 80 and 443\n- a target group, which port should be set to the Kubernetes service NodePort (can be empty during a first pass, and defined after the services are deployed inside the cluster)\n- DNS record aliases (api.\u003ccluster_name\u003e) for the ALB (created under an existing hosted zone)\n\nFor internal services with restricted access (api, grafana, weave…):\n- an ALB, with listeners for HTTP (80) and HTTPS (443)\n- a security group restricted to specified IPs on 80 and 443\n- a target group, which port should be set to the Kubernetes service NodePort (can be empty during a first pass, and defined after the services are deployed inside the cluster)\n- DNS record aliases (api.\u003ccluster_name\u003e, grafana.\u003ccluster_name\u003e...) for the ALB (created under an existing hosted zone)\n\nThe load balancers should be in the public subnets.\n\nThe following resources are also created, and are common to external and internal services:\n- rules are added to the cluster’s security group to allow the ALB to join the services’ NodePorts.\n- (optional) a TLS certificate, in AWS Certificate Manager, with the domain name “*.\u003ccluster_name\u003e.\u003chosted_zone\u003e”\n\nThe TLS certificate can be created by this module (it will be issued and validated in AWS Certificate Manager), or a certificate already existing in ACM can be specified.\n\n## Usage example\n\n```\n\nmodule \"load-balancer\" {\n  source = \"quortex/load-balancer/aws\"\n  \n  name                                    = \"quortexcluster\"\n\n  # values from the Quortex network module:\n  vpc_id                                  = module.network.vpc_id\n  subnet_ids                              = module.network.public_subnet_ids\n  access_cidr_blocks                      = module.network.vpc_cidr_block\n\n  # values from the Quortex cluster module:\n  cluster_security_group_id               = module.eks.cluster_security_group_id\n  load_balancer_autoscaling_group_names   = module.eks.autoscaling_group_names\n\n  # Load balancers backend configuration.\n  load_balancer_public_app_backend_ports  = [var.service_nodeport_public]\n  load_balancer_private_app_backend_ports = [var.service_nodeport_private]\n\n  # SSL configuration.\n  ssl_certificate_domain_name             = \"*.mydomain.com\"\n    \n  # DNS configuration.\n  dns_hosted_zone_id                      = var.hosted_zone_id\n  dns_records_public                      = { \n                                                live = \"live.domain\" \n                                            }\n  dns_records_private                     = {\n                                                api     = \"api.domain\"\n                                                grafana = \"grafana.domain\"\n                                                weave   = \"weave.domain\"\n                                            }\n\n  # A list of IP ranges to whitelist for private load balancer access.\n  load_balancer_private_whitelisted_ips   = [\"98.235.24.130/32\"]\n}\n\n```\n\n## Upgrading\n\nWhen upgrading an existing infrastructure from 1.6.0 to 1.7.0, the script migrate_terraform_security_group_rules.sh should be used to seamlessly migrate from inline security group rules to separate rule resources.\n\n\u003e **Warning**\n\u003e Upgrade from 4.0.0 to 5.0.0 is a breaking change. Replacement of aws_security_group_rule resources by aws_vpc_security_group_ingress_rule \u0026 aws_vpc_security_group_egress_rule can create conflicts and rules will be overwritten.\n\n---\n\n## Related Projects\n\nThis project is part of our terraform modules to provision a Quortex infrastructure for AWS.\n\nCheck out these related projects.\n\n- [terraform-aws-network][registry_tf_aws-eks_network] - A terraform module for Quortex infrastructure network layer.\n\n- [terraform-aws-eks-cluster][registry_tf_aws-eks_cluster] - A terraform module for Quortex infrastructure AWS cluster layer.\n\n- [terraform-aws-storage][registry_tf_aws-eks_storage] - A terraform module for Quortex infrastructure AWS persistent storage layer.\n\n## Help\n\n**Got a question?**\n\nFile a GitHub [issue](https://github.com/quortex/terraform-aws-load-balancer/issues) or send us an [email][email].\n\n\n  [logo]: https://storage.googleapis.com/quortex-assets/logo.webp\n  [infra_diagram]: https://storage.googleapis.com/quortex-assets/infra_aws_002.jpg\n\n  [email]: mailto:info@quortex.io\n\n  [registry_tf_modules]: https://registry.terraform.io/modules/quortex\n  [registry_tf_aws-eks_network]: https://registry.terraform.io/modules/quortex/network/aws\n  [registry_tf_aws-eks_cluster]: https://registry.terraform.io/modules/quortex/eks-cluster/aws\n  [registry_tf_aws-eks_load_balancer]: https://registry.terraform.io/modules/quortex/load-balancer/aws\n  [registry_tf_aws-eks_storage]: https://registry.terraform.io/modules/quortex/storage/aws\n  [github_tf_modules]: https://github.com/quortex?q=terraform-\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquortex%2Fterraform-aws-load-balancer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquortex%2Fterraform-aws-load-balancer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquortex%2Fterraform-aws-load-balancer/lists"}