Freigeben über


Verwenden Sie Premium-Ingress mit Azure Container Apps

In diesem Artikel erfahren Sie, wie Sie den Premium-Ingress mit Azure-Container-Apps verwenden. Mit Premium-Ingress können Sie definieren, wie der Ingress skaliert und konfiguriert wird, um Workloads mit hoher Nachfrage besser zu bewältigen.

Voraussetzungen

Ressourcengruppe erstellen

  1. Melden Sie sich bei Azure an.
az login
  1. Aktualisieren Sie die Azure CLI auf die neueste Version.
az upgrade
  1. Registrieren Sie die erforderlichen Ressourcenanbieter.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
  1. Erstellen Sie eine Ressourcengruppe mit dem folgenden Befehl:
az group create --name my-container-apps --location centralus

Erstellen der Umgebung

Führen Sie zum Erstellen der Container-Apps-Umgebung den folgenden Befehl aus:

az containerapp env create \
  --name my-container-apps-env \
  --resource-group my-resource-group \
  --location centralus

Konfigurieren des Workloadprofils

Fügen Sie der Umgebung ein Workloadprofil hinzu (erforderlich für den Premium-Eingangsmodus).

az containerapp env workload-profile add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --workload-profile-type D4 \

Ihr Arbeitslastprofil muss mindestens zwei Knoten aufweisen, um Premium-Ingress zu verwenden.

Konfigurieren des Premium-Eingangs

Fügen Sie der Umgebung Mithilfe des folgenden Befehls Premium-Eingangseinstellungen hinzu:

az containerapp env premium-ingress add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

In der folgenden Tabelle werden die Parameter beschrieben, die Sie beim Konfigurieren von Premium-Eingangseinstellungen für Ihre Container-Apps-Umgebung festlegen können.

Parameter Description Standard Mindestwert Höchstwert
termination-grace-period Die Zeit (in Sekunden), die gewährt wird, damit aktive Verbindungen geschlossen werden können, bevor der Eingang beendet wird. n/a 0 60
request-idle-limit Die Zeit (in Minuten), die eine Anforderung im Leerlauf bleiben kann, bevor die Verbindung getrennt wird. 4 4 30
header-count-limit Die maximale Anzahl zulässiger HTTP-Header pro Anforderung. 100 1 n/a

Nach der Konfiguration wird eine Ausgabe der soeben angewendeten Einstellungen angezeigt.

{
  "headerCountLimit": 100,
  "requestIdleTimeout": 4,
  "terminationGracePeriodSeconds": 500,
  "workloadProfileName": "Ingress-D4"
}

Aktualisieren und Verwalten des Premium-Eingangs

Führen Sie den folgenden Befehl aus, um die Premium-Eingangseinstellungen für die Umgebung zu aktualisieren:

az containerapp env premium-ingress update \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

Um die Premium-Eingangseinstellungen für die Umgebung anzuzeigen, führen Sie den folgenden Befehl aus:

az containerapp env premium-ingress show \
  --resource-group my-resource-group \
  --name my-container-apps-env

Führen Sie den folgenden Befehl aus, um die Premium-Eingangseinstellungen für die Umgebung zu entfernen:

az containerapp env premium-ingress remove \
  --resource-group my-resource-group \
  --name my-container-apps-env

Führen Sie den folgenden Befehl aus, um das Workloadprofil aus der Umgebung zu entfernen:

az containerapp env workload-profile delete \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4

Voraussetzungen

Bereitstellen mit Bicep

Erstellen Sie die folgende Bicep-Datei, und speichern Sie sie unter ingress.bicep.

resource containerAppsEnvironment 'Microsoft.App/managedEnvironments@2025-07-01' = {
  name: 'my-container-app-env'
  location: 'centralus'
  tags: tags
  properties: {
    workloadProfiles: [
      {
        name: 'Ingress-D4'
        workloadProfileType: 'D4'
        minimumCount: 2
        maximumCount: 4
      }
    ]
    ingressConfiguration: {
      workloadProfileName: 'Ingress-D4'
      terminationGracePeriodSeconds: 600
      headerCountLimit: 101
      requestIdleTimeout: 5
    }
  }
}              

In diesem Schritt wird eine Container-Apps-Umgebung mit einer Premium-Eingangskonfiguration bereitgestellt, einschließlich der folgenden Einstellungen:

Name Description
name Der Name des Workload-Profils, das für den Premium-Eingang verwendet wird.
workloadProfileType Der Typ/die Größe des Workloadprofils (z. B. D4) für die Skalierung und Ressourcenzuordnung.
minimumCount Die Mindestanzahl von Instanzen für die Workloadprofile. Mindestwert: 2
maximumCount Die maximale Anzahl von Instanzen für das Workload-Profil. Maximal: 50.
workloadProfileName Der Name des Workload-Profils, der der Ingress-Konfiguration zugeordnet ist.
terminationGracePeriodSeconds Die Zeit (in Sekunden), die gewährt wird, damit aktive Verbindungen geschlossen werden können, bevor der Eingang beendet wird. Minimum: 0, Maximum: 60.
headerCountLimit Die maximale Anzahl zulässiger HTTP-Header pro Anforderung. Standardwert: 100, Mindestwert: 1.
requestIdleTimeout Die Zeit (in Minuten), die eine Anforderung im Leerlauf bleiben kann, bevor die Verbindung getrennt wird. Standard: 4, Minimum: 4, Maximum: 30.

In Azure bereitstellen

Navigieren Sie zu dem Verzeichnis, in dem Sie die Datei "ingress.bicep " gespeichert haben, und führen Sie dann den folgenden Befehl aus, um die Bicep-Datei bereitzustellen:

# Login to Azure (if not already logged in)
azd auth login

# Provision and deploy the infrastructure
azd up

Bereitstellung verwalten

Verwenden Sie den folgenden Befehl, um den Status und die Protokolle Ihrer Container-App anzuzeigen.

# Check deployment status
azd show

# Clean up all resources
azd down

# View deployment logs
azd logs

Sie können den Eingangseingang für Ihre Umgebung konfigurieren, nachdem Sie sie erstellt haben.

  1. Wechseln Sie im Azure-Portal zu Ihrer Container-Apps-Umgebung.

  2. Wählen Sie unter Einstellungen die Option Netzwerk aus.

  3. Wählen Sie die Registerkarte " Einstellungen für den Ausgang " aus.

  4. Konfigurieren Sie Ihre Eingangseinstellungen gemäß den folgenden Einstellungen.

    Setting Wert
    Eingangsmodus Wählen Sie Premiumaus.
    Workloadprofilgröße Wählen Sie eine Größe von D4 bis D32 aus.
    Minimale Anzahl von Knoteninstanzen Geben Sie die Knoteninstanzen des Mindestarbeitsauslastungsprofils ein.
    Maximale Knoteninstanzen Geben Sie die maximale Anzahl der Workload-Profil-Knoteninstanzen an.
    Kündigungsfrist Geben Sie die Kündigungsfrist in Minuten ein.
    Leerlaufanforderungstimeout Geben Sie das Timeout der Leerlaufanforderung in Minuten ein.
    Anzahl der Anforderungsheader Geben Sie die Anzahl der Anforderungsheader ein.
  5. Wählen Sie Anwenden.

Überwachung und Metriken

Ingress-Metriken sind über das Azure-Portal in der Container-Apps-Umgebung verfügbar. Wählen Sie unter Überwachung die Option Metriken aus. Diese Metriken sind verfügbar, wenn "Default" oder "Premium Ingress" aktiviert ist. Zusätzliche Metriken befinden sich in Bearbeitung.

  • Eingangsauslastung der CPU
  • Speichernutzung des Ingress in Bytes

Benchmarks zeigen, dass der Ingress etwa 3000 Anforderungen pro Sekunde pro CPU-Kern verarbeiten kann, diese Kapazität variiert jedoch je nach Anwendungsnutzung. Der Arbeitsspeicher wird in der Regel nur dann zu einem Engpass, wenn die Anwendung Anfragen schneller empfängt, als die Umgebung verarbeiten kann, und die Anfragen in der Eingangs-Schicht in eine Warteschlange gestellt werden.

Die Ressourcen, die dem Ingress in den einzelnen Modi zugeordnet sind, sind:

Modus Instanzen Prozessor Gedächtnis CPU-Skalierungsschwellenwert Schwellenwert für die Speicherskalierung
Vorgabe 2-10 1 Kern 2 GB 75% 50 %
Premium 1 pro Knoten (min. 2) 90 % der Knotenkernen 90% des Knotenspeichers 50% der Knotenkernen 50% des Knotenspeichers

Bereinigen von Ressourcen

Wenn Sie diese Anwendung nicht weiter verwenden möchten, führen Sie den folgenden Befehl aus, um die Ressourcengruppe zusammen mit allen in dieser Schnellstartanleitung erstellten Ressourcen zu löschen.

Vorsicht

Mit dem folgenden Befehl werden die angegebene Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht. Wenn Ressourcen außerhalb des Bereichs dieser Schnellstartanleitung in der angegebenen Ressourcengruppe vorhanden sind, werden sie ebenfalls gelöscht.

az group delete --name my-container-apps