SSL Sonlandırma ve Yapışkan Oturumlar
ACM sertifikalarını kullanarak yük dengeleyicide TLS'yi sonlandıracak ve durum bilgisi tutan iş yükleri istemci bağlılığı gerektirdiğinde yapışkan oturumları etkinleştireceksiniz.
SSL Sonlandırma ve Yapışkan Oturumlar, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
Yük Dengeleyicide SSL/TLS Sonlandırma
SSL/TLS sonlandırma, yük dengeleyicinin gelen HTTPS trafiğinin şifresini çözmesi, düz metin HTTP isteğini (yönlendirme kararları için) incelemesi ve ardından isteği arka uca iletmeden önce isteği isteğe bağlı olarak yeniden şifrelemesi anlamına gelir. Sonlandırma ALB üzerinde gerçekleştiğinde uygulama sunucularınız, yük dengeleyiciden şifrelenmemiş HTTP trafiği alabilir; bu da arka uç yapılandırmasını basitleştirir.
Yük dengeleyicide sonlandırma, uygulama sunucularındaki CPU yükünü azaltır (bağlantı başına TLS el sıkışması gerekmez), içerik tabanlı yönlendirmeyi (HTTP üst bilgilerinin okunmasını gerektirir) mümkün kılar ve sertifika yönetimini merkezileştirir.
AWS Certificate Manager (ACM) Entegrasyonu
AWS Certificate Manager (ACM), SSL/TLS sertifikalarını ek ücret olmadan oluşturur, yönetir ve yeniler. ALB ve NLB, ACM ile doğrudan tümleşir: HTTPS dinleyici yapılandırmasında bir ACM sertifikası seçersiniz ve yük dengeleyici bu sertifikayı bağlanan istemcilere sunar.
ACM sertifikaları, süreleri dolmadan önce otomatik olarak yenilenir; manuel yenileme gerekmez ve süresi dolan sertifikalar nedeniyle kesinti yaşanmaz. Genel sertifikalarda ACM, alan adı sahipliğini DNS doğrulaması (Route 53'te CNAME kaydı) veya e-posta doğrulamasıyla doğrular. Dahili kullanım için ACM Private CA, özel sertifikalar oluşturabilir.
# Request a public certificate in ACM
aws acm request-certificate \
--domain-name api.example.com \
--subject-alternative-names '*.example.com' \
--validation-method DNS \
--region us-east-1
# Create an HTTPS listener using the ACM certificate
aws elbv2 create-listener \
--load-balancer-arn arn:aws:elasticloadbalancing:us-east-1:123456789:loadbalancer/app/my-alb/abc \
--protocol HTTPS \
--port 443 \
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
--certificates CertificateArn=arn:aws:acm:us-east-1:123456789:certificate/cert-id \
--default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-tg/xyzServer Name Indication (SNI)
SNI (Server Name Indication), tek bir IP adresinin (dolayısıyla tek bir ALB veya NLB dinleyicisinin) farklı alan adları için birden çok TLS sertifikası sunmasını sağlayan bir TLS uzantısıdır. İstemci, ulaşmaya çalıştığı ana makine adını TLS ClientHello iletisinin içine ekler ve yük dengeleyici uygun sertifikayı seçer.
ALB, SNI'yi yerel olarak destekler: tek bir HTTPS dinleyicisine birden çok ACM sertifikası ekleyebilirsiniz. ALB, istemcinin SNI ana makine adına göre doğru sertifikayı otomatik olarak seçer. Böylece her alan adı için ayrı bir dinleyici veya yük dengeleyici kullanma gereği ortadan kalkar ve SSL ile gerçek sanal barındırma mümkün olur.
# Add a second certificate to an existing HTTPS listener (SNI)
aws elbv2 add-listener-certificates \
--listener-arn arn:aws:elasticloadbalancing:us-east-1:123456789:listener/app/my-alb/abc/lis456 \
--certificates CertificateArn=arn:aws:acm:us-east-1:123456789:certificate/second-cert-idSSL Güvenlik İlkeleri
ALB ve NLB, yük dengeleyicinin istemcilerden kabul ettiği TLS protokol sürümlerini ve şifre paketlerini denetleyen yapılandırılabilir SSL güvenlik ilkelerini destekler. AWS, yeni güvenlik açıkları keşfedildikçe güncellenen önceden tanımlı ilkeler (ör. ELBSecurityPolicy-TLS13-1-2-2021-06) sağlar.
Uyumluluk gereksinimleri belirli TLS sürümlerini zorunlu kılabilir: PCI-DSS 3.2.1, en az TLS 1.2 gerektirir; birçok modern standart TLS 1.0 ve 1.1'in tamamen devre dışı bırakılmasını önerir. Kullanımdan kaldırılmış protokolleri ve zayıf şifre paketlerini dışlayan bir ilke kullanın. İleriye dönük gizlilik ve performans için TLS 1.3 içeren ilkeleri tercih edin.
# List available SSL policies
aws elbv2 describe-ssl-policies \
--query 'SslPolicies[*].{Name:Name,TLSVersions:SslProtocols}' \
--output tableUçtan Uca Şifreleme ve Sonlandırma Karşılaştırması
ALB üzerinde iki farklı TLS yaklaşımı vardır:
- SSL sonlandırma (en yaygın): ALB, yük dengeleyicide şifreyi çözer ve hedeflere düz HTTP iletir. Basittir, yönlendirme amacıyla inceleme yapılmasını sağlar ve sunucunun CPU yükünü azaltır. Arka uç trafiği VPC içinde şifrelenmez.
- Uçtan uca TLS: ALB, şifreyi çözer ve hedeflere iletmeden önce yeniden şifreler (ALB ile hedef arasında HTTPS). CPU kullanımı daha yüksektir ve hedeflerde sertifika bulunmasını gerektirir; ancak sıkı uyumluluk senaryolarında VPC içindeki şifrelemeyi de sağlar.
NLB'nin TLS geçişi modunda NLB şifreyi hiç çözmez; ham TCP'yi TLS'yi yöneten hedefe iletir. Uygulama sunucusu kendi sertifikasını yönetir.
Yapışkan Oturumlar: Nedir ve Neden Kullanılır?
Yapışkan oturumlar (oturum bağlılığı olarak da adlandırılır), aynı istemciden gelen tüm isteklerin bir hedef grubu içindeki aynı hedefe tutarlı biçimde yönlendirilmesini sağlar. Bu özellik, oturum verilerini paylaşılan bir önbellekte (ElastiCache gibi) değil, tek tek sunucuların belleğinde depolayan durum bilgili uygulamalar için gereklidir.
Yapışkan oturumlar olmadan durum bilgisi tutmayan bir yük dengeleyici, 1. isteği oturumu depolayan A sunucusuna, 2. isteği ise oturum verisi bulunmayan B sunucusuna gönderebilir. Bu durum, kullanıcının oturumu kapatılmış gibi görünmesine veya alışveriş sepeti içeriğini kaybetmesine yol açar. Yapışkan oturumlar, istemciyi oturum süresi boyunca belirli bir hedefe bağlar.
ALB'de Çerez Tabanlı Yapışkanlık
ALB, yapışkan oturum çerezlerinin iki türünü destekler:
- Süre tabanlı yapışkanlık (LB tarafından oluşturulan çerez): ALB,
AWSALBadlı bir çerez oluşturur (ALB için) ve sona erme süresini belirler. Çerez, hedefe yönelik şifrelenmiş bir başvuru içerir. İstemci, sonraki isteklerde bu çerezi gönderir. - Uygulama tabanlı yapışkanlık: uygulamanız tarafından ayarlanan mevcut bir çerezi kullanır. ALB, belirttiğiniz çerez adını okur, kendi çerezinde bunun şifrelenmiş bir sürümünü oluşturur ve özgün uygulama çerezini korurken yapışkan yönlendirme için bu sürümü kullanır.
Yapışkanlığı hedef grubu başına, 1 saniye ile 7 gün arasında bir süre belirleyerek yapılandırın.
# Enable duration-based sticky sessions on a target group
aws elbv2 modify-target-group-attributes \
--target-group-arn arn:aws:elasticloadbalancing:us-east-1:123456789:targetgroup/my-tg/xyz \
--attributes \
Key=stickiness.enabled,Value=true \
Key=stickiness.type,Value=lb_cookie \
Key=stickiness.lb_cookie.duration_seconds,Value=86400Yapışkan Oturumların Dezavantajları
Yapışkan oturumlar durum bilgili uygulama sorununu çözse de bazı ödünleşimler getirir:
- Dengesiz yük dağılımı: bazı istemciler olağan dışı derecede etkinse bazı hedefler daha fazla trafik alabilir ve bu da yük dengelemenin amacını boşa çıkarır
- Ölçeklendirme sınırlamaları: yapışkan bir hedef sağlıksız duruma gelirse oturumlar kopar; istemci yeni bir hedefle yeni bir oturum başlatmak zorunda kalır ve bellekteki oturum verilerini kaybeder
- Azalan esneklik: yapışkan oturumlar, ölçek azaltma işlemleri sırasında örneklerin bağlantılarının boşaltılmasını ve sonlandırılmasını zorlaştırır
En iyi uygulama: oturum durumunu ElastiCache veya DynamoDB hizmetine dışsallaştırarak yapışkan oturum ihtiyacını ortadan kaldırın. Bu, uygulamanızı gerçekten durum bilgisi tutmayan bir yapıya dönüştürür ve tam yatay ölçeklendirme sağlar.
NLB TLS Dinleyicisi ve Geçiş
NLB, ALB'ye benzer şekilde sonlandırma için 443 numaralı bağlantı noktasında (veya herhangi bir bağlantı noktasında) TLS dinleyicilerini destekler. NLB, trafiğin şifresini çözer, isteğe bağlı olarak yeniden şifreler ve hedeflere iletir. Alternatif olarak NLB, bir TCP dinleyicisi yapılandırırsanız şifrelenmiş TCP trafiğini şifresini çözmeden geçirebilir; bu modda TLS'yi uçtan uca uygulama sunucusu yönetir.
ACM ile NLB TLS sonlandırması, ALB ile aynı sertifika yönetimi avantajlarını sağlar ancak HTTP katmanı özelliklerini sunmaz. Statik IP'lerle TLS sonlandırmasına ihtiyaç duyduğunuzda veya arka uç protokolünüz HTTP olmadığında (ör. özel bir TCP protokolü) NLB TLS sonlandırmasını kullanın.
Bağlantı Boşaltma ile Yapışkan Oturumların Etkileşimi
Yapışkan bir hedef kaydı silindiğinde (ör. Auto Scaling ölçek azaltma işlemi sırasında), bağlantı boşaltma işlemi devam eden isteklerin tamamlanmasını sağlar. Ancak hâlâ boşaltılan hedefe ait AWSALB çerezini taşıyan yapışkan istemcilerden gelen yeni istekler otomatik olarak yeni bir hedefe atanır; bu istemci için yapışkanlık çerezi geçersiz kılınır.
Kayıt silme gecikmesi ile çerez geçersiz kılma işleminin bu birleşimi, sorunsuz geçişler sağlar: mevcut uzun süreli istekler tamamlanırken bu istemcilerden gelen yeni istekler, son kullanıcıya hata gibi görünmeden sağlıklı hedeflere düzgün biçimde yeniden yönlendirilir.
SSL ve Oturum Yönetimi için En İyi Uygulamalar
Sınav açısından önemli en iyi uygulamalar:
- Otomatik yenileme için ACM sertifikalarını kullanın; yük dengeleyicilerde sertifikaları hiçbir zaman manuel olarak yönetmeyin
- TLS 1.2+ güvenlik ilkelerini kullanın; PCI/HIPAA uyumluluğu için TLS 1.0/1.1'i devre dışı bırakın
- Yapışkan oturumlar yerine durum bilgisi tutmayan mimarileri (oturum ElastiCache/DynamoDB'de) tercih edin
- Ayrı yük dengeleyicilerde birden çok sertifika kullanmadan tek bir dinleyiciden birden çok alan adı sunmak için ALB üzerinde SNI kullanın
- Sıkı uyumluluk için (VPC'deki verilerin şifrelenmesi gerekiyorsa) yalnızca yük dengeleyicide sonlandırma kullanmayın; uçtan uca TLS ile HTTPS hedef grupları kullanın
Hızlı Kontrol
Bu derste ele alınan AWS Solutions Architect (SAA-C03) kavramlarını anlayıp anlamadığınızı test edin.
Ders Özeti
Bu derste şunları öğrendiniz: ACM sertifikalarıyla ALB SSL/TLS sonlandırması, birden çok alan adı için otomatik yenileme ve SNI sağlar; SSL güvenlik ilkeleri, uyumluluk amacıyla TLS sürümünü ve şifre paketlerini denetler; yapışkan oturumlar, durum bilgili uygulamalarda kullanıcıları aynı hedefe yönlendirir, ancak oturum durumunu ElastiCache'e dışsallaştırmakla değiştirilmesi en iyi seçenektir. Sırada Auto Scaling Groups ve başlatma şablonlarını inceleyeceğiz.
Sıkça Sorulan Sorular
“SSL Sonlandırma ve Yapışkan Oturumlar” dersi ücretsiz mi?
Evet — “SSL Sonlandırma ve Yapışkan Oturumlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“SSL Sonlandırma ve Yapışkan Oturumlar” dersinde ne öğreneceğim?
ACM sertifikalarını kullanarak yük dengeleyicide TLS'yi sonlandıracak ve durum bilgisi tutan iş yükleri istemci bağlılığı gerektirdiğinde yapışkan oturumları etkinleştireceksiniz. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“SSL Sonlandırma ve Yapışkan Oturumlar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- ALB ve NLB ve GLB: Hangisi Ne Zaman Kullanılır
- Hedef Grupları ve Sağlık Kontrolleri
- Dinleyici Kuralları ve Yol Tabanlı Yönlendirme
- SSL Sonlandırma ve Yapışkan Oturumlar