Compartir a través de


Configuración de la entrada para un entorno de Azure Container Apps

Azure Container Apps se ejecuta en el contexto de un entorno, con su propia red virtual (VNet). Esta red virtual crea un límite seguro alrededor del entorno de Azure Container Apps.

La configuración de entrada en Azure Container Apps determina cómo llega el tráfico de red externo a las aplicaciones. La configuración de la entrada le permite controlar el enrutamiento del tráfico, mejorar el rendimiento de la aplicación e implementar estrategias de implementación avanzadas. Este artículo le guía por las opciones de configuración de entrada disponibles en Azure Container Apps y le ayuda a elegir la configuración adecuada para las cargas de trabajo.

Un entorno de Azure Container Apps incluye un proxy de entrada perimetral escalable responsable de las siguientes características:

En el diagrama siguiente se muestra un entorno de ejemplo con el proxy de entrada que enruta el tráfico a dos aplicaciones de contenedor.

Diagrama de cómo el proxy de entrada enruta el tráfico a las aplicaciones de contenedor.

De forma predeterminada, Azure Container Apps crea el entorno de aplicación de contenedor con el modo de entrada predeterminado. Si la aplicación necesita funcionar en niveles de gran escala, puede establecer el modo de entrada en Premium.

Modo de entrada predeterminado

Con el modo de entrada predeterminado, el entorno de Container Apps tiene dos instancias de proxy de entrada. Las aplicaciones de contenedor crean más instancias según sea necesario, hasta un máximo de 10. Cada instancia se asigna hasta 1 núcleo de vCPU y 2 GB de memoria.

En el modo de entrada predeterminado, no se aplica ninguna facturación para escalar el proxy de entrada o para los núcleos de vCPU y la memoria asignada.

Modo de entrada Premium

El modo de entrada predeterminado podría convertirse en un cuello de botella en entornos a gran escala. Como alternativa, el modo de ingreso premium incluye características avanzadas para asegurar que el ingreso esté a la altura de las demandas de tráfico.

Estas características incluyen:

  • Compatibilidad con el perfil de carga de trabajo: las instancias de proxy de entrada se ejecutan en un perfil de carga de trabajo que prefiera. Tiene control sobre el número de núcleos de vCPU y recursos de memoria disponibles para el proxy.

  • Reglas de intervalo de escalado configurables: las reglas de intervalo de escalado de proxy se pueden configurar para que pueda asegurarse de que tiene tantas instancias como requiera la aplicación.

  • Configuración avanzada: puede configurar opciones avanzadas, como tiempos de espera de inactividad para las instancias de proxy de entrada.

Para decidir entre el modo de entrada predeterminado y premium, evalúe los recursos consumidos por la instancia de proxy considerando las solicitudes atendidas. Para empezar, examine los núcleos de vCPU y los recursos de memoria consumidos por la instancia de proxy. Si el entorno mantiene el número máximo de proxy de entrada (valor predeterminado 10) durante cualquier período prolongado, considere la posibilidad de cambiar al modo de entrada premium. Para más información, consulte métricas. Para obtener información sobre cómo configurar el modo de ingreso premium, consulte Usar ingreso premium en Azure Container Apps.

Perfil de carga de trabajo

Puede seleccionar un perfil de carga operativa para proporcionar nodos dedicados para las instancias de proxy de entrada que se ajusten a sus necesidades. Se recomiendan los tipos de perfil de carga de trabajo D4-D32. Cada instancia de proxy de entrada se asigna 1 núcleo de vCPU. Para más información, consulte Perfiles de carga de trabajo en Azure Container Apps.

El perfil de carga de trabajo:

  • No debe ser el perfil de carga de trabajo Consumo.
  • No se debe compartir con aplicaciones o trabajos de contenedor.
  • No se debe eliminar mientras lo estás usando para tu proxy de entrada.

La ejecución del proxy de entrada en un perfil de carga de trabajo se factura a la velocidad de ese perfil de carga de trabajo. Para obtener más información, vea Facturación.

También puede configurar el número de nodos de perfil de carga de trabajo. Un perfil de carga de trabajo es un grupo escalable de nodos. Cada nodo contiene varias instancias de proxy de entrada. El número de nodos se escala en función del uso de memoria y vCPU. El número mínimo de instancias de nodo es dos.

Ampliación

El proxy de entrada se escala independientemente del escalado de la aplicación contenedora.

Cuando el proxy de entrada alcanza un uso elevado de memoria o vCPU, Container Apps crea más instancias de proxy de entrada. Cuando se reduce el uso, se quitan las instancias de proxy de entrada adicionales.

Las instancias de proxy de entrada mínima y máxima se determinan de la siguiente manera:

  • Mínimo: Hay un mínimo de dos instancias de nodo.

  • Máximo: Las instancias de nodo máximas multiplicadas por los núcleos de vCPU. Por ejemplo, si tiene 50 instancias de nodo máximas y 4 núcleos de vCPU, tiene un máximo de 200 instancias de proxy de entrada.

Las instancias de proxy de entrada se distribuyen entre los nodos de perfil de carga de trabajo disponibles.

Configuración avanzada de entrada

