0Pricing
Azure Fundamentals · Ders

Otomatik Ölçeklendirme ve Özel Etki Alanları

CPU ve HTTP kuyruğu ölçümlerine dayalı ölçek genişletme kurallarını yapılandırın, web uygulamanıza özel bir etki alanı eşleyin ve ücretsiz App Service Yönetilen Sertifikası bağlayın.

Otomatik Ölçeklendirme ve Özel Etki Alanları, CoddyKit'te ücretsiz bir Azure Fundamentals dersidir. Bu, 4 dersinin 3. 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, Azure Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Azure Fundamentals kursu toplamda 4 dersten oluşur.

Otomatik Ölçeklendirme Neden Önemlidir

Otomatik ölçeklendirme, uygulamanızı çalıştıran App Service örneklerinin sayısını gerçek zamanlı talebe göre otomatik olarak ayarlar. Otomatik ölçeklendirme olmadan en yüksek yük için kapasite ayırmanız ve yoğun olmayan saatlerde kullanılmayan kapasite için ödeme yapmanız gerekir. Otomatik ölçeklendirmeyle Azure, yük arttığında örnekler ekler ve azaldığında bunları kaldırır; böylece hem performansı hem de maliyeti en iyi duruma getirir. Otomatik ölçeklendirme için Standard katmanı veya üzeri gerekir.

Yatay Ölçeklendirme ve Yukarı Doğru Ölçeklendirme

Azure iki ölçeklendirme boyutu sunar. Yatay ölçeklendirme (yatay ölçekleme), yükü paylaşmaları için uygulamanızın aynı özelliklere sahip daha fazla örneğini ekler; otomatik ölçeklendirmenin temel olarak yaptığı işlem budur. Yukarı doğru ölçeklendirme (dikey ölçekleme), App Service planı SKU'sunu değiştirerek daha fazla CPU ve RAM içeren daha büyük bir VM boyutuna geçer. Birden çok örnek tek tek oluşan arızalara dayanabildiğinden dayanıklılık için yatay ölçeklendirme tercih edilir; yukarı doğru ölçeklendirmenin donanım sınırları vardır.

# Scale out to 5 instances manually
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --number-of-workers 5

# Scale up: change the SKU tier
az appservice plan update \
  --name MyAppServicePlan \
  --resource-group MyRG \
  --sku P2V3

Otomatik Ölçeklendirme Kuralları ve Profilleri

Azure'da otomatik ölçeklendirme, bir App Service planına eklenen otomatik ölçeklendirme ayarları aracılığıyla yapılandırılır. Bir otomatik ölçeklendirme ayarı, her biri kurallar içeren bir veya daha fazla profil (normal, sabit tarihli, yinelenen) içerir. Bir ölçüm eşiği aştığında (ör. CPU > %70) yatay ölçeklendirme kuralı tetiklenir; daha düşük bir eşik değerinin altına düştüğünde (ör. CPU < %30) yatay küçültme kuralı tetiklenir. Kontrolsüz büyümeyi veya aşırı maliyeti önlemek için her zaman hem yatay ölçeklendirme hem de yatay küçültme kurallarını tanımlayın.

# Create an autoscale setting with CPU-based rules
az monitor autoscale create \
  --name MyAutoscale \
  --resource-group MyRG \
  --resource MyAppServicePlan \
  --resource-type Microsoft.Web/serverfarms \
  --min-count 2 \
  --max-count 10 \
  --count 2

# Add scale-out rule: CPU > 70% for 5 minutes
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'CpuPercentage > 70 avg 5m'

Zamanlamaya Dayalı Otomatik Ölçeklendirme

Zamanlamaya dayalı otomatik ölçeklendirme (yinelenen profiller), öngörülebilir trafik düzenleri için önceden ölçeklendirme yapmanıza olanak tanır. Örneğin her WeekdayPeak günü 08:00'de 10 örneğe yatay olarak ölçeklendirin ve 18:00'de 2 örneğe geri dönün. Zamanlamaya dayalı ve ölçüme dayalı profilleri birleştirmek her iki yaklaşımın avantajını sağlar: bilinen yoğunluklar için önceden ölçeklendirilmiş kapasite ve beklenmeyen ani artışlara esnek yanıt.

# Add a recurrence profile for weekday peak hours
az monitor autoscale profile create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --name 'WeekdayPeak' \
  --min-count 5 \
  --max-count 15 \
  --count 5 \
  --recurrence week mon tue wed thu fri \
  --start 08:00 \
  --end 18:00 \
  --timezone 'UTC'

Bekleme Süreleri

Bekleme süresi, bir ölçeklendirme işleminden sonra başka bir ölçeklendirme işleminin gerçekleşmediği gecikme süresidir. Geçici ölçüm artışlarının tetiklediği hızlı ve tekrarlanan yatay ölçeklendirme veya yatay küçültme işlemlerini önleyerek kararsız ölçeklendirmeyi engeller. Varsayılan bekleme süresi hem yatay ölçeklendirme hem de yatay küçültme için 5 dakikadır. Etkin bağlantıların kaldırılmadan önce sonlandırılması için örneklere zaman tanımak amacıyla yatay küçültme için daha uzun bir bekleme süresi (ör. 10-15 dakika) belirleyin.

# Scale-in rule with 10-minute cooldown
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'CpuPercentage < 30 avg 10m' \
  --cooldown 10

Özel Etki Alanı Yapılandırma

App Service uygulamaları varsayılan olarak azurewebsites.net ana bilgisayar adını alır. Kendi etki alanınızı kullanmak için (ör. www.contoso.com) App Service ayarlarına bir özel etki alanı ekleyin ve etki alanı kayıt kuruluşunuzda karşılık gelen DNS kayıtlarını oluşturun. DNS bölgenizde bir CNAME veya TXT kaydı (doğrulama kaydı olarak adlandırılır) oluşturarak sahipliğinizi kanıtlamanız, ardından gerçek yönlendirme CNAME veya A kaydını oluşturmanız gerekir.

# DNS records at your registrar:
# CNAME  www           MyUniqueWebApp.azurewebsites.net
# TXT    asuid.www     <verification_id from Azure portal>

# After DNS propagation, add the custom domain in Azure
az webapp config hostname add \
  --webapp-name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

Özel Etki Alanları için TLS Sertifikaları

Özel bir etki alanı eşlendikten sonra HTTPS'yi etkinleştirmek için bir TLS sertifikasına ihtiyacınız olur. App Service üç seçenek sunar: App Service Managed Certificate (ücretsiz, otomatik yenilenir ve standart etki alanlarıyla sınırlıdır), App Service Certificate (Azure üzerinden satın alınır ve Key Vault'ta depolanır) veya üçüncü taraf sertifika yükleme (Let's Encrypt ya da bir CA tarafından sağlanan kendi sertifikanız). Yalnızca HTTPS modu, tüm HTTP trafiğini otomatik olarak HTTPS'ye yönlendirir.

# Create a free App Service Managed Certificate
az webapp config ssl create \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --hostname www.contoso.com

# Bind the certificate to enforce HTTPS
az webapp config ssl bind \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --certificate-thumbprint <THUMBPRINT> \
  --ssl-type SNI

# Enforce HTTPS only
az webapp update \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --https-only true

Otomatik Ölçeklendirme için HTTP Kuyruğu Ölçümleri

CPU yaygın bir otomatik ölçeklendirme ölçümü olsa da HTTP kuyruk uzunluğu web uygulamaları için çoğu zaman daha iyi bir göstergedir. Kuyruk uzunluğu yüksek olduğunda, örnekler tamamen meşgul olduğu için yeni istekler bekler. HttpQueueLength temelinde ölçeklendirme, CPU kullanıcıya yansıyan gecikmeyi zorunlu olarak göstermeden değişebildiğinden, aşırı yükü CPU'ya kıyasla daha hızlı algılar. Güvenilir bir otomatik ölçeklendirme davranışı için her iki ölçümü birlikte kullanın.

# Scale out when HTTP queue length exceeds 100
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale out 2 \
  --condition 'HttpQueueLength > 100 avg 1m' \
  --cooldown 5

# Scale in when queue drops below 10
az monitor autoscale rule create \
  --autoscale-name MyAutoscale \
  --resource-group MyRG \
  --scale in 1 \
  --condition 'HttpQueueLength < 10 avg 10m' \
  --cooldown 10

Otomatik Ölçeklendirme Bildirimleri

Ölçeklendirme olayları gerçekleştiğinde e-posta veya web kancası uyarıları almak için otomatik ölçeklendirme bildirimlerini yapılandırın. Bu, ekiplerin trafik düzenlerini anlamasına ve otomatik ölçeklendirmenin beklendiği gibi çalıştığını doğrulamasına yardımcı olur. Bildirimler, otomatik ölçeklendirme ayarının bildirimler bölümünde yapılandırılır ve birden çok e-posta adresini ve web kancası uç noktasını hedefleyebilir (Slack, PagerDuty veya özel araçlarla tümleştirme için).

# Add email notification to autoscale setting
az monitor autoscale update \
  --name MyAutoscale \
  --resource-group MyRG \
  --add-condition '{"email": {"sendToSubscriptionAdministrator": true, "customEmails": ["ops@contoso.com"]}, "webhooks": []}'

Kök Etki Alanları ve Trafik Manager

Bir kök etki alanını (örneğin, www içermeyen contoso.com) App Service'e eşlemek için App Service IP adresini gösteren bir A kaydı ve bir TXT doğrulama kaydı gerekir. App Service IP adresleri değişebileceğinden Microsoft, aracı olarak Azure Trafik Manager veya Azure Front Door kullanılmasını önerir — kök etki alanının CNAME eşdeğeri olan (ALIAS/ANAME kaydı), Trafik Manager profilini gösterir; profil de trafiği App Service'e yönlendirir.

# Get the App Service inbound IP (for A record)
az webapp show \
  --name MyUniqueWebApp \
  --resource-group MyRG \
  --query 'inboundIpAddress' -o tsv

# DNS at registrar (apex domain with A record approach)
# A      contoso.com     <inboundIpAddress>
# TXT    asuid           <verification_id>

Otomatik Ölçeklendirme Davranışını Test Etme

Otomatik ölçeklendirmeyi yapılandırdıktan sonra yapay yük oluşturarak doğru çalıştığını test edin. Eşzamanlı kullanıcıları benzetmek için Apache JMeter, k6 veya Azure Load Testing gibi araçları kullanın. Yük arttığında örnek sayısının arttığını, yük azaldığında ise düştüğünü doğrulamak için Azure Monitor'da App Service planının örnek sayısı ölçümünü izleyin. Ölçeklendirme eşiklerinizi doğrulamak için her örnekte gözlemlenen RPS'yi (saniye başına istek) belgeleyin.

# Run a quick load test with curl (basic)
for i in {1..100}; do curl -o /dev/null -s https://www.contoso.com/health & done
wait

# Monitor current instance count
az monitor metrics list \
  --resource '/subscriptions/.../providers/Microsoft.Web/serverfarms/MyAppServicePlan' \
  --metric 'InstanceCount' \
  --interval PT1M

Hızlı Kontrol

Bu dersteki Microsoft Azure Fundamentals (AZ-900) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: App Service planlarındaki otomatik ölçeklendirme kuralları, CPU, HTTP kuyruğu veya zamanlama tetikleyicilerine göre örnek ekler ya da kaldırır; özel etki alanları, DNS bölgenizde DNS CNAME/A kayıtlarının yanı sıra bir TXT doğrulama kaydı gerektirir; TLS sertifikaları (ücretsiz yönetilen sertifikalar dahil), özel etki alanlarında HTTPS'yi etkinleştirir. Sırada App Service kimlik doğrulamasını ve ağ oluşturmayı inceleyeceğiz.

Sıkça Sorulan Sorular

“Otomatik Ölçeklendirme ve Özel Etki Alanları” dersi ücretsiz mi?

Evet — “Otomatik Ölçeklendirme ve Özel Etki Alanları” 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 Azure Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Azure Fundamentals kursu toplamda 4 dersten oluşur.

“Otomatik Ölçeklendirme ve Özel Etki Alanları” dersinde ne öğreneceğim?

CPU ve HTTP kuyruğu ölçümlerine dayalı ölçek genişletme kurallarını yapılandırın, web uygulamanıza özel bir etki alanı eşleyin ve ücretsiz App Service Yönetilen Sertifikası bağlayın. Azure Fundamentals 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.

Azure Fundamentals öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Azure Fundamentals, 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 3. dersidir.

“Otomatik Ölçeklendirme ve Özel Etki Alanları” 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 Azure Fundamentals dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Azure Fundamentals 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

  1. App Service Planı ve Web Uygulaması Oluşturma
  2. Dağıtım Yuvaları ve Geçiş
  3. Otomatik Ölçeklendirme ve Özel Etki Alanları
  4. App Service Kimlik Doğrulama ve Ağ Oluşturma
← Azure Fundamentals Sayfasına Dön