Automatische Skalierung und benutzerdefinierte Domänen
Konfigurieren Sie Regeln für die horizontale Skalierung anhand von CPU- und HTTP-Warteschlangenmetriken, ordnen Sie Ihrer Web-App eine benutzerdefinierte Domäne zu und binden Sie ein kostenloses App Service Managed Certificate ein.
Automatische Skalierung und benutzerdefinierte Domänen ist eine kostenlose Azure Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Azure Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Azure Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Warum automatische Skalierung wichtig ist
Automatische Skalierung passt die Anzahl der ausgeführten App Service-Instanzen Ihrer Anwendung automatisch an die Nachfrage in Echtzeit an. Ohne automatische Skalierung müssen Sie Kapazitäten für Spitzenlasten bereitstellen und außerhalb der Spitzenzeiten für ungenutzte Kapazitäten bezahlen. Mit automatischer Skalierung fügt Azure bei steigender Auslastung Instanzen hinzu und entfernt sie bei sinkender Auslastung. Dadurch werden sowohl Leistung als auch Kosten optimiert. Für die automatische Skalierung ist mindestens die Standard-Ebene erforderlich.
Horizontales und vertikales Skalieren
Azure bietet zwei Skalierungsdimensionen. Beim horizontalen Skalieren (Scale-out) werden weitere identische Instanzen Ihrer App hinzugefügt, um die Last zu verteilen — dies ist die hauptsächliche Funktion der automatischen Skalierung. Beim vertikalen Skalieren (Scale-up) wechseln Sie durch Ändern der SKU des App Service-Plans zu einer größeren VM-Größe mit mehr CPU und RAM. Das horizontale Skalieren wird wegen seiner höheren Ausfallsicherheit bevorzugt, da mehrere Instanzen den Ausfall einzelner Instanzen überstehen können. Das vertikale Skalieren unterliegt hingegen Hardwaregrenzen.
# 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 P2V3Regeln und Profile für die automatische Skalierung
Die automatische Skalierung in Azure wird über Einstellungen für die automatische Skalierung konfiguriert, die einem App Service-Plan zugeordnet sind. Eine solche Einstellung enthält ein oder mehrere Profile (regulär, festes Datum, Wiederholung), die jeweils Regeln enthalten. Eine Regel zum horizontalen Skalieren wird ausgelöst, wenn eine Metrik einen Schwellenwert überschreitet (z. B. CPU > 70 %). Eine Regel zum Reduzieren der Instanzanzahl wird ausgelöst, wenn der Wert unter einen niedrigeren Schwellenwert fällt (z. B. CPU < 30 %). Definieren Sie immer Regeln für beide Richtungen, um unkontrolliertes Wachstum oder übermäßige Kosten zu vermeiden.
# 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'Zeitplanbasierte automatische Skalierung
Mit der zeitplanbasierten automatischen Skalierung (Wiederholungsprofilen) können Sie sich auf vorhersehbare Verkehrsmuster vorbereiten. Beispielsweise können Sie an jedem Wochentag um 08:00 Uhr auf 10 Instanzen skalieren und um 18:00 Uhr wieder auf 2 Instanzen zurückskalieren. Durch die Kombination zeitplan- und metrikbasierter Profile erhalten Sie das Beste aus beiden Ansätzen: vorab bereitgestellte Kapazität für bekannte Spitzen und eine elastische Reaktion auf unerwartete Lastspitzen.
# 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'Abkühlphasen
Eine Abkühlphase ist eine Verzögerung nach einer Skalierungsaktion, während der keine weitere Skalierung stattfindet. Sie verhindert ein sogenanntes Flattern — schnelle, wiederholte Skalierungen in beide Richtungen, die durch vorübergehende Metrikspitzen ausgelöst werden. Die standardmäßige Abkühlphase beträgt 5 Minuten für das Erhöhen und 5 Minuten für das Reduzieren der Instanzanzahl. Legen Sie für das Reduzieren eine längere Abkühlphase fest (z. B. 10–15 Minuten), damit Instanzen Zeit haben, aktive Verbindungen zu beenden, bevor sie entfernt werden.
# 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 10Benutzerdefinierte Domäne konfigurieren
App Service-Apps erhalten den standardmäßigen Hostnamen azurewebsites.net. Um Ihre eigene Domäne zu verwenden (z. B. www.contoso.com), fügen Sie in den App Service-Einstellungen eine benutzerdefinierte Domäne hinzu und erstellen die entsprechenden DNS-Einträge bei Ihrem Domänenregistrar. Sie müssen den Besitz nachweisen, indem Sie in Ihrer DNS-Zone einen CNAME- oder TXT-Eintrag (auch Verifizierungseintrag genannt) erstellen. Anschließend erstellen Sie den eigentlichen CNAME- oder A-Eintrag für das Routing.
# 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.comTLS-Zertifikate für benutzerdefinierte Domänen
Sobald eine benutzerdefinierte Domäne zugeordnet ist, benötigen Sie ein TLS-Zertifikat, um HTTPS zu aktivieren. App Service bietet drei Optionen: das App Service Managed Certificate (kostenlos, automatische Verlängerung, auf Standarddomänen beschränkt), das App Service Certificate (über Azure erworben und in Key Vault gespeichert) oder das Hochladen eines Drittanbieterzertifikats (eigenes Zertifikat von Let's Encrypt oder einer Zertifizierungsstelle). Der Nur-HTTPS-Modus leitet sämtlichen HTTP-Datenverkehr automatisch zu HTTPS um.
# 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 trueHTTP-Warteschlangenmetriken für die automatische Skalierung
Obwohl CPU eine häufig verwendete Metrik für die automatische Skalierung ist, liefert die Länge der HTTP-Warteschlange für Webanwendungen oft ein besseres Signal. Bei einer langen Warteschlange warten neue Anforderungen, weil die Instanzen vollständig ausgelastet sind. Die Skalierung anhand von HttpQueueLength erkennt eine Überlastung schneller als die CPU-Auslastung, da diese schwanken kann, ohne unbedingt auf eine für Benutzer spürbare Verzögerung hinzuweisen. Verwenden Sie beide Metriken gemeinsam, um ein robustes Verhalten der automatischen Skalierung zu erreichen.
# 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 10Benachrichtigungen zur automatischen Skalierung
Konfigurieren Sie Benachrichtigungen zur automatischen Skalierung, um bei Skalierungsereignissen E-Mail- oder Webhook-Warnungen zu erhalten. Dadurch können Teams Verkehrsmuster besser verstehen und überprüfen, ob die automatische Skalierung erwartungsgemäß funktioniert. Benachrichtigungen werden im Benachrichtigungsbereich der Einstellung für die automatische Skalierung konfiguriert und können an mehrere E-Mail-Adressen und Webhook-Endpunkte gesendet werden (zur Integration mit Slack, PagerDuty oder benutzerdefinierten Tools).
# 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": []}'Apex-Domains und Traffic Manager
Für die Zuordnung einer Apex-Domain (z. B. contoso.com ohne www) zu App Service benötigen Sie einen A-Record, der auf die IP-Adresse von App Service verweist, sowie einen TXT-Verifizierungsrecord. Da sich die IP-Adressen von App Service ändern können, empfiehlt Microsoft die Verwendung von Azure Traffic Manager oder Azure Front Door als Vermittler. Das CNAME-Äquivalent der Apex-Domain (ALIAS-/ANAME-Record) verweist auf das Traffic-Manager-Profil, das den Datenverkehr an App Service weiterleitet.
# 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>Verhalten der Autoskalierung testen
Testen Sie nach der Konfiguration der Autoskalierung, ob sie korrekt funktioniert, indem Sie eine künstliche Auslastung erzeugen. Verwenden Sie Tools wie Apache JMeter, k6 oder Azure Load Testing, um gleichzeitige Benutzer zu simulieren. Beobachten Sie in Azure Monitor die Metrik für die Instanzanzahl des App-Service-Plans, um zu bestätigen, dass die Anzahl der Instanzen bei steigender Auslastung zunimmt und bei nachlassender Auslastung wieder abnimmt. Dokumentieren Sie die beobachtete Anzahl von RPS (Requests pro Sekunde) pro Instanz, um Ihre Skalierungsschwellenwerte zu validieren.
# 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 PT1MKurze Überprüfung
Testen Sie Ihr Verständnis der Konzepte aus Microsoft Azure Fundamentals (AZ-900), die in dieser Lektion behandelt wurden.
Zusammenfassung der Lektion
In dieser Lektion haben Sie Folgendes gelernt: Autoskalierungsregeln für App-Service-Pläne fügen basierend auf CPU-, HTTP-Warteschlangen- oder Zeitplantriggern Instanzen hinzu oder entfernen sie, für benutzerdefinierte Domänen sind DNS-CNAME-/A-Records sowie ein TXT-Verifizierungsrecord in Ihrer DNS-Zone erforderlich, und TLS-Zertifikate (einschließlich kostenloser verwalteter Zertifikate) ermöglichen HTTPS für benutzerdefinierte Domänen. Als Nächstes befassen wir uns mit der Authentifizierung und Vernetzung von App Service.
Häufig gestellte Fragen
Ist die Lektion „Automatische Skalierung und benutzerdefinierte Domänen“ kostenlos?
Ja — der vollständige Text von „Automatische Skalierung und benutzerdefinierte Domänen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Azure Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Azure Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Automatische Skalierung und benutzerdefinierte Domänen“?
Konfigurieren Sie Regeln für die horizontale Skalierung anhand von CPU- und HTTP-Warteschlangenmetriken, ordnen Sie Ihrer Web-App eine benutzerdefinierte Domäne zu und binden Sie ein kostenloses App… Du übst Azure Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Azure Fundamentals zu starten?
Keine Vorkenntnisse erforderlich. Azure Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Automatische Skalierung und benutzerdefinierte Domänen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Azure Fundamentals-Lektion Code schreiben und ausführen?
Ja. Jede Azure Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- App-Service-Plan und Web-App erstellen
- Bereitstellungsslots und Austausch
- Automatische Skalierung und benutzerdefinierte Domänen
- Authentifizierung und Netzwerk in App Service