Compartir a través de


Uso de la entrada premium con Azure Container Apps

En este artículo, aprenderá a usar la entrada premium con Azure Container Apps. Con la entrada premium, puede definir cómo se escala y configura la entrada para controlar mejor las cargas de trabajo de mayor demanda.

Prerrequisitos

Creación de un grupo de recursos

  1. Inicie sesión en Azure.
az login
  1. Actualice la CLI de Azure a la versión más reciente.
az upgrade
  1. Registre los proveedores de recursos necesarios.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
  1. Cree un grupo de recursos con el comando siguiente:
az group create --name my-container-apps --location centralus

Creación del entorno

Para crear el entorno de aplicaciones de contenedor, ejecute el siguiente comando:

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

Configuración del perfil de carga de trabajo

Agregue un perfil de carga de trabajo al entorno (necesario para la entrada premium).

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 \

El perfil de carga de trabajo debe tener al menos dos nodos para usar la entrada Premium.

Configurar acceso Premium

Agregue la configuración de entrada premium al entorno mediante el siguiente comando:

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

En la tabla siguiente se describen los parámetros que puede establecer al configurar las opciones de entrada premium para el entorno de Container Apps.

Parámetro Description Predeterminado Mínimo Máxima
termination-grace-period El tiempo (en segundos) para permitir que las conexiones activas se cierren antes de finalizar la entrada. n/a 0 60
request-idle-limit El tiempo (en minutos) que una solicitud puede permanecer inactiva antes de desconectarse. 4 4 30
header-count-limit Número máximo de encabezados HTTP permitidos por solicitud. 100 1 n/a

Una vez configurado, verá una salida de las opciones que acaba de aplicar.

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

Actualización y administración de la entrada premium

Para actualizar la configuración de entrada premium para el entorno, ejecute el siguiente comando:

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

Para mostrar la configuración de entrada premium para el entorno, ejecute el siguiente comando:

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

Para quitar la configuración de entrada premium del entorno, ejecute el siguiente comando:

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

Para quitar el perfil de carga de trabajo del entorno, ejecute el siguiente comando:

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

Prerrequisitos

Implementación con Bicep

Cree el siguiente archivo de Bicep y guárdelo como 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
    }
  }
}              

En este paso se implementa un entorno de Container Apps con una configuración de entrada premium, incluida la siguiente configuración:

Nombre Description
name Nombre del perfil de carga de trabajo usado para el acceso premium.
workloadProfileType Tipo o tamaño del perfil de carga de trabajo (por ejemplo, D4) para el escalado y la asignación de recursos.
minimumCount Número mínimo de instancias para el perfil de carga de trabajo. Mínimo: 2.
maximumCount Número máximo de instancias para el perfil de carga de trabajo. Máximo: 50.
workloadProfileName Nombre del perfil de carga de trabajo asociado a la configuración de entrada.
terminationGracePeriodSeconds El tiempo (en segundos) para permitir que las conexiones activas se cierren antes de finalizar la entrada. Mínimo: 0, Máximo: 60.
headerCountLimit Número máximo de encabezados HTTP permitidos por solicitud. Valor predeterminado: 100, mínimo: 1.
requestIdleTimeout El tiempo (en minutos) que una solicitud puede permanecer inactiva antes de desconectarse. Valor predeterminado: 4, Mínimo: 4, Máximo: 30.

Implementación en Azure

Vaya al directorio donde guardó el archivo ingress.bicep y ejecute el siguiente comando para implementar el archivo de Bicep:

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

# Provision and deploy the infrastructure
azd up

Administración de la implementación

Use el comando siguiente para ver el estado y los registros de la aplicación contenedora.

# Check deployment status
azd show

# Clean up all resources
azd down

# View deployment logs
azd logs

Puede configurar la entrada para el entorno después de crearla.

  1. Vaya al entorno de Container Apps en Azure Portal.

  2. En Configuración, seleccione Redes.

  3. Seleccione la pestaña Configuración de entrada .

  4. Configure los valores de entrada según los valores siguientes.

    Configuración Importancia
    Modo de entrada Seleccione Premium.
    Tamaño del perfil de carga de trabajo Seleccione un tamaño de D4 a D32.
    Instancias mínimas de nodo Introduzca las instancias mínimas de nodo de perfil de carga.
    Número máximo de instancias de nodo Escriba el número máximo de instancias de nodo de perfil de carga de trabajo.
    Período de gracia de finalización Escriba el período de gracia de terminación en minutos.
    Tiempo de espera de solicitud de inactividad Escriba el tiempo de espera de la solicitud de inactividad en minutos.
    Recuento de encabezados de solicitud Escriba el recuento de encabezados de solicitud.
  5. Seleccione Aplicar.

Supervisión y métricas

Las métricas de entrada están disponibles a través de Azure Portal en una instancia del entorno de Container Apps. En Supervisión, seleccione Métricas. Estas métricas están disponibles con Ingreso Predeterminado o Premium habilitado. Las métricas adicionales están en desarrollo.

  • El uso de CPU de entrada
  • Bytes de uso de memoria de entrada

Las pruebas comparativas muestran que la entrada puede controlar alrededor de 3000 solicitudes por segundo por núcleo de CPU, pero esa capacidad varía según el uso de la aplicación. La memoria solo tiende a convertirse en un cuello de botella si la aplicación recibe solicitudes más rápidamente de lo que el entorno puede manejar y estas se acumulan en la capa de ingreso.

Los recursos asignados a la entrada en cada modo son:

Mode Instances Unidad Central de Procesamiento (CPU) Memoria Umbral de escala para CPU Umbral de escala de memoria
Predeterminado 2-10 1 núcleo 2 GB 75 % 50 %
Premium Uno por nodo (min 2) 90% de núcleos de nodo 90% de memoria de nodo 50% de núcleos del nodo 50% de memoria del nodo

Limpieza de recursos

Si no va a seguir usando esta aplicación, ejecute el siguiente comando para eliminar el grupo de recursos junto con todos los recursos creados en el inicio rápido.

Precaución

El comando siguiente elimina el grupo de recursos especificado y todos los recursos que contiene. Si los recursos fuera del ámbito de este inicio rápido existen en el grupo de recursos especificado, también se eliminarán.

az group delete --name my-container-apps