¿Qué es Azure Application Gateway?What is Azure Application Gateway?

Azure Application Gateway es un equilibrador de carga de tráfico web que permite administrar el tráfico a las aplicaciones web.Azure Application Gateway is a web traffic load balancer that enables you to manage traffic to your web applications. Los equilibradores de carga tradicionales operan en la capa de transporte (OSI capa 4: TCP y UDP) y enrutan el tráfico en función de la dirección IP y puerto de origen a una dirección IP y puerto de destino.Traditional load balancers operate at the transport layer (OSI layer 4 - TCP and UDP) and route traffic based on source IP address and port, to a destination IP address and port.

Conceptos de Application Gateway

Con Application Gateway puede tomar decisiones de enrutamiento basadas en atributos adicionales de una solicitud HTTP, como los encabezados de host o la ruta de acceso del URI.With Application Gateway, you can make routing decisions based on additional attributes of an HTTP request, such as URI path or host headers. Por ejemplo, puede enrutar el tráfico en función de la dirección URL entrante.For example, you can route traffic based on the incoming URL. Por lo que si /images se encuentra en la dirección URL entrante, puede redirigir el tráfico a un conjunto específico de servidores (conocido como un grupo) configurados para imágenes.So if /images is in the incoming URL, you can route traffic to a specific set of servers (known as a pool) configured for images. Si /video se encuentra en la dirección URL, el tráfico se enruta a otro grupo optimizado para vídeos.If /video is in the URL, that traffic is routed to another pool that's optimized for videos.

imageURLroute

Este tipo de enrutamiento se conoce como equilibrio de carga de capa de aplicación (OSI capa 7).This type of routing is known as application layer (OSI layer 7) load balancing. Azure Application Gateway puede hacer enrutamiento basado en dirección URL y mucho más.Azure Application Gateway can do URL-based routing and more.

Las siguientes características se incluyen con Azure Application Gateway:The following features are included with Azure Application Gateway:

Terminación de la Capa de sockets seguros (SSL)Secure Sockets Layer (SSL/TLS) termination

Application Gateway admite la terminación SSL/TLS en la puerta de enlace, tras lo cual el tráfico fluye normalmente sin cifrar a los servidores back-end.Application gateway supports SSL/TLS termination at the gateway, after which traffic typically flows unencrypted to the backend servers. Esta característica permite a los servidores web liberarse de la costosa sobrecarga de cifrado y descifrado.This feature allows web servers to be unburdened from costly encryption and decryption overhead. Sin embargo, en algunas ocasiones, la comunicación sin cifrar con los servidores no es una opción aceptable.But sometimes unencrypted communication to the servers is not an acceptable option. Esto podría deberse a los requisitos de seguridad y cumplimiento normativo, o bien a la posibilidad de que la aplicación solo acepte una conexión segura.This can be because of security requirements, compliance requirements, or the application may only accept a secure connection. Para estas aplicaciones, Application Gateway admite el cifrado SSL/TLS de un extremo a otro.For these applications, application gateway supports end to end SSL/TLS encryption.

Escalado automáticoAutoscaling

Las implementaciones de Application Gateway o WAF de la versión Standard_v2 o WAF_v2 del SKU admiten el escalado o la reducción verticales en función de los cambiantes patrones de la carga de tráfico.Application Gateway or WAF deployments under Standard_v2 or WAF_v2 SKU support autoscaling and can scale up or down based on changing traffic load patterns. La escalabilidad automática también elimina el requisito de tener elegir un tamaño de implementación o un número de instancias durante el aprovisionamiento.Autoscaling also removes the requirement to choose a deployment size or instance count during provisioning. Para más información sobre las características de las versiones WAF_v2 y standard_v2 de Application Gateway, consulte el artículo sobre el Escalado automático de la versión 2 del SKU.For more information about the Application Gateway Standard_v2 and WAF_v2 features, see Autoscaling v2 SKU.

Redundancia de zonaZone redundancy

Las implementaciones de Application Gateway o WAF de las versiones Standard_v2 o WAF_v2 del SKU pueden abarcar varias zonas de disponibilidad para ofrecer una mejor resistencia a errores y eliminar la necesidad de aprovisionar las puertas de enlace de aplicaciones independientes en cada zona.An Application Gateway or WAF deployments under Standard_v2 or WAF_v2 SKU can span multiple Availability Zones, offering better fault resiliency and removing the need to provision separate Application Gateways in each zone.

IP virtual estáticaStatic VIP

La puerta de enlace de aplicaciones de IP virtual de la versión Standard_v2 o WAF_v2 del SKU solo admite tipos de IP virtual estáticos.The application gateway VIP on Standard_v2 or WAF_v2 SKU supports static VIP type exclusively. Con esto se garantiza que la IP virtual asociada a la puerta de enlace de aplicaciones no cambia durante la vigencia de Application Gateway.This ensures that the VIP associated with application gateway doesn't change even over the lifetime of the Application Gateway.

Firewall de aplicaciones webWeb application firewall

Firewall de aplicaciones web (WAF) es una característica de Application Gateway que proporciona a las aplicaciones una protección centralizada contra vulnerabilidades de seguridad comunes.Web application firewall (WAF) is a feature of Application Gateway that provides centralized protection of your web applications from common exploits and vulnerabilities. Firewall de aplicaciones web se basa en las reglas contenidas en el conjunto de reglas básicas de OWASP (Open Web Application Security Project) 3.1 (solo WAF_v2), 3.0 y 2.2.9.WAF is based on rules from the OWASP (Open Web Application Security Project) core rule sets 3.1 (WAF_v2 only), 3.0, and 2.2.9.

Las aplicaciones web son cada vez más los objetivos de ataques malintencionados que aprovechan vulnerabilidades comunes conocidas, comoWeb applications are increasingly targets of malicious attacks that exploit common known vulnerabilities. ataques por inyección de código SQL o ataques de scripts de sitios, por nombrar unos pocos.Common among these exploits are SQL injection attacks, cross site scripting attacks to name a few. Impedir tales ataques en el código de aplicación puede ser un verdadero desafío y requerir tareas rigurosas de mantenimiento, aplicación de revisiones y supervisión en varias capas de la topología de aplicación.Preventing such attacks in application code can be challenging and may require rigorous maintenance, patching and monitoring at many layers of the application topology. Un firewall de aplicaciones web centralizado facilita enormemente la administración de la seguridad y proporciona mayor protección a los administradores de la aplicación frente a amenazas o intrusiones.A centralized web application firewall helps make security management much simpler and gives better assurance to application administrators against threats or intrusions. Las soluciones de WAF también pueden reaccionar más rápido ante una amenaza de la seguridad aplicando revisiones que aborden una vulnerabilidad conocida en una ubicación central en lugar de proteger cada una de las aplicaciones web por separado.A WAF solution can also react to a security threat faster by patching a known vulnerability at a central location versus securing each of individual web applications. Las puertas de enlace de aplicaciones existentes pueden transformarse rápidamente en puertas de enlace con un firewall de aplicaciones web habilitado.Existing application gateways can be converted to a web application firewall enabled application gateway easily.

Para más información, consulte Firewall de aplicaciones web (WAF) en Application Gateway.For more information, see Web application firewall (WAF) in Application Gateway.

Enrutamiento basado en dirección URLURL-based routing

El enrutamiento basado en URL le permite enrutar el tráfico a los grupos de servidores back-end en función de las direcciones URL de la solicitud.URL Path Based Routing allows you to route traffic to back-end server pools based on URL Paths of the request. Uno de los escenarios podría ser enrutar las solicitudes de diferentes tipos de contenido a otro grupo diferente.One of the scenarios is to route requests for different content types to different pool.

Por ejemplo, las solicitudes para http://contoso.com/video/* se enrutan a VideoServerPool y para http://contoso.com/images/* se enrutan a ImageServerPool.For example, requests for http://contoso.com/video/* are routed to VideoServerPool, and http://contoso.com/images/* are routed to ImageServerPool. DefaultServerPool se selecciona si ninguno de los patrones de ruta de acceso coincide.DefaultServerPool is selected if none of the path patterns match.

Para obtener más información, consulte enrutamiento basado en la dirección URL con Application Gateway.For more information, see URL-based routing with Application Gateway.

Hospedaje de varios sitiosMultiple-site hosting

El hospedaje de varios sitios permite configurar más de un sitio web en la misma instancia de la puerta de enlace de aplicaciones.Multiple-site hosting enables you to configure more than one web site on the same application gateway instance. Esta característica permite configurar una topología más eficaz para las implementaciones al agregar hasta 100 sitios web a una sola puerta de enlace de aplicaciones, o 40 para WAF (para un rendimiento óptimo).This feature allows you to configure a more efficient topology for your deployments by adding up to 100 web sites to one Application Gateway, or 40 for WAF (for optimal performance). Cada sitio web se puede dirigir a su propio grupo.Each web site can be directed to its own pool. Por ejemplo, la puerta de enlace de aplicaciones puede atender el tráfico para contoso.com y fabrikam.com desde dos grupos de servidores denominados ContosoServerPool y FabrikamServerPool.For example, application gateway can serve traffic for contoso.com and fabrikam.com from two server pools called ContosoServerPool and FabrikamServerPool.

Las solicitudes para http://contoso.com se enrutan a ContosoServerPool y para http://fabrikam.com se enrutan a FabrikamServerPool.Requests for http://contoso.com are routed to ContosoServerPool, and http://fabrikam.com are routed to FabrikamServerPool.

De forma similar, dos subdominios del mismo dominio primario pueden hospedarse en la misma implementación de la puerta de enlace de aplicaciones.Similarly, two subdomains of the same parent domain can be hosted on the same application gateway deployment. Ejemplos del uso de subdominios podrían incluir http://blog.contoso.com y http://app.contoso.com hospedados en una única implementación de la puerta de enlace de aplicaciones.Examples of using subdomains could include http://blog.contoso.com and http://app.contoso.com hosted on a single application gateway deployment.

Para más información, consulte Hospedaje de varios sitios de Application Gateway.For more information, see multiple-site hosting with Application Gateway.

RedireccionamientoRedirection

Un escenario común para muchas aplicaciones web es admitir el redireccionamiento automático de HTTP a HTTPS para asegurarse de que toda la comunicación entre la aplicación y sus usuarios se produce a través de una ruta de acceso cifrada.A common scenario for many web applications is to support automatic HTTP to HTTPS redirection to ensure all communication between an application and its users occurs over an encrypted path.

En el pasado podría haber utilizado técnicas como la creación de un grupo dedicado cuya única finalidad sería redirigir las solicitudes que recibe de HTTP a HTTPS.In the past, you may have used techniques such as dedicated pool creation whose sole purpose is to redirect requests it receives on HTTP to HTTPS. Application Gateway admite la posibilidad de redirigir el tráfico en la puerta de enlace de aplicaciones.Application gateway supports the ability to redirect traffic on the Application Gateway. Esto simplifica la configuración de la aplicación, optimiza el uso de recursos y admite nuevos escenarios de redireccionamiento que incluyen el global y el redireccionamiento basado en la ruta de acceso.This simplifies application configuration, optimizes the resource usage, and supports new redirection scenarios, including global and path-based redirection. La compatibilidad del redireccionamiento de Application Gateway no se limita solo al redireccionamiento de HTTP a HTTPS.Application Gateway redirection support isn't limited to HTTP to HTTPS redirection alone. Se trata de un mecanismo de redireccionamiento genérico, por lo que puede redirigir desde y hacia cualquier puerto que defina mediante reglas.This is a generic redirection mechanism, so you can redirect from and to any port you define using rules. También admite la redirección a un sitio externo.It also supports redirection to an external site as well.

La compatibilidad con la redirección de Application Gateway ofrece las siguientes funcionalidades:Application Gateway redirection support offers the following capabilities:

  • Redireccionamiento global de un puerto a otro puerto en la puerta de enlace.Global redirection from one port to another port on the Gateway. Permite la redirección de HTTP a HTTPS en un sitio.This enables HTTP to HTTPS redirection on a site.
  • Redirección basada en la ruta de acceso.Path-based redirection. Este tipo de redireccionamiento permite el redireccionamiento de HTTP a HTTPS solamente para un área de un sitio específico, por ejemplo un área de carro de la compra que se indica mediante /cart/*.This type of redirection enables HTTP to HTTPS redirection only on a specific site area, for example a shopping cart area denoted by /cart/*.
  • Redireccionamiento a un sitio externoRedirect to an external site.

Para más información, consulte Introducción a la redirección de Application Gateway.For more information, see redirecting traffic with Application Gateway.

Afinidad de sesiónSession affinity

La característica de afinidad de sesión basada en cookies es útil cuando se quiere mantener una sesión de usuario en el mismo servidor.The cookie-based session affinity feature is useful when you want to keep a user session on the same server. Mediante el uso de cookies administradas por la puerta de enlace, Application Gateway puede dirigir el tráfico posterior de una sesión de usuario hasta el mismo servidor para su procesamiento.By using gateway-managed cookies, the Application Gateway can direct subsequent traffic from a user session to the same server for processing. Esto es importante en aquellos casos en los que se guarda el estado de la sesión de forma local en el servidor para una sesión de usuario.This is important in cases where session state is saved locally on the server for a user session.

Tráfico de Websocket y HTTP/2Websocket and HTTP/2 traffic

Application Gateway proporciona compatibilidad nativa con los protocolos Websocket y HTTP/2.Application Gateway provides native support for the WebSocket and HTTP/2 protocols. No hay ninguna opción de configuración que permita al usuario habilitar o deshabilitar la compatibilidad con WebSocket.There's no user-configurable setting to selectively enable or disable WebSocket support.

Los protocolos WebSocket y HTTP/2 permiten una comunicación dúplex completa entre un servidor y un cliente a través de una conexión TCP de larga duración.The WebSocket and HTTP/2 protocols enable full duplex communication between a server and a client over a long running TCP connection. Esto permite una comunicación más interactiva entre el servidor web y el cliente, que puede ser bidireccional sin necesidad de realizar sondeos como en las implementaciones basadas en HTTP.This allows for a more interactive communication between the web server and the client, which can be bidirectional without the need for polling as required in HTTP-based implementations. Estos protocolos tienen, a diferencia de HTTP, una sobrecarga reducida y pueden reutilizar la misma conexión TCP para varias solicitudes y respuestas, con lo que se utilizan los recursos de una manera más eficaz.These protocols have low overhead, unlike HTTP, and can reuse the same TCP connection for multiple request/responses resulting in a more efficient resource utilization . Estos protocolos están diseñados para utilizarse a través de los puertos HTTP tradicionales 80 y 443.These protocols are designed to work over traditional HTTP ports of 80 and 443.

Para más información, consulte Compatibilidad con WebSocket y Compatibilidad con HTTP/2.For more information, see WebSocket support and HTTP/2 support.

Versión preliminar del controlador de entrada de Azure Kubernetes Service (AKS)Azure Kubernetes Service (AKS) Ingress controller preview

El controlador de entrada de Application Gateway se ejecuta como un pod en el clúster de AKS y permite a Application Gateway actuar como entrada para un clúster de AKS.The Application Gateway Ingress controller runs as a pod within the AKS cluster and allows Application Gateway to act as ingress for an AKS cluster. Este es compatible solo con Application Gateway v2.This is supported with Application Gateway v2 only.

Para más información, consulte Azure Application Gateway Ingress Controller (Controlador de entrada de Azure Application Gateway).For more information, see Azure Application Gateway Ingress Controller.

Purga de la conexiónConnection draining

La purga de conexión ayuda a lograr la correcta eliminación de miembros del grupo de back-end durante las actualizaciones de servicio planeadas.Connection draining helps you achieve graceful removal of backend pool members during planned service updates. Esta configuración se habilita a través de la configuración de http de back-end y se puede aplicar a todos los miembros de un grupo de back-end durante la creación de reglas.This setting is enabled via the backend http setting and can be applied to all members of a backend pool during rule creation. Una vez habilitado, Application Gateway garantiza que todas las instancias de anulación de registro de un grupo de back-end no reciben solicitudes nuevas y se permite que las solicitudes existentes se completen dentro de un límite de tiempo configurado.Once enabled, Application Gateway ensures all de-registering instances of a backend pool do not receive any new request while allowing existing requests to complete within a configured time limit. Esto se aplica a las dos instancias de back-end que se quitan explícitamente del grupo de back-end mediante una llamada API y a las instancias de back-end que se notifican como incorrectas según determinan los sondeos de estado.This applies to both backend instances that are explicitly removed from the backend pool by an API call, and backend instances that are reported as unhealthy as determined by the health probes.

Para más información, consulte la sección Purga de la conexión de Introducción a la configuración de Application Gateway.For more information, see the Connection Draining section of Application Gateway Configuration Overview.

Páginas de error personalizadasCustom error pages

Application Gateway permite crear páginas de error personalizadas, en lugar de mostrar las páginas de error predeterminadas.Application Gateway allows you to create custom error pages instead of displaying default error pages. Mediante una página de error personalizada puede usar su propia marca y diseño.You can use your own branding and layout using a custom error page.

Para obtener más información, consulte Errores personalizados.For more information, see Custom Errors.

Reescritura de encabezados HTTPRewrite HTTP headers

Los encabezados HTTP permiten que el cliente y el servidor pasen información adicional con la solicitud o la respuesta.HTTP headers allow the client and server to pass additional information with the request or the response. Volver a escribir estos encabezados HTTP le permitirá lograr varios escenarios importantes, como:Rewriting these HTTP headers helps you accomplish several important scenarios, such as:

  • Agregar campos de encabezado relacionados con la seguridad como HSTS/X-XSS-Protection.Adding security-related header fields like HSTS/ X-XSS-Protection.
  • Quitar campos de encabezado de respuesta que pueden revelar información confidencial.Removing response header fields that can reveal sensitive information.
  • Eliminar información del puerto desde los encabezados X-Forwarded-For.Stripping port information from X-Forwarded-For headers.

Application Gateway admite la funcionalidad para agregar, quitar o actualizar los encabezados HTTP de solicitud y respuesta, mientras los paquetes de solicitud y respuesta se mueven entre los grupos de back-end y de cliente.Application Gateway supports the capability to add, remove, or update HTTP request and response headers, while the request and response packets move between the client and back-end pools. También proporciona la funcionalidad para agregar condiciones a fin de asegurarse de que los encabezados especificados se vuelven a escribir solo cuando se cumplen ciertas condiciones.It also provides you with the capability to add conditions to ensure the specified headers are rewritten only when certain conditions are met.

Para más información, consulte el artículo sobre la Reescritura de encabezados HTTP.For more information, see Rewrite HTTP headers.

Ajuste de tamañoSizing

Las versiones Standard_v2 y WAF_v2 del SKU de Application Gateway se pueden configurar para las implementaciones de tamaño fijo o de escalabilidad automática.Application Gateway Standard_v2 and WAF_v2 SKU can be configured for autoscaling or fixed size deployments. Estas SKU no ofrecen tamaños de instancia diferentes.These SKUs don't offer different instance sizes. Para más información sobre el rendimiento y los precios de v2, consulte SKU de escalado automático v2.For more information on v2 performance and pricing, see Autoscaling v2 SKU.

Las versiones Standard y WAF del SKU de Application Gateway se ofrecen en tres tamaños: pequeño, mediano y grande.The Application Gateway Standard and WAF SKU is currently offered in three sizes: Small, Medium, and Large. Tamaños pequeños de instancia están pensados para escenarios de desarrollo y pruebas.Small instance sizes are intended for development and testing scenarios.

Para ver una lista completa de los límites de la puerta de enlace de aplicaciones, consulte el tema sobre los límites de servicio de Application Gateway.For a complete list of application gateway limits, see Application Gateway service limits.

En la tabla siguiente se muestra un promedio del rendimiento para cada instancia de puerta de enlace de aplicaciones v1 con descarga SSL habilitada:The following table shows an average performance throughput for each application gateway v1 instance with SSL offload enabled:

Tamaño de respuesta medio de página de back-endAverage back-end page response size PequeñaSmall MedianoMedium grandeLarge
6 KB6 KB 7,5 Mbps7.5 Mbps 13 Mbps13 Mbps 50 Mbps50 Mbps
100 KB100 KB 35 Mbps35 Mbps 100 Mbps100 Mbps 200 Mbps200 Mbps

Nota

Se trata de valores aproximados para un rendimiento de puerta de enlace de aplicaciones.These values are approximate values for an application gateway throughput. El rendimiento real depende de varios detalles del entorno, como el tamaño medio de página, la ubicación de las instancias de back-end y el tiempo de procesamiento para proporcionar una página.The actual throughput depends on various environment details, such as average page size, location of back-end instances, and processing time to serve a page. Para los números de rendimiento exactos, debe ejecutar sus propias pruebas.For exact performance numbers, you should run your own tests. Estos valores solo se proporcionan para obtener instrucciones de planeamiento de capacidad.These values are only provided for capacity planning guidance.

Pasos siguientesNext steps

Según los requisitos y el entorno, puede crear una puerta de enlace de aplicaciones de prueba mediante Azure Portal, Azure PowerShell o la CLI de Azure:Depending on your requirements and environment, you can create a test Application Gateway using either the Azure portal, Azure PowerShell, or Azure CLI: