Application Gateway の概要Overview of Application Gateway

Microsoft Azure Application Gateway は専用の仮想アプライアンスであり、アプリケーション配信コントローラー (ADC) をサービスとして提供します。Microsoft Azure Application Gateway is a dedicated virtual appliance providing application delivery controller (ADC) as a service. お客様のアプリケーションで、さまざまなレイヤー 7 負荷分散機能を利用できます。It offers various layer 7 load balancing capabilities for your application. これにより、CPU を集中的に使用する SSL 終了をお客様が Application Gateway にオフロードし、Web ファームの生産性を最適化できます。It allows customers to optimize web farm productivity by offloading CPU intensive SSL termination to the application gateway. また、着信トラフィックのラウンド ロビン分散、Cookie ベースのセッション アフィニティ、URL パス ベースのルーティング、単一の Application Gateway の背後で複数の Web サイトをホストする機能など、その他のレイヤー 7 ルーティング機能も用意されています。It also provides other layer 7 routing capabilities including round robin distribution of incoming traffic, cookie-based session affinity, URL path-based routing, and the ability to host multiple websites behind a single Application Gateway. アプリケーション ゲートウェイの WAF SKU の一部として、Web アプリケーション ファイアウォール (WAF) も提供されます。A web application firewall (WAF) is also provided as part of the application gateway WAF SKU. 一般的な Web の脆弱性や悪用から Web アプリケーションを保護します。It provides protection to web applications from common web vulnerabilities and exploits. Application Gateway は、インターネット接続ゲートウェイ、または内部的にのみ使用されるゲートウェイのいずれかとして構成できるほか、この両方を組み合わせて使用することも可能です。Application Gateway can be configured as internet facing gateway, internal only gateway, or a combination of both.

scenario

Features (機能)Features

現在、Application Gateway には次の機能があります。Application Gateway currently provides the following capabilities:

  • Web アプリケーション ファイアウォール - Azure Application Gateway の Web アプリケーション ファイアウォール (WAF) は、SQL インジェクション、クロスサイト スクリプティング攻撃、セッション ハイジャックなどの一般的な Web ベースの攻撃から Web アプリケーションを保護します。Web application firewall - The web application firewall (WAF) in Azure Application Gateway protects web applications from common web-based attacks like SQL injection, cross-site scripting attacks, and session hijacks.
  • HTTP の負荷分散 - Application Gateway は、ラウンド ロビン負荷分散を提供します。HTTP load balancing - Application Gateway provides round robin load balancing. 負荷分散は、レイヤー 7 で実行され、HTTP(S) トラフィックのみに使用されます。Load balancing is done at Layer 7 and is used for HTTP(S) traffic only.
  • Cookie ベースのセッション アフィニティ - Cookie ベースのセッション アフィニティ機能は、ユーザー セッションを同じバックエンドで保持したい場合に便利です。Cookie-based session affinity - The cookie-based session affinity feature is useful when you want to keep a user session on the same back-end. ゲートウェイで管理される Cookie を使用すると、Application Gateway は、ユーザー セッションの後続のトラフィックを、処理のために同じバックエンドに送ることができます。By using gateway-managed cookies, the Application Gateway is able to direct subsequent traffic from a user session to the same back-end for processing. この機能は、ユーザー セッションのためにセッションの状態をバックエンド サーバー上でローカルに保存する場合に重要です。This feature is important in cases where session state is saved locally on the back-end server for a user session.
  • Secure Sockets Layer (SSL) オフロード - この機能は、コストのかかる HTTPS トラフィックの暗号化解除タスクを Web サーバーから切り離します。Secure Sockets Layer (SSL) offload - This feature takes the costly task of decrypting HTTPS traffic off your web servers. SSL 接続を Application Gateway で終了し、要求を暗号化せずにサーバーに転送することにより、Web サーバーが暗号化解除を行う負荷から解放されます。By terminating the SSL connection at the Application Gateway and forwarding the request to the server unencrypted, the web server is unburdened by decryption. 応答は、Application Gateway によって再び暗号化された後、クライアントに送信されます。Application Gateway re-encrypts the response before sending it back to the client. この機能は、バックエンドが Azure の Application Gateway と同じセキュリティで保護された仮想ネットワーク内に配置されている場合に有用です。This feature is useful in scenarios where the back-end is located in the same secured virtual network as the Application Gateway in Azure.
  • エンド ツー エンド SSL - Application Gateway は、トラフィックのエンド ツー エンド暗号化をサポートしています。End to End SSL - Application Gateway supports end to end encryption of traffic. これは、Application Gateway で SSL 接続を終了することによってサポートされます。Application Gateway does this by terminating the SSL connection at the application gateway. ゲートウェイでは、その後、トラフィックへのルーティング規則の適用、パケットの再暗号化、定義済みのルーティング規則に基づいた適切なバックエンドへのパケットの転送が実行されます。The gateway then applies the routing rules to the traffic, re-encrypts the packet, and forwards the packet to the appropriate backend based on the routing rules defined. Web サーバーからの応答は、同じ手順でエンドユーザーに移動します。Any response from the web server goes through the same process back to the end user.
  • URL ベースのコンテンツ ルーティング - この機能は、トラフィックごとに異なるバックエンド サーバーを使用する機能を提供します。URL-based content routing - This feature provides the capability to use different back-end servers for different traffic. Web サーバー上のフォルダーまたは CDN に対するトラフィックを異なるバックエンドにルーティングできます。Traffic for a folder on the web server or for a CDN could be routed to a different back-end. この機能により、特定のコンテンツを提供しないバックエンドに対する不要な負荷を減らすことができます。This capability reduces unneeded load on backends that don't serve specific content.
  • マルチサイト ルーティング - Application Gateway では、単一のアプリケーション ゲートウェイに最大 20 個の Web サイトを統合できます。Multi-site routing - Application gateway allows for you to consolidate up to 20 websites on a single application gateway.
  • WebSocket のサポート - Application Gateway のもう 1 つの優れた機能として、WebSocket がネイティブでサポートされます。Websocket support - Another great feature of Application Gateway is the native support for Websocket.
  • 正常性の監視 - Application Gateway は、バックエンド リソースの既定の正常性の監視と、より具体的なシナリオを監視するカスタム プローブを提供します。Health monitoring - Application gateway provides default health monitoring of backend resources and custom probes to monitor for more specific scenarios.
  • SSL ポリシーと暗号 - この機能によって、サポートされる SSL プロトコルのバージョンと暗号スイート、およびそれらが処理される順序を制限することができます。SSL Policy and Ciphers - This feature provides the ability to limit the SSL protocol versions and the ciphers suites that are supported and the order in which they are processed.
  • 要求のリダイレクト - HTTP の要求を HTTPS リスナーにリダイレクトする機能です。Request redirect - This feature provides the capability to redirect HTTP requests to an HTTPS listener.
  • マルチテナント バックエンドのサポート - Application Gateway では、Azure Web Apps や API ゲートウェイなどのマルチテナント バックエンド サービスをバックエンド プール メンバーとして構成できます。Multi-tenant back-end support - Application gateway supports configuring multi-tenant back-end services like Azure Web Apps and API Gateway as back-end pool members.
  • 高度な診断 - Application Gateway は、完全な診断とアクセス ログを提供します。Advanced diagnostics - Application gateway provides full diagnostics and access logs. WAF が有効になっているアプリケーション ゲートウェイに対してファイアウォールのログを使用できます。Firewall logs are available for application gateway resources that have WAF enabled.

メリットBenefits

Application Gateway は、以下の用途に便利です。Application Gateway is useful for:

  • 同じユーザー/クライアントのセッションからの要求が同じバックエンド仮想マシンに到達する必要があるアプリケーション。Applications that require requests from the same user/client session to reach the same back-end virtual machine. これらのアプリケーションの例としては、ショッピング カート アプリケーションや Web メール サーバーなどが挙げられます。Examples of these applications would be shopping cart applications and web mail servers.
  • Web サーバー ファームの SSL 終了のオーバーヘッドの削減。Removing SSL termination overhead for web server farms.
  • 実行時間の長い同じ TCP 接続で複数の HTTP 要求を異なるバックエンド サーバーにルーティング/負荷分散する必要があるアプリケーション (コンテンツ配信ネットワークなど)。Applications, such as a content delivery network, that requires multiple HTTP requests on the same long-running TCP connection to be routed or load balanced to different back-end servers.
  • WebSocket トラフィックをサポートするアプリケーションApplications that support websocket traffic
  • SQL インジェクション、クロスサイト スクリプティング攻撃、セッション ハイジャックなどの一般的な Web ベースの攻撃に対する Web アプリケーションの保護。Protecting web applications from common web-based attacks like SQL injection, cross-site scripting attacks, and session hijacks.
  • URL パスやドメイン ヘッダーなど、さまざまなルーティング条件に基づいたトラフィックの論理的な分散。Logical distribution of traffic based on different routing criteria such as, url path or domain headers.

Application Gateway は Azure によって完全に管理され、非常にスケーラブルで、高い可用性を備えています。Application Gateway is fully Azure managed, scalable and highly available. 管理しやすいように診断機能とログ機能が豊富に用意されているほか、It provides a rich set of diagnostics and logging capabilities for better manageability. アプリケーション ゲートウェイを作成すると、エンドポイント (パブリック VIP または内部 ILB IP) が関連付けられ、イングレス ネットワーク トラフィックに使用されます。When you create an application gateway, an endpoint (public VIP or internal ILB IP) is associated and used for ingress network traffic. この VIP または ILB IP は、Azure Load Balancer によって提供されます。Azure Load Balancer は、トランスポート レベル (TCP/UDP) で機能し、すべての受信ネットワーク トラフィックの負荷を Application Gateway worker インスタンスに分散します。This VIP or ILB IP is provided by Azure Load Balancer working at the transport level (TCP/UDP) and having all incoming network traffic being load balanced to the application gateway worker instances. その後、Application Gateway は、仮想マシン、クラウド サービス、内部または外部 IP アドレスのいずれであるかにかかわらず、その構成に基づいて HTTP/HTTPS トラフィックをルーティングします。The application gateway then routes the HTTP/HTTPS traffic based on its configuration whether it's a virtual machine, cloud service, internal or an external IP address.

Azure で管理されるサービスとしての Application Gateway の負荷分散により、Azure のソフトウェア ロード バランサーの背後でレイヤー 7 ロード バランサーをプロビジョニングできます。Application Gateway load balancing as an Azure-managed service allows the provisioning of a layer 7 load balancer behind the Azure software load balancer. Traffic Manager を使用して、次の図のようなシナリオを作成します。このシナリオでは、Traffic Manager は、さまざまなリージョンの複数のアプリケーション ゲートウェイ リソースに対するトラフィックにリダイレクトと可用性を提供し、アプリケーション ゲートウェイは、リージョン間でレイヤー 7 の負荷分散を実現します。Traffic manager can be used to complete the scenario as seen in the following image, where Traffic Manager provides redirection and availability of traffic to multiple application gateway resources in different regions, while application gateway provides cross region layer 7 load balancing. このシナリオの例については、「Using load balancing services in the Azure cloud (Azure クラウドの負荷分散サービスの使用)」を参照してくださいAn example of this scenario can be found at: Using load balancing services in the Azure cloud

トラフィック マネージャーとアプリケーション ゲートウェイのシナリオ

Load Balancer の相違点Load Balancer differences

Microsoft Azure を使用してネットワーク トラフィックを分散するには、さまざまなオプションがあります。There are different options to distribute network traffic using Microsoft Azure. これらのオプションはそれぞれ動作が異なり、さまざまな機能セットが含まれ、さまざまなシナリオをサポートします。These options work differently from each other, having a different feature set and support different scenarios. オプションは単独または組み合わせて使用することができます。They can each be used in isolation, or combining them.

  • Azure Load Balancer は、トランスポート層で動作します (OSI ネットワーク参照モデルの第 4 層)。Azure Load Balancer works at the transport layer (Layer 4 in the OSI network reference stack). これは、同じ Azure データ センターで実行するアプリケーションのインスタンス間で、トラフィックのネットワーク レベルの分散を提供します。It provides network-level distribution of traffic across instances of an application running in the same Azure data center.
  • Application Gateway は、アプリケーション層で動作します (OSI ネットワーク参照モデルの第 7 層)。Application Gateway works at the application layer (Layer 7 in the OSI network reference stack). これは、クライアント接続を終了して、バックエンドのエンドポイントへの要求を転送し、リバース プロキシ サービスとして機能します。It acts as a reverse-proxy service, terminating the client connection and forwarding requests to back-end endpoints.
  • Traffic Manager は、DNS レベルで動作します。Traffic Manager works at the DNS level. これは、DNS 応答を使用して、エンドユーザーのトラフィックをグローバルに分散されたエンドポイントに送信します。It uses DNS responses to direct end-user traffic to globally distributed endpoints. その後、クライアントは、それらのエンドポイントに直接接続します。Clients then connect to those endpoints directly.

次の表では、各サービスで提供される機能についてまとめています。The following table summarizes the features offered by each service:

サービスService Azure Load BalancerAzure Load Balancer Application GatewayApplication Gateway Traffic ManagerTraffic Manager
テクノロジTechnology トランスポート レベル (第 4 層)Transport level (Layer 4) アプリケーション レベル (第 7 層)Application level (Layer 7) DNS レベルDNS level
サポート対象アプリケーション プロトコルApplication protocols supported 任意Any HTTP、HTTPS、および WebSocketHTTP, HTTPS, and WebSockets 任意 (HTTP エンドポイントはエンドポイントの監視に必要です)Any (An HTTP endpoint is required for endpoint monitoring)
エンドポイントEndpoints Azure VM と Cloud Services のロール インスタンスAzure VMs and Cloud Services role instances 任意の Azure 内部 IP アドレス、パブリック インターネット IP アドレス、Azure VM、または Azure クラウド サービスAny Azure internal IP address, public internet IP address, Azure VM, or Azure Cloud Service Azure VM、Cloud Services、Azure Web Apps および外部エンドポイントAzure VMs, Cloud Services, Azure Web Apps, and external endpoints
VNet のサポートVnet support インターネット接続と内部 (VNet) のアプリケーションの両方に使用できますCan be used for both Internet facing and internal (Vnet) applications インターネット接続と内部 (VNet) のアプリケーションの両方に使用できますCan be used for both Internet facing and internal (Vnet) applications インターネットに接続するアプリケーションのみをサポートしますOnly supports Internet-facing applications
エンドポイントの監視Endpoint Monitoring プローブ経由でサポートSupported via probes プローブ経由でサポートSupported via probes HTTP/HTTPS GET 経由でサポートSupported via HTTP/HTTPS GET

Azure Load Balancer と Application Gateway では、ネットワーク トラフィックをエンドポイントに転送しますが、処理するトラフィックによってさまざまな使用シナリオがあります。Azure Load Balancer and Application Gateway route network traffic to endpoints but they have different usage scenarios to which traffic to handle. 次の表は、2 つのロード バランサーの相違点を理解するために役立ちます。The following table helps understanding the difference between the two load balancers:

Type Azure Load BalancerAzure Load Balancer Application GatewayApplication Gateway
プロトコルProtocols UDP/TCPUDP/TCP HTTP、HTTPS、および WebSocketHTTP, HTTPS, and WebSockets
IP ReservationIP reservation サポートされていますSupported サポートされていませんNot supported
負荷分散モードLoad balancing mode 5 組 (発信元 IP、発信元ポート、接続先 IP、接続先ポート、プロトコルの種類)5-tuple(source IP, source port, destination IP, destination port, protocol type) ラウンド ロビンRound Robin
URL に基づくルーティングRouting based on URL
負荷分散モード (発信元 IP/スティッキー セッション)Load balancing mode (source IP /sticky sessions) 2 組 (発信元 IP と接続先 IP)、3 組 (発信元 IP、接続先 IP、および接続先ポート)。2-tuple (source IP and destination IP), 3-tuple (source IP, destination IP, and port). 仮想マシンの数に基づいて、スケールアップまたはスケールダウンできますCan scale up or down based on the number of virtual machines Cookie ベースのアフィニティCookie-based affinity
URL に基づくルーティングRouting based on URL
正常性プローブHealth probes 既定値: プローブ間隔 -15 秒。Default: probe interval - 15 secs. 循環から除外: 2 回連続のエラー。Taken out of rotation: 2 Continuous failures. ユーザー定義のプローブをサポートしますSupports user-defined probes アイドル状態のプローブ間隔 30 秒。Idle probe interval 30 secs. 5 回連続するライブ トラフィック障害またはアイドル モードでの単一のプローブ障害の後に除外。Taken out after 5 consecutive live traffic failures or a single probe failure in idle mode. ユーザー定義のプローブをサポートしますSupports user-defined probes
SSL オフロードSSL offloading サポートされていませんNot supported サポートされていますSupported
URL ベースのルーティングUrl-based routing サポートされていませんNot supported サポートされていますSupported
SSL ポリシーSSL Policy サポートされていませんNot supported サポートされていますSupported

ゲートウェイのサイズとインスタンスGateway sizes and instances

現在、Application Gateway は SmallMediumLarge の 3 つのサイズで提供されています。Application Gateway is currently offered in three sizes: Small, Medium, and Large. Small サイズのインスタンスは、開発用およびシナリオのテスト用です。Small instance sizes are intended for development and testing scenarios.

サブスクリプションごとに最大 50 個のアプリケーション ゲートウェイを作成でき、アプリケーション ゲートウェイごとに最大 10 個のインスタンスを使用できます。You can create up to 50 application gateways per subscription, and each application gateway can have up to 10 instances each. 各アプリケーション ゲートウェイは、20 個の HTTP リスナーで構成できます。Each application gateway can consist of 20 http listeners. アプリケーション ゲートウェイの制限の詳細な一覧については、Application Gateway サービスの制限に関するページをご覧ください。For a complete list of application gateway limits, see Application Gateway service limits.

次の表では、SSL オフロードが有効になっているアプリケーション ゲートウェイ インスタンスごとにパフォーマンス スループットの平均値を示します。The following table shows an average performance throughput for each application gateway instance with SSL offload enabled:

バックエンド ページの応答Back-end page response SmallSmall Medium LargeLarge
6K6K 7.5 Mbps7.5 Mbps 13 Mbps13 Mbps 50 Mbps50 Mbps
100K100K 35 Mbps35 Mbps 100 Mbps100 Mbps 200 Mbps200 Mbps

注意

これらの値は、アプリケーション ゲートウェイ スループットのおおよその値です。These values are approximate values for an application gateway throughput. 実際のスループットは、平均ページ サイズ、バックエンド インスタンスの場所、ページの処理時間など、さまざまな環境の違いによって異なります。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. パフォーマンス面の正確な数値は、ご自身でテストを実施のうえご確認ください。For exact performance numbers, you should run your own tests. ここに挙げた数値は、容量計画の参考とすることを目的として記載したものにすぎません。These values are only provided for capacity planning guidance.

正常性の監視Health monitoring

Azure Application Gateway は、基本またはカスタムの正常性プローブを使用してバックエンド インスタンスの正常性を自動的に監視します。Azure Application Gateway automatically monitors the health of the back-end instances through basic or custom health probes. 正常性プローブを使用すると、正常なホストのみがトラフィックに応答する状態を確保できます。By using health probes, it ensures that only healthy hosts respond to traffic. 詳細については、「 Application Gateway による正常性監視の概要」を参照してください。For more information, see Application Gateway health monitoring overview.

構成と管理Configuring and managing

アプリケーション ゲートウェイは、そのエンドポイントに対して、パブリック IP、プライベート IP、またはその両方を持つことができます。For its endpoint, application gateway can have a public IP, private IP, or both when it is configured. アプリケーション ゲートウェイは、独自のサブネットの仮想ネットワーク内に構成されます。Application Gateway is configured inside a virtual network in its own subnet. アプリケーション ゲートウェイ用に作成または使用されるサブネットには、他の種類のリソースを含めることはできません。サブネットに含めることができるリソースは、他のアプリケーション ゲートウェイのみです。The subnet created or used for application gateway cannot contain any other types of resources, the only resources that are allowed in the subnet are other application gateways. バックエンド リソースをセキュリティで保護するために、アプリケーション ゲートウェイと同じ仮想ネットワークの別のサブネット内に、バックエンド サーバーを含めることができます。To secure your backend resources, the backend servers can be contained within a different subnet in the same virtual network as the application gateway. このサブネットは、バックエンド アプリケーションに必須ではありません。This subnet is not required for the backend applications. アプリケーション ゲートウェイは IP アドレスにアクセスできる限り、バックエンド サーバーに ADC 機能を提供することができます。As long as the application gateway can reach the ip address, application gateway is able to provide ADC capabilities for the backend servers.

REST API、PowerShell コマンドレット、Azure CLI、または Azure Portalを使用して、アプリケーション ゲートウェイを作成および管理できます。You can create and manage an application gateway by using REST APIs, PowerShell cmdlets, Azure CLI, or Azure portal. アプリケーション ゲートウェイに関するその他の質問については、Application Gateway の FAQ に関する記事のよく寄せられる質問の一覧を参照してください。For additional questions on Application gateway visit Application Gateway FAQ to view a list of common frequently asked questions.

価格Pricing

料金は、1 時間あたりのゲートウェイ インスタンスの料金とデータ処理の料金に基づいています。Pricing is based on per hour gateway instance charge and data processing charge. WAF SKU の 1 時間あたりのゲートウェイ価格は、Standard SKU の料金とは異なります。Per hour gateway pricing for the WAF SKU is different from Standard SKU charges. この価格情報については、Application Gateway の価格の詳細に関するページを参照してください。This pricing information can be found at Application Gateway pricing details. データ処理の料金は同じです。Data processing charges remain the same.

FAQFAQ

Application Gateway に関してよく寄せられる質問については、Application Gateway の FAQ に関する記事を参照してください。For frequently asked questions about Application Gateway, see Application Gateway FAQ.

次のステップNext steps

アプリケーション ゲートウェイについて学習すると、アプリケーション ゲートウェイを作成することも、アプリケーション ゲートウェイ SSL オフロードを作成して HTTPS 接続を負荷分散することもできるようになります。After learning about Application gateway, you can create an application gateway or you can create an application gateway SSL offload to load-balance HTTPS connections.

URL ベースのコンテンツ ルーティングを使用してアプリケーション ゲートウェイを作成する方法については、「 URL ベースのルーティングを使用して Application Gateway を作成する 」を参照してください。To learn how to create an application gateway using URL-based content routing, go to Create an application gateway using URL-based routing for more information.

その他 Azure の重要なネットワーク機能については、Azure のネットワークに関するページを参照してください。To learn about some of the other key networking capabilities of Azure, see Azure Networking.