Con el modo de entrada Premium habilitado, también puede configurar las siguientes opciones:

Configuración Descripción Mínimo Máxima Predeterminado
Período de gracia de finalización Cantidad de tiempo (en segundos) para que la aplicación contenedora finalice el procesamiento de solicitudes antes de que se cancelen durante el apagado. 0 3,600 500
Tiempo de espera de solicitud de inactividad Tiempo de espera de inactividad de la solicitud en minutos. 4 30 4
Recuento de encabezados de solicitud Aumente esta configuración si tiene clientes que envían un gran número de encabezados de solicitud. 1 No disponible 100

Solo debe aumentar esta configuración según sea necesario, ya que generarlos podría provocar que las instancias de proxy de entrada consuman más recursos durante períodos de tiempo más largos, siendo más vulnerables al agotamiento de recursos y a los ataques por denegación de servicio.

Configuración de entrada

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

  1. Navega hasta tu entorno en el portal de Azure.

  2. Seleccionar Redes.

  3. Seleccione Configuración de entrada.

  4. Configure los valores de entrada como se indica a continuación.

    Configuración Importancia
    Modo de entrada Seleccione Predeterminado o Premium.
    Tamaño del perfil de carga de trabajo Seleccione un tamaño de D4 a D32.
    Instancias mínimas de nodo Escriba las instancias mínimas del nodo de perfil de carga de trabajo.
    Número máximo de instancias de nodo Ingrese la cantidad máxima de instancias de nodo en el perfil de carga de trabajo.
    Período de gracia de finalización Introduzca 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 número de encabezados de solicitud.
  5. Selecciona Aplicar.

Enrutamiento basado en reglas

Con el enrutamiento basado en reglas, se crea un nombre de dominio completo (FQDN) en el entorno de aplicaciones de contenedor. Después, use reglas para enrutar las solicitudes a este FQDN a diferentes aplicaciones de contenedor, en función de la ruta de acceso de cada solicitud. Esto ofrece las siguientes ventajas.

  • Aislamiento: al enrutar diferentes rutas de acceso a diferentes aplicaciones de contenedor, puede implementar y actualizar componentes individuales sin afectar a toda la aplicación.

  • Escalabilidad: con el enrutamiento basado en reglas, puede escalar aplicaciones de contenedor individuales de forma independiente en función del tráfico que recibe cada aplicación de contenedor.

  • Reglas de enrutamiento personalizadas: puede, por ejemplo, redirigir a los usuarios a diferentes versiones de la aplicación o implementar pruebas A/B.

  • Seguridad: puede implementar medidas de seguridad adaptadas a cada aplicación contenedora. Esto le ayuda a reducir la superficie expuesta a ataques de la aplicación.

Para obtener información sobre cómo configurar el enrutamiento basado en reglas en el entorno de aplicaciones de contenedor, consulte Uso del enrutamiento basado en reglas.

Cifrado punto a punto en el entorno de Azure Container Apps

Azure Container Apps admite el cifrado TLS punto a punto dentro del entorno. Al habilitar esta característica, se cifra todo el tráfico de red dentro del entorno con un certificado privado válido dentro del ámbito del entorno de Azure Container Apps. Azure Container Apps administra automáticamente estos certificados.

Nota:

De forma predeterminada, el cifrado punto a punto está deshabilitado. La habilitación del cifrado punto a punto para las aplicaciones puede aumentar la latencia de respuesta y reducir el rendimiento máximo en escenarios de alta carga.

En el ejemplo siguiente se muestra un entorno con cifrado punto a punto habilitado. Diagrama de cómo se cifra o descifra el tráfico con el cifrado punto a punto habilitado.

1 El tráfico TLS entrante finaliza en el proxy de entrada en el perímetro del entorno.

2 El tráfico hacia y desde el proxy de entrada dentro del entorno es TLS cifrado con un certificado privado y descifrado por el receptor.

3 Las llamadas realizadas desde la aplicación A al FQDN de la aplicación B se envían primero al proxy de entrada perimetral y se cifran con TLS.

4 Las llamadas realizadas desde la aplicación A a la aplicación B mediante el nombre de la aplicación B se envían directamente a la aplicación B y se cifran CON TLS. Las llamadas entre las aplicaciones y los componentes de Java se tratan de la misma manera que la comunicación entre aplicaciones y están cifradas con TLS.

Las aplicaciones dentro de un entorno de Container Apps se autentican automáticamente. Sin embargo, el entorno de ejecución de Container Apps no admite la autorización para el control de acceso entre aplicaciones mediante el cifrado punto a punto integrado.

Cuando las aplicaciones se comunican con un cliente fuera del entorno, se admite la autenticación bidireccional con mTLS. Para más información, consulte Configurar certificados de cliente.

Puede habilitar el cifrado punto a punto mediante los siguientes comandos.

Al crear:

az containerapp env create \
    --name <ENVIRONMENT_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --location <LOCATION> \
    --enable-peer-to-peer-encryption

Para una aplicación contenedora existente:

az containerapp env update \
    --name <ENVIRONMENT_NAME> \
    --resource-group <RESOURCE_GROUP> \
    --enable-peer-to-peer-encryption