O que é o Gateway de Aplicativo do Azure?What is Azure Application Gateway?

O Gateway de Aplicativo do Azure é um balanceador de carga do tráfego da Web que permite que você gerencie o tráfego para seus aplicativos Web.Azure Application Gateway is a web traffic load balancer that enables you to manage traffic to your web applications. Os balanceadores de carga tradicionais operam na camada de transporte (camada OSI 4 – TCP e UDP) e encaminham o tráfego com base no endereço IP de origem e na porta para um endereço IP de destino e uma porta.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.

Gateway de Aplicativo conceitual

Com o Gateway de Aplicativo, é possível tomar decisões de roteamento com base em outros atributos de uma solicitação HTTP, como o caminho de URI ou os cabeçalhos de host.With Application Gateway, you can make routing decisions based on additional attributes of an HTTP request, such as URI path or host headers. Por exemplo, você pode encaminhar o tráfego com base na URL de entrada.For example, you can route traffic based on the incoming URL. Portanto, se /images estiver na URL de entrada, você poderá encaminhar o tráfego para um conjunto específico de servidores (conhecido como um pool) configurado para as imagens.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. Se /video estiver na URL, esse tráfego será encaminhado para outro pool otimizado para vídeos.If /video is in the URL, that traffic is routed to another pool that's optimized for videos.

imageURLroute

Esse tipo de roteamento é conhecido como balanceamento de carga da camada de aplicativo (camada OSI 7).This type of routing is known as application layer (OSI layer 7) load balancing. O Gateway de Aplicativo do Azure pode fazer o roteamento baseado em URL e muito mais.Azure Application Gateway can do URL-based routing and more.

Os seguintes recursos estão incluídos no Gateway de Aplicativo do Azure:The following features are included with Azure Application Gateway:

Terminação do protocolo SSL/TLS (Secure Sockets Layer)Secure Sockets Layer (SSL/TLS) termination

O gateway de aplicativo dá suporte a terminação SSL/TLS no gateway, pelo qual o tráfego flui geralmente descriptografado até os servidores de back-end.Application gateway supports SSL/TLS termination at the gateway, after which traffic typically flows unencrypted to the backend servers. Esse recurso permite que os servidores Web fiquem livres da sobrecarga da criptografia e descriptografia dispendiosa.This feature allows web servers to be unburdened from costly encryption and decryption overhead. Mas, às vezes, a comunicação não criptografada com os servidores não é uma opção aceitável.But sometimes unencrypted communication to the servers is not an acceptable option. Isso pode ocorrer devido a requisitos de segurança, de conformidade ou o aplicativo pode aceitar apenas uma conexão segura.This can be because of security requirements, compliance requirements, or the application may only accept a secure connection. Para tais aplicativos, o Gateway de Aplicativo dá suporte à criptografia SSL/TLS de ponta a ponta.For these applications, application gateway supports end to end SSL/TLS encryption.

Dimensionamento automáticoAutoscaling

Implantações do Gateway de Aplicativo ou do WAF sob o SKU Standard_v2 ou WAF_v2 dão suporte ao dimensionamento automático e podem ser aumentadas ou reduzidas com base na mudança dos padrões de carga de tráfego.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. O escalonamento automático também remove o requisito de escolher um tamanho de implantação ou contagem de instâncias durante o provisionamento.Autoscaling also removes the requirement to choose a deployment size or instance count during provisioning. Para saber mais sobre os recursos standard_v2 e WAF_v2 do Gateway de Aplicativo, confira Dimensionamento automático do SKU v2.For more information about the Application Gateway standard_v2 and WAF_v2 features, see Autoscaling v2 SKU.

Redundância de zonaZone redundancy

Um Gateway de Aplicativo ou implantações WAF no SKU Standard_v2 ou WAF_v2 pode abranger várias Zonas de Disponibilidade, que oferecem uma melhor resiliência a falhas e que acabam com a necessidade de provisionar Gateways de Aplicativo separados em 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.

VIP estáticoStatic VIP

O gateway de aplicativo VIP no SKU Standard_v2 ou WAF_v2 é compatível exclusivamente com o tipo VIP estático.The application gateway VIP on Standard_v2 or WAF_v2 SKU supports static VIP type exclusively. Isso garante que o VIP associado ao gateway de aplicativo não seja alterado mesmo durante o tempo de vida do Gateway de Aplicativo.This ensures that the VIP associated with application gateway doesn't change even over the lifetime of the Application Gateway.

Firewall do aplicativo WebWeb application firewall

O Firewall do aplicativo Web (WAF) é um recurso do Gateway de Aplicativo que fornece proteção centralizada de seus aplicativos Web de vulnerabilidades e explorações comuns.Web application firewall (WAF) is a feature of Application Gateway that provides centralized protection of your web applications from common exploits and vulnerabilities. O WAF é baseado em regras dos conjuntos de regras de núcleo do OWASP (Open Web Application Security Project) 3.0 ou 2.2.9.WAF is based on rules from the OWASP (Open Web Application Security Project) core rule sets 3.0 or 2.2.9.

Os aplicativos Web cada vez mais são alvos de ataques mal-intencionados que exploram vulnerabilidades conhecidas comuns.Web applications are increasingly targets of malicious attacks that exploit common known vulnerabilities. Os ataques de injeção de SQL, os ataques de scripts entre sites, entre outros, são comuns entre essas explorações.Common among these exploits are SQL injection attacks, cross site scripting attacks to name a few. Pode ser difícil impedir esses ataques no código do aplicativo e isso pode exigir manutenção, aplicação de patches e monitoramento rigorosos em muitas camadas da topologia do aplicativo.Preventing such attacks in application code can be challenging and may require rigorous maintenance, patching and monitoring at many layers of the application topology. Um firewall de aplicativo Web centralizado ajuda a simplificar bastante o gerenciamento de segurança e oferece mais garantia ao administrador do aplicativo contra ameaças ou invasões.A centralized web application firewall helps make security management much simpler and gives better assurance to application administrators against threats or intrusions. Uma solução WAF também pode reagir a uma ameaça de segurança mais rapidamente ao aplicar um patch contra uma vulnerabilidade conhecida em um local central do que a proteção de cada um dos aplicativos Web individuais.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. Os gateways de aplicativos existentes podem ser facilmente convertidos em um gateway de aplicativo com firewall de aplicativo Web.Existing application gateways can be converted to a web application firewall enabled application gateway easily.

Para obter mais informações, confira Firewall do aplicativo Web (WAF) no Gateway de Aplicativo.For more information, see Web application firewall (WAF) in Application Gateway).

Roteamento baseado em URLURL-based routing

O Roteamento Baseado em Caminho de URL permite rotear o tráfego para pools do servidor de back-end com base nos Caminhos de URL da solicitação.URL Path Based Routing allows you to route traffic to back-end server pools based on URL Paths of the request. Um dos cenários possíveis é encaminhar as solicitações de diferentes tipos de conteúdo para diferentes pools.One of the scenarios is to route requests for different content types to different pool.

Por exemplo, as solicitações de http://contoso.com/video/* são encaminhadas para VideoServerPool, e as de http://contoso.com/images/* são encaminhadas para ImageServerPool.For example, requests for http://contoso.com/video/* are routed to VideoServerPool, and http://contoso.com/images/* are routed to ImageServerPool. O DefaultServerPool será selecionado se nenhum dos padrões de caminho forem compatíveis.DefaultServerPool is selected if none of the path patterns match.

Para obter mais informações, consulte roteamento baseado em URL com o Gateway de Aplicativo.For more information, see URL-based routing with Application Gateway.

Hospedagem de vários sitesMultiple-site hosting

A hospedagem de vários sites permite que você configure mais de um site na mesma instância de gateway de aplicativo.Multiple-site hosting enables you to configure more than one web site on the same application gateway instance. Esse recurso permite que você configure uma topologia mais eficiente para suas implantações, adicionando até 100 sites a um gateway de aplicativo.This feature allows you to configure a more efficient topology for your deployments by adding up to 100 web sites to one application gateway. Cada site pode ser direcionado para seu próprio pool.Each web site can be directed to its own pool. Por exemplo, o gateway de aplicativo pode fornecer o tráfego para contoso.com e fabrikam.com de dois pools de servidores chamados ContosoServerPool e FabrikamServerPool.For example, application gateway can serve traffic for contoso.com and fabrikam.com from two server pools called ContosoServerPool and FabrikamServerPool.

As solicitações de http://contoso.com são encaminhadas para ContosoServerPool, e as de http://fabrikam.com são encaminhadas para FabrikamServerPool.Requests for http://contoso.com are routed to ContosoServerPool, and http://fabrikam.com are routed to FabrikamServerPool.

Da mesma forma, dois subdomínios do mesmo domínio pai podem ser hospedados na mesma implantação de gateway de aplicativo.Similarly, two subdomains of the same parent domain can be hosted on the same application gateway deployment. Exemplos de uso de subdomínios podem incluir http://blog.contoso.com e http://app.contoso.com hospedados em uma implantação de gateway de aplicativo único.Examples of using subdomains could include http://blog.contoso.com and http://app.contoso.com hosted on a single application gateway deployment.

Para obter mais informações, consulte hospedagem de vários sites com o Gateway de Aplicativo.For more information, see multiple-site hosting with Application Gateway.

RedirecionamentoRedirection

Um cenário comum para muitos aplicativos Web é dar suporte ao redirecionamento automático de HTTP para HTTPS para garantir que toda a comunicação entre o aplicativo e seus usuários ocorra em um caminho criptografado.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.

No passado, talvez você tenha usado técnicas como a criação de um pool dedicado cujo único propósito é redirecionar as solicitações recebidas em HTTP para 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. O gateway de aplicativo dá suporte à capacidade de redirecionar o tráfego no Gateway de Aplicativo.Application gateway supports the ability to redirect traffic on the Application Gateway. Isso simplifica a configuração do aplicativo, otimiza o uso de recursos e dá suporte a novos cenários de redirecionamento, incluindo redirecionamento global e baseado no caminho.This simplifies application configuration, optimizes the resource usage, and supports new redirection scenarios, including global and path-based redirection. O suporte ao redirecionamento do Gateway de Aplicativo não está limitado apenas ao redirecionamento de HTTP para HTTPS.Application Gateway redirection support isn't limited to HTTP to HTTPS redirection alone. Esse é um mecanismo de redirecionamento genérico; portanto, você pode redirecionar bidirecionalmente em qualquer porta definida usando regras.This is a generic redirection mechanism, so you can redirect from and to any port you define using rules. Ele também dá suporte a redirecionamento para um site externo.It also supports redirection to an external site as well.

O suporte a redirecionamento do Gateway de Aplicativo oferece os seguintes recursos:Application Gateway redirection support offers the following capabilities:

  • Redirecionamento global de uma porta para outra porta no Gateway.Global redirection from one port to another port on the Gateway. Isso habilita o redirecionamento de HTTP para HTTPS em um site.This enables HTTP to HTTPS redirection on a site.
  • Redirecionamento baseado em caminho.Path-based redirection. Esse tipo de redirecionamento permite o redirecionamento de HTTP para HTTPS apenas em uma área específica do site, por exemplo, uma área de carrinho de compras indicada por /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/*.
  • Redirecionamento para um site externo.Redirect to an external site.

Para obter mais informações, consulte tráfego de redirecionamento com o Gateway de Aplicativo.For more information, see redirecting traffic with Application Gateway.

Afinidade de sessãoSession affinity

O recurso de afinidade de sessão baseada em cookies é útil quando você deseja manter uma sessão de usuário no mesmo servidor.The cookie-based session affinity feature is useful when you want to keep a user session on the same server. Usando cookies gerenciados pelo gateway, o Gateway de Aplicativo pode direcionar o tráfego seguinte de uma sessão de usuário para o mesmo servidor para processamento.By using gateway-managed cookies, the Application Gateway can direct subsequent traffic from a user session to the same server for processing. Isso é importante em casos em que o estado de sessão é salvo localmente no servidor para uma sessão de usuário.This is important in cases where session state is saved locally on the server for a user session.

Tráfego do WebSocket e HTTP/2Websocket and HTTP/2 traffic

O Gateway de Aplicativo fornece suporte nativo para os protocolos WebSocket e HTTP/2.Application Gateway provides native support for the WebSocket and HTTP/2 protocols. Não há nenhuma configuração configurável pelo usuário para habilitar ou desabilitar seletivamente o suporte ao WebSocket.There's no user-configurable setting to selectively enable or disable WebSocket support.

Os protocolos WebSocket e HTTP/2 permitem uma comunicação full duplex entre um servidor e um cliente em uma conexão TCP de execução longa.The WebSocket and HTTP/2 protocols enable full duplex communication between a server and a client over a long running TCP connection. Isso permite uma comunicação mais interativa entre o servidor Web e o cliente, que pode ser bidirecional, sem a necessidade de sondagem, necessária nas implementações baseadas em 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. Esses protocolos têm baixa sobrecarga, ao contrário do HTTP, e podem reutilizar a mesma conexão TCP para várias solicitações/respostas, resultando em uma utilização mais eficiente de recursos.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 . Esses protocolos foram projetados para funcionar em portas HTTP tradicionais de 80 e 443.These protocols are designed to work over traditional HTTP ports of 80 and 443.

Para obter mais informações, consulte suporte ao WebSocket e suporte ao HTTP/2.For more information, see WebSocket support and HTTP/2 support.

Versão prévia do controlador de entrada do AKS (Serviço de Kubernetes do Azure)Azure Kubernetes Service (AKS) Ingress controller preview

O controlador de entrada do Gateway de Aplicativo é executado como um pod no cluster do AKS e permite que o Gateway de Aplicativo atue como entrada para um cluster do 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. Isso é compatível somente com o Gateway de Aplicativo v2.This is supported with Application Gateway v2 only.

Para obter mais informações, confira Controlador de ingresso do Gateway de Aplicativo do Azure.For more information, see Azure Application Gateway Ingress Controller.

Descarregamento de conexãoConnection draining

O descarregamento de conexão ajuda você a efetuar a remoção normal de membros do pool de back-end durante atualizações de serviço planejadas.Connection draining helps you achieve graceful removal of backend pool members during planned service updates. Essa configuração é habilitada por meio da configuração do http de back-end e pode ser aplicada a todos os membros de um pool de back-end durante a criação da regra.This setting is enabled via the backend http setting and can be applied to all members of a backend pool during rule creation. Com a configuração habilitada, o Gateway de Aplicativo garante que todas as instâncias de um pool de back-end cujos registros forem cancelados não receberão nenhuma nova solicitação, permitindo que solicitações existentes sejam concluídas dentro de um limite de tempo 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. Isso se aplica a instâncias de back-end removidas explicitamente do pool de back-end por uma chamada à API e a instâncias de back-end relatadas como não íntegras, conforme determinado por investigações de integridade.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.

Páginas de erro personalizadasCustom error pages

O Gateway de Aplicativo permite que você crie páginas de erro personalizadas em vez de exibir páginas de erro padrão.Application Gateway allows you to create custom error pages instead of displaying default error pages. Você pode usar sua própria identidade visual e layout em uma página de erro personalizada.You can use your own branding and layout using a custom error page.

Para obter mais informações, confira Erros Personalizados.For more information, see Custom Errors.

Reescrever cabeçalhos HTTPRewrite HTTP headers

Os cabeçalhos HTTP permitem que o cliente e o servidor passem informações adicionais com a solicitação ou a resposta.HTTP headers allow the client and server to pass additional information with the request or the response. A reescrita desses cabeçalhos HTTP ajuda você a realizar vários cenários importantes, como:Rewriting these HTTP headers helps you accomplish several important scenarios, such as:

  • Adição de campos de cabeçalho relacionados à segurança, como HSTS/X-XSS-Protection.Adding security-related header fields like HSTS/ X-XSS-Protection.
  • Remoção de campos de cabeçalho de resposta que podem revelar informações confidenciais.Removing response header fields that can reveal sensitive information.
  • Remoção de informações de porta de cabeçalhos X-Forwarded-For.Stripping port information from X-Forwarded-For headers.

O Gateway de Aplicativo dá suporte à capacidade de adicionar, remover ou atualizar solicitações HTTP e cabeçalhos de resposta, enquanto os pacotes de solicitação e resposta são transferidos entre os pools de cliente e de back-end.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. Ele também fornece a capacidade de adicionar condições para garantir que os cabeçalhos especificados sejam reescritos somente quando determinadas condições forem atendidas.It also provides you with the capability to add conditions to ensure the specified headers are rewritten only when certain conditions are met.

Para saber mais, confira Reescrever cabeçalhos HTTP.For more information, see Rewrite HTTP headers.

DimensionamentoSizing

O SKU Standard_v2 e WAF_v2 do Gateway de Aplicativo pode ser configurado para dimensionamento automático ou para implantações de tamanho fixas.Application Gateway Standard_v2 and WAF_v2 SKU can be configured for autoscaling or fixed size deployments. Esses SKUs não oferecem diferentes tamanhos de instância.These SKUs don't offer different instance sizes.

No momento, o SKU Standard e WAF do Gateway de Aplicativo é oferecido em três tamanhos: Pequeno, Médio e Grande.The Application Gateway Standard and WAF SKU is currently offered in three sizes: Small, Medium, and Large. Os tamanhos de instância pequenos são destinados a cenários de desenvolvimento e teste.Small instance sizes are intended for development and testing scenarios.

Para obter uma lista completa de limites do gateway de aplicativo, consulte Limites de serviço do Gateway de Aplicativo.For a complete list of application gateway limits, see Application Gateway service limits.

A tabela a seguir mostra uma produtividade de desempenho médio para cada instância do gateway de aplicativo com o descarregamento SSL habilitado:The following table shows an average performance throughput for each application gateway instance with SSL offload enabled:

Tamanho médio de resposta de página de back-endAverage back-end page response size PequenaSmall MédiaMedium 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

Observação

Esses valores são valores aproximados para uma produtividade do Gateway de Aplicativo.These values are approximate values for an application gateway throughput. A produtividade real depende de diversos detalhes de ambiente, como o tamanho médio da página, a localização das instâncias de back-end e o tempo de processamento para fornecer de uma 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 obter números de desempenho exatos, você deve executar seus próprios testes.For exact performance numbers, you should run your own tests. Esses valores são fornecidos apenas para a orientação do planejamento de capacidade.These values are only provided for capacity planning guidance.

Próximas etapasNext steps

Dependendo de seus requisitos e do ambiente, você pode criar um Gateway de Aplicativo de teste usando o portal do Azure, o Azure PowerShell ou a CLI do Azure:Depending on your requirements and environment, you can create a test Application Gateway using either the Azure portal, Azure PowerShell, or Azure CLI: