0Pricing
Azure Fundamentals · Lektion

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 P2V3

Regeln 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 10

Benutzerdefinierte 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.com

TLS-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 true

HTTP-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 10

Benachrichtigungen 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 PT1M

Kurze Ü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

  1. App-Service-Plan und Web-App erstellen
  2. Bereitstellungsslots und Austausch
  3. Automatische Skalierung und benutzerdefinierte Domänen
  4. Authentifizierung und Netzwerk in App Service
← Zurück zu Azure Fundamentals