2025-01-20Hünkar Döner

EKS Üzerinde API Rate Limiting Çözümleri

APIRate LimitingEKSSecurity
E

EKS Üzerinde API Rate Limiting Çözümleri

API'lerinizi kötü niyetli kullanıcılardan veya hatalı yazılmış döngülerden korumak için Rate Limiting (Hız Sınırlama) şarttır. "Bir IP adresi dakikada en fazla 100 istek atabilsin" gibi kurallar tanımlamalısınız.

Amazon EKS üzerinde bunu yapmanın 3 yolu vardır:

1. AWS WAF (En Kolay)

EKS Ingress'inizin (ALB) önüne AWS WAF koyun.

  • Avantajı: Küme dışında çalışır, trafik podlarınıza gelmeden engellenir (Offloading).
  • Kural: "Rate-based rule" oluşturarak IP bazlı limit koyabilirsiniz.

2. Ingress Controller Seviyesi (NGINX / Envoy)

Ingress NGINX kullanıyorsanız, notasyonlarla limit koyabilirsiniz.

nginx.ingress.kubernetes.io/limit-rps: "5"

Bu yöntem basittir ancak dağıtık (distributed) değildir. Her pod kendi sayacını tutar.

3. API Gateway / Service Mesh (En Yetenekli)

Istio veya Envoy Gateway kullanarak çok gelişmiş kurallar yazabilirsiniz.

  • Kullanıcı ID'sine (JWT claim) göre limit.
  • Global (Redis destekli) limit sayacı.

Hangi yöntemi seçeceğiniz, korumanın nerede (Edge vs Pod) olmasını istediğinize bağlıdır.