Rehberler Uzun Okuma Alb

Otomatik ölçeklendirme kurun

ASG, ALB ve scaling policy.

11 Nisan 2026 21 dk okuma
Paylaş
X in

Giriş

Auto Scaling Group (ASG) EC2 instance sayısını talebe göre otomatik ayarlar. Application Load Balancer (ALB) trafiği sağlıklı instance'lara dağıtır.

Birlikte yüksek erişilebilirlik, fault tolerance ve maliyet optimizasyonu sağlarlar.

Bu rehberde ASG, launch template, ALB target group ve scaling policy yapılandırmasını ele alıyoruz.

Launch Template

Launch Template instance konfigürasyon şablonudur: AMI, instance type, SG, user data, IAM profile.

ASG launch template versiyonunu kullanır; rolling update ile yeni versiyona geçilir.

aws ec2 create-launch-template \
  --launch-template-name myapp-lt \
  --launch-template-data '{
    "ImageId": "ami-xxx",
    "InstanceType": "m7g.large",
    "SecurityGroupIds": ["sg-xxx"],
    "IamInstanceProfile": {"Name": "ec2-app-role"}
  }'

Auto Scaling Group

ASG min, max, desired capacity tanımlar. Çok AZ'de instance dağıtır. Health check ALB veya EC2 olabilir.

Instance refresh ile rolling AMI güncellemesi yapılır.

aws autoscaling create-auto-scaling-group \
  --auto-scaling-group-name myapp-asg \
  --launch-template LaunchTemplateName=myapp-lt \
  --min-size 2 --max-size 10 --desired-capacity 2 \
  --vpc-zone-identifier "subnet-aaa,subnet-bbb" \
  --target-group-arns arn:aws:elasticloadbalancing:...

Application Load Balancer

ALB Layer 7 HTTP/HTTPS yük dengeleme. Target group instance'ları kaydeder. Health check path ve interval tanımlanır.

Listener 443 SSL sertifikası (ACM) ile HTTPS sonlandırır.

aws elbv2 create-load-balancer \
  --name myapp-alb \
  --subnets subnet-aaa subnet-bbb \
  --security-groups sg-alb

# Health check: /health, interval 30s, healthy threshold 2

Scaling Policy

Target tracking: CPU %50 hedef. Step scaling: CPU eşiklerinde adım adım scale. Scheduled scaling: bilinen trafik paternleri.

Scale-in cooldown instance sonlandırma gecikmesi; flapping önler.

aws autoscaling put-scaling-policy \
  --auto-scaling-group-name myapp-asg \
  --policy-name cpu-target \
  --policy-type TargetTrackingScaling \
  --target-tracking-configuration '{
    "PredefinedMetricSpecification": {
      "PredefinedMetricType": "ASGAverageCPUUtilization"
    },
    "TargetValue": 50.0
  }'

Yüksek Erişilebilirlik

Min 2 instance, 2 AZ zorunlu üretim standardıdır. ALB unhealthy instance'ı devre dışı bırakır.

Multi-AZ RDS ve ElastiCache ile tam stack HA.

Desired capacity'yi manuel değiştirmeyin; scaling policy yönetsin.

İzleme ve Maliyet

CloudWatch ASG metrikleri: GroupDesiredCapacity, GroupInServiceInstances. Alarm ile scale tetiklenir.

Gece min-size düşürme scheduled action ile maliyet düşürülür (dev/staging).

  1. Launch template versiyonla
  2. ALB health check
  3. Target tracking policy
  4. Çok AZ
  5. Instance refresh planı

Sonuç

ASG + ALB modern EC2 deployment'ın omurgasıdır. Launch template, target tracking ve çok AZ ile elastik ve dayanıklı mimari kurun.

Scaling policy'leri load test ile doğrulayın; flapping ve lag'i izleyin.