Aws Elb
DodaTech
2 min read
title: "Cum să configurezi load balancing cu ELB în AWS — Ghid rapid" description: "Creare Application Load Balancer, configurare target group, reguli de rutare și health check în AWS" weight: 906 date: 2025-01-15 draft: false tags: [aws, elb, alb, load-balancing, quick-fix]
Elastic Load Balancing (ELB) distribuie automat traficul de intrare între multiple instanțe EC2, containere sau adrese IP, asigurând disponibilitate ridicată și toleranță la erori pentru aplicațiile tale.
Problema
Cu o singură instanță EC2, orice cădere a serverului sau sarcină mare duce la downtime sau degradare. Fără un load balancer, trebuie să gestionezi manual DNS-ul pentru failover și distribuirea traficului.
Abordarea Greșită
# Un singur server, tot traficul într-o singură instanță
aws ec2 run-instances --image-id ami-xxx --instance-type t2.micro
# Dacă instanța cade, site-ul e offline
Abordarea Corectă
Creează un Application Load Balancer:
# Creare target group
aws elbv2 create-target-group \
--name tg-web \
--protocol HTTP \
--port 80 \
--vpc-id vpc-12345 \
--health-check-path /health \
--health-check-interval-seconds 30
# Înregistrare target-uri
aws elbv2 register-targets \
--target-group-arn arn:aws:elasticloadbalancing:...:targetgroup/tg-web/abc \
--targets Id=i-0abcd1234efgh5678 Id=i-0efgh5678ijkl9012
# Creare ALB
aws elbv2 create-load-balancer \
--name alb-web \
--subnets subnet-public-1 subnet-public-2 \
--security-groups sg-12345678 \
--scheme internet-facing
# Creare listener
aws elbv2 create-listener \
--load-balancer-arn arn:aws:elasticloadbalancing:...:loadbalancer/app/alb-web/abc \
--protocol HTTP --port 80 \
--default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:...:targetgroup/tg-web/abc
Output:
{
"LoadBalancers": [{
"DNSName": "alb-web-1234567890.us-east-1.elb.amazonaws.com",
"State": {"Code": "active"}
}]
}
Reguli de Rutare
# Regulă bazată pe cale (/api -> target group API)
aws elbv2 create-rule \
--listener-arn arn:aws:elasticloadbalancing:...:listener/app/alb-web/abc/def \
--priority 10 \
--conditions Field=path-pattern,Values=['/api/*'] \
--actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:...:targetgroup/tg-api/xyz
Greșeli Comune
- Health check incorect — calea sau codul de stare HTTP greșit marchează instanțele ca unhealthy.
- Fără stickiness sessions — aplicațiile cu stare (cart, login) au nevoie de stickiness activat.
- Subnete în aceeași AZ — pentru redundanță, target-urile trebuie să fie în minim 2 AZ-uri.
- Idle timeout prea mic — aplicațiile cu upload-uri mari timeout-ează; crește idle timeout la 300s+.
- Certificat SSL neconfigurat — pentru HTTPS, asociază un certificat ACM la listener.
FAQ
Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. DodaTech integrează securitatea în fiecare soluție cloud.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro