Personalización de la configuración de entrada en Azure Spring Apps
Nota:
Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.
La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise
En este artículo se muestra cómo establecer y actualizar la configuración de entrada de aplicaciones en Azure Spring Apps mediante Azure Portal y la CLI de Azure.
El servicio Azure Spring Apps usa un controlador de entrada subyacente para controlar la administración del tráfico de aplicaciones. La siguiente configuración de entrada se admite para la personalización.
Nombre | Configuración de entrada | Valor predeterminado | Intervalo válido | Descripción |
---|---|---|---|---|
ingress-read-timeout |
proxy-read-timeout |
300 | [1,1800] | Tiempo de espera en segundos para leer una respuesta de un servidor proxy. |
ingress-send-timeout |
proxy-send-timeout |
60 | [1,1800] | Tiempo de espera en segundos para transmitir una solicitud al servidor proxy. |
session-affinity |
affinity |
Ninguno | Session , None |
Tipo de afinidad que hace que la solicitud llegue a la misma réplica de pod que respondía a la solicitud anterior. Establezca session-affinity en Cookie para habilitar la afinidad de sesión. Solo en el portal, debe elegir el cuadro habilitar afinidad de sesión. |
session-max-age |
session-cookie-max-age |
0 | [0, 604800] | Tiempo en segundos hasta que expire la cookie, correspondiente a la Max-Age directiva de cookies. Si establece en session-max-age 0, el período de expiración es igual al período de sesión del explorador. |
backend-protocol |
backend-protocol |
Valor predeterminado | El valor predeterminado es GRPC . |
Establece el protocolo de back-end para indicar cómo NGINX debe comunicarse con el servicio back-end. El valor predeterminado significa HTTP/HTTPS/WebSocket. La backend-protocol configuración solo se aplica al tráfico de cliente a aplicación. Para el tráfico de la aplicación a la aplicación dentro de la misma instancia de servicio, elija cualquier protocolo para el tráfico de la aplicación a la aplicación sin modificar la backend-protocol configuración. El protocolo no restringe la elección del protocolo para el tráfico de aplicación a aplicación dentro de la misma instancia de servicio. |
client-auth |
client-auth |
0 servicios seleccionados | - | Seleccione los certificados con la clave pública que cargó en la configuración de TLS/SSL. La entrada concatena estos certificados en uno y, a continuación, lo usa para la autenticación de cliente. |
Requisitos previos
Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
CLI de Azurecon la extensión Azure Spring Apps. Use el siguiente comando para quitar las versiones anteriores e instalar la extensión más reciente: Si ya ha instalado la extensión spring-cloud, desinstálela para evitar errores de coincidencia de la configuración y la versión.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Establezca la configuración de entrada
Use el siguiente comando de la CLI de Azure para establecer la configuración de entrada al crear.
az spring app create \
--resource-group <resource-group-name> \
--service <service-name> \
--name <app-name> \
--ingress-read-timeout 300 \
--ingress-send-timeout 60 \
--session-affinity Cookie \
--session-max-age 1800 \
--backend-protocol Default \
--client-auth-certs <cert-id>
Nota:
El valor de cert-id
tiene el formato /subscriptions/<your-sub-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AppPlatform/Spring/<service-name>/certificates/<cert-name>
. Para obtener el valor de cert-id
, use el siguiente comando: az spring certificate show --service <service-instance-name> --resource-group <resource-group-name> --name <certificate-name> --query id
Este comando crea una aplicación con la siguiente configuración:
- Tiempo de espera de lectura de entrada: 300 segundos
- Tiempo de espera de envío de entrada: 60 segundos
- Afinidad de sesión: Cookie
- Antigüedad máxima de cookies de sesión: 1800 segundos
- Protocolo back-end: predeterminado
- Autenticación de cliente: cert-name
Actualizar la configuración de entrada para una app existente
Siga estos pasos para actualizar la configuración de entrada de una aplicación hospedada por una instancia de servicio existente.
Inicie sesión en el portal con una cuenta asociada a la suscripción a Azure que contiene la instancia de Azure Spring Apps.
Vaya al panel Aplicaciones y, a continuación, seleccione la aplicación que desea configurar.
Vaya al panel Configuración y seleccione la pestaña Configuración de entrada.
Actualice la configuración de entrada y, a continuación, seleccione Guardar.
Preguntas más frecuentes
¿Cómo habilita gRPC?
Establezca el protocolo de back-end en GRPC.
¿Cómo habilita WebSocket?
WebSocket está habilitado de forma predeterminada si establece el protocolo back-end en Predeterminado. El límite de conexión de WebSocket es 20000. Cuando se alcanza ese límite, se produce un error en la conexión.
También puede usar RSocket basado en WebSocket.
¿Cuál es la diferencia entre la configuración de entrada y la configuración de entrada?
La configuración de entrada todavía se puede usar en la CLI y el SDK de Azure, y esa configuración se aplica a todas las aplicaciones dentro de la instancia de servicio. Después de configurar la entrada de una aplicación, la configuración de entrada no puede afectarla. No se recomienda que los nuevos scripts usen la configuración de entrada, ya que planeamos dejar de admitirlo en el futuro.
Cuando se usa la configuración de entrada junto con App Gateway/APIM, ¿qué ocurre cuando se establece el tiempo de espera en la entrada de Azure Spring Apps y app Gateway/APIM?
Se usa el tiempo de espera más corto.
¿Necesita una configuración adicional en App Gateway o APIM si necesita tener compatibilidad completa con gRPC o WebSocket?
No necesita una configuración adicional siempre que App Gateway admita gRPC.
¿Se admite el puerto configurable?
El puerto configurable no se admite actualmente (80/443).