Table of Contents |
---|
Limits and price
...
https://aws.amazon.com/elasticloadbalancing/pricing/?nc1=h_ls
Load Balancer | Price | LCU |
---|---|---|
Application | 0,0225 USD | 0,008 USD for Hour |
Network | 0.0225 USD | 0,006 USD for Hour |
Classic | 0.0225 USD | 0,008 USD for Gb |
Your AWS account has the following quotas related to Application Load Balancers.
https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-limits.html
Name | Default | Adjustable |
---|---|---|
Application Load Balancers per Region | 50 | Yes |
Certificates per Application Load Balancer (excluding default certificates) | 25 | Yes |
Listeners per Application Load Balancer | 50 | Yes |
Number of times a target can be registered per Application Load Balancer | 1,000 | No |
Target Groups per Action per Application Load Balancer | 5 | No |
Target Groups per Application Load Balancer | 100 | No |
Targets per Application Load Balancer | 1,000 | Yes |
The following quotas are for rules.
Name | Default | Adjustable |
---|---|---|
Rules per Application Load Balancer (excluding default rules) | 100 | Yes |
Condition Values per Rule | 5 | No |
Condition Wildcards per Rule | 5 | No |
Match evaluations per rule | 5 | No |
...
How we add data to it https://github.com/folio-org/pipelines-shared-library/blob/80b63af619da71ab8ada14eb5e074bfd3bbf4ebd/vars/helm.groovy
config[(module_name)]['ingress']['hosts'][0] += [host: domain]
Create load balancer add rules to it
...
Attach service to specific load balancer via group.
config[(module_name)]['ingress']['annotations'] += ['alb.ingress.kubernetes.io/group.name': "${project_config.getClusterName()}.${project_config.getProjectName()}"]
decrease alb
Drawio | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
use only one static name for alb.ingress.kubernetes.io/group.name it allow to don't create a new alb for each namespace
config[(module_name)]['ingress']['annotations'] += ['alb.ingress.kubernetes.io/group.name': "${project_config.getClusterName()}.${project_config.getProjectName()}"]
Rules will be the same as current because we don't touch the Router53 records that has been creating by EKS .
...
For it we need to add into our ingress more http and modify the records.
For create internal load balancer in Kubernetes need to change value of next parameter to nginx
kubernetes.io/ingress.class: alb
and prepare the rihgt routing to different services.
Conclusion
We have about 15 alb on dev env.
...