セキュリティとガバナンス

Azure Application Gatewayとは?その概要と機能、メリットについて

自然災害やサーバーの故障時、あるいはECサイトでアクセスが集中した場合、ネットワークとサーバーの処理速度が低下して、Webサイトが表示されなくなったり接続できなくなったりすることがあります。このような障害を防ぐために、負荷(load)を分散して平衡を保つ(Balancer)仕組みが「ロードバランサー」です。

Azureにはネットワークや仮想マシンへの負荷を分散して安定したサービスを提供する機能として「Azure Traffic Manager」「Azure Load Balancer」「Azure Application Gateway」があります。

ここでは、Azure Application Gatewayのメリットと機能、他の機能との違いや関連性について解説します。

azure-application-gateway

Microsoft Azure製品カタログ

Azure Load Balancerとの違い

一般的なロードバランサーとして、Azureでネットワークのトラフィックに対して負荷分散を行う機能は、Azure Load Balancerです。Azure Load BalancerとAzure Application Gatewayは、クライアントからの通信をどのように処理するかという役割で異なります。

Azure Load Balancerからサーバーへの通信は、クライアントIPを送信元として、Azure Load BalancerのフロントエンドのIPから組み込みによるネットワークにアドレス変換 (NAT) した後、仮想マシンに送信します。通信の戻りは、クライアントのIPをAzure Load BalancerのフロントエンドのIPからクライアントと通信して、プライベートネットワークを保護します。

一方、配信コントローラーとして「Azure Application Gateway」では、Webアプリケーションのトラフィックを管理して負荷分散を担います。Azure Load Balancerとの違いは、Application Gatewayが内部IPつまり通信するインスタンスのIPを使って、仮想マシンと送受信を行う点です。したがって、Azure Load Balancerからパスの振り分けによって柔軟な負荷分散が可能です。

なお、「Azure Traffic Manager」は、DNSによって負荷分散を行う機能です。

Azure Application Gatewayを作成すると、Azure Load Balancerによるエンドポイントが作成されます。したがって、Azure Traffic Manager、Azure Load Balancer、Azure Application Gatewayの3つによるクライアントから仮想マシンへの負荷分散の流れは、次のようになります。

(1)クライアントからのトラフィックをまずAzure Traffic ManagerがDNSロードバランサーの機能として負荷を分散させます。

(2)次に、DNSに対応したAzure Load Balancerから、Azure Application GatewayによってWebアプリケーションを格納した仮想マシンに振り分けて負荷を分散します。

詳細は以下をご覧ください。

簡易提案書「ゼロから分かるMicrosoft Azure」
Azure Cosmos DB 自習書 - Azure Cosmos DB 入門 SQL API 編 –

Azure Application Gatewayのメリットと機能

Azure Application Gatewayでは、HTTPで要求したURIのパスやホストヘッダーなどの属性からルーティングできます。

たとえば、URLが/imagesの場合は画像専用の特定の仮想マシンのトラフィックのセットに、/videoの場合はビデオ専用に最適化されたトラフィックのセットに振り分けられます。このように特定の仮想マシンに振り分けるトラフィックのセットをプールと呼びます。また、このようなルーティングを、アプリケーションレイヤー (OSIレイヤー7) の負荷分散といいます。

上記を前提として、Azure Application Gatewayのメリットと機能をまとめます。

Webアプリケーションの高可用性かつスケーラブルな配信

仮想マシンやネットワークで安定したパフォーマンスを提供するAzure Load Balancerに加えて、Azure Application Gatewayでは運用している複数のアプリケーションごとにURLパスベースの負荷分散とルーティングをおこないます。複数サイトのホスティングでは、ひとつのAzure Application Gatewayで最大100 の Web サイト、40のWAF(Webアプリケーションファイアーウォール)によってスケーラブルなネットワークを構成できます。

音声や映像のようなデータは、専用のプールを作成することで、ルーティングが可能になります。高可用性かつスケーラブルなWebアプリケーションのフロントエンドをAzureで構築できることがメリットです。

Standard_v2またはWebファイアーウォールのWAF_v2 SKUでは、実現できる機能が増えました。以下に特長をまとめます。

Standard_v2、WAF_v2 SKUで実現できること

自動スケール (現在はプレビュー版) の機能を搭載しました。Webアプリケーションのトラフィックの負荷から、自動的なスケールアップ、スケールダウンが可能になります。この自動化により、プロビジョニングの際にインスタンスの数やデプロイのサイズを考慮する必要がなくなり効率的です。

さらにデプロイでは、複数の可用性ゾーンを対象にできるゾーン冗長性を備えています。障害時の迅速な復旧を実現し、ゾーンごとのプロビジョニングが不要になります。VIP (Virtual IP:仮想IP) のサポートは、静的な VIPのみです。したがって関連付けられたVIP は、Azure Application Gateway の有効期間を過ぎても変化することがありません。

Kubernetesアプリケーションとして、Azure Application Gatewayイングレスコントローラーもサポートしています。このアプリケーションを利用して、L7ロードバランサーによってソフトウェアをインターネットに公開可能です。Kubernetesクラスターを監視し、Azure Application Gatewayを継続的に更新しながらサービスをインターネットに公開します。トラフィックの増減による自動スケールにも対応します。

他のAzureの機能と統合によるパフォーマンスの発揮

Azure Application Gatewayでは以下のような他のAzureの機能と統合されています。総合的にパフォーマンスの改善を実現します。

Azure Traffic Manager

DNSロードバランサーとして、たとえば東日本リージョンと西日本リージョンなど複数のリージョンへのリダイレクト、自動フェイルオーバー、メンテナンス時にはダウンタイムなしの継続的な運用を実現します。

Azure Virtual Machines

仮想マシン(VM)においても、スケールセット、Azure App ServiceのWeb Appsを使うことによってWebアプリケーションの負荷を軽減できます。

Azure Monitor、Azure Security Center

Azureのネットワークトラフィックや稼働状況の監視とアラートを一元管理できます。ダッシュボードで視覚化することによって、アプリケーションが正常かどうかを確認することが可能です。

Azure Key Vault

Webアプリケーションの暗号化キーや秘密情報をセキュリティ保護する機能が「Azure Key Vault」です。SSL/TLS 証明書に関する処理を一元管理するとともに自動更新することができます。

Webアプリケーション ファイアーウォールによるセキュリティ保護

Webサイトの改ざんやデータの漏えいでは、不正なSQL文を入力してデータベースに攻撃を与える「SQLインジェクション」、リンクのURLに悪意のあるスクリプトを組み込む「クロスサイトスクリプティング」が代表的であり、このような攻撃はアプリケーションのコードで防御することは困難です。パッチの適用や多数のレイヤーによる監視など、厳しい保守が必要になります。

Azure Application Gatewayは、WAFを一元化することで、セキュリティの脆弱性から保護と監視を行います。複数のWebアプリケーションそれぞれにパッチを適用しているような場合と比較して、既知の脆弱性に対するプログラムを1か所に適用して侵入の脅威から保護できるため、管理者の負荷を大幅に軽減できます。

エンドツーエンドSSLなど強力なセキュリティ

また、Azureのフロントエンドからバックエンドに至るまでSSLの強力な暗号化によって、データを保護します。SSL処理専門のノードを設置(SSLオフロード)によってパフォーマンスを向上させます。

SSL/TLSのパフォーマンス向上では、通常はゲートウェイでSSLを終了し、その後トラフィックは暗号化されないままバックエンドのサーバーと通信を行います。このことによって、サーバーの暗号化と暗号化解除の間接処理で生じる時間を削減します。ただし、コンプライアンスなどの要件から、このような処理ができないWebアプリケーションもあります。そこで、Azure Application Gatewayでは、エンドツーエンドのSSL/TLS 暗号化をサポートしています。

多くのWebアプリケーションでは、HTTPをHTTPS に自動的にリダイレクトして、通信が暗号化されたパスで行われる方法がよく使われます。Azure Application Gatewayでは、リダイレクトをサポートしています。リダイレクトにより、構成の簡易化、リソースの最適化ができます。HTTPSへのリダイレクトだけでなく、ポート間、任意の外部サイトにもリダイレクトが可能です。

詳細は以下でご覧ください。

Microsoft Azureとは何か?入門から応用まで徹底解説

クラウドとは何か?Azureとは何か?導入のメリットや構成、コストに至るまでの基礎的な知識から、どのように活用すべきかまでを徹底的に解説しています。

Microsoft Azureとは何か?入門から応用まで徹底解説

ブログ記事を見る

まとめ

Azure Application Gatewayは、中規模から大規模のインスタンス、自動スケールもしくはゾーンの冗長性などにおいて99.95% の稼働時間サービスのSLA(Service Level Agreement:サービス水準の合意)を保証しています。

BCP(Business Continuity Plan:事業継続計画)などの観点からも、ネットワークや仮想マシンの負荷が増大することによるビジネスの中断は大きなダメージになります。事業の信頼性を確保する上でも、負荷分散による安定したWebアプリケーションの提供は考えておかなければならない重要な課題です。

Microsoft Azure製品カタログ
  • fb-button
  • line-button
  • linkedin-button

関連記事

Azure Notebooksでプログラミング学習を!ノートブック機能の説明の概要
データ分析、データベース
Azure Functionsはサーバーレス、FaaSの時代を拓く
ハイブリッドクラウド
Azure Monitorとは?その基本と監視内容を解説
仮想デスクトップ
Azure DevOpsで開発と運用を連携させ、品質の向上を
アプリケーション開発・管理・運用
Azure Portal(Azureポータル)とは?統合型コンソールで何ができるのか
アプリケーション開発・管理・運用
Azure Kinect DKのSDKと活用シーン
アプリケーション開発・管理・運用
Azure Stackによってオンプレミスで構築するクラウド
ハイブリッドクラウド
Azureを導入する際の流れと検討するべき3つのポイント
クラウド移行(インフラ・DB)
Azure Information Protectionでメールや文書を保護
セキュリティとガバナンス
Azure Web Appsでビジネスチャンスを迅速につかむ
アプリケーション開発・管理・運用
IoTとは?5分で概要からポイントを解説
クラウド移行(インフラ・DB)
Microsoft Intuneとは? 導入メリットやEMMを実現する3つの機能を解説
セキュリティとガバナンス
Azure Pipelinesとは?その概要、料金体系、そして構文サンプル
アプリケーション開発・管理・運用
Azure Storage Explorerとは?概要と使い方
クラウド移行(インフラ・DB)
Azure CLIとは?Azure PowerShellとの違いについても解説
クラウド移行(インフラ・DB)
Azure Machine Learning(Azure ML)とは?人工知能の実践的活用
AI、機械学習
Azure SQL Databaseで生産性向上と持続的な経営を
セキュリティとガバナンス
RELATED SITES

関連サイト

CONTACT

サイト掲載の
お問い合わせ

TOP