Azure Managed Service Column <Azure運用コラム>

Azure Load Balancerとは?負荷分散の基本とAzure Application Gatewayとの違いについても解説

Category: 入門編

2021.08.11

はじめに

システムで大量のトラフィックを処理するために、サーバーを並列化して処理の負荷分散を行う場合がありますが、負荷分散の仕組みと、負荷分散を実現するロードバランサーとはどのようなものかご存じでしょうか。クラウドにおいても、オンプレミスと同様にロードバランサーを配置する構成がスタンダードですが、Azure が提供するロードバランサーのひとつ、Azure Load Balancer は TCP/UDP レイヤーの負荷分散を実現するサービスです。

本記事では、負荷分散の基本を踏まえた上で、Azure Load Balancer の概要や機能、Azure のもうひとつのロードバランシングサービスである Azure Application Gateway との違いについて解説します。

1. 負荷分散とロードバランサー

システム開発に携わると、負荷分散やロードバランサーという言葉をよく耳にしますが、具体的にどのようなものなのでしょうか。まずは、負荷分散の仕組みとロードバランサーの概要について解説します。

1.1 負荷分散とは

負荷分散とは、システムの処理が特定のサーバーや機器に集中しないよう、同種のサーバーや機器を並列に複数用意して、負荷が均等になるよう処理を分散して割り当てる仕組みです。負荷分散のメリットはシステムの性能劣化を防止することと、サーバーや機器の並列化による可用性向上です。負荷分散の方式はいくつかありますが、代表的な負荷分散方式は下記の通りです。

  • ラウンドロビン(均等負荷分散
  • 重みづけラウンドロビン
  • 最小接続数
  • 最速応答時間
  • 動的比率

1.1.1 ラウンドロビン(均等負荷分散)

ラウンドロビンとは、分散対象のサーバーや機器に、均等にリクエストを振り分ける方式です。分散対象サーバーが全て同程度の処理性能を持つことが前提ですが、均等に負荷分散が行われます。

1.1.2 重みづけラウンドロビン

重みづけラウンドロビンとは、分散対象のサーバーや機器の処理能力に応じてリクエストの分散比率を決定する方式です。分散対象サーバーによって処理能力が異なる場合に利用します。

1.1.3 最小接続数

最小接続数とは、分散対象サーバーに接続するクライアントの接続数が均等になるようにリクエストを振り分ける方式です。クライアントからのリクエストを受け付ける際、接続中のクライアント数が少ないサーバーに優先的に振り分けます。

1.1.4 最速応答時間

最速応答時間とは、リクエストに対する応答時間が早いサーバーから順に優先的にリクエストを振り分ける方式です。重みづけラウンドロビンと同様、分散対象サーバーの処理能力が異なる場合に利用します。

1.1.5 動的比率

動的比率とは、CPU やメモリ使用率が低いサーバーに優先的にリクエストを振り分ける方式です。各サーバーのマシンリソースの使用状況を監視・把握していることが前提です。

1.2 ロードバランサーとは

ロードバランサーとは、負荷分散装置とも呼び、負荷分散を実現するためにネットワーク上に設置し、外部からの通信を複数のサーバーや機器に分散する機能を持つ機器のことです。主に、下記の 2 種類のロードバランサーがあります。

  • ハードウェアロードバランサー
  • ソフトウェアロードバランサー

1.2.1 ハードウェアロードバランサー

ハードウェアロードバランサーとは、負荷分散を行うための専用機器です。トランスポートレイヤー(レイヤー 4 )での負荷分散や、高機能なものではアプリケーションレイヤー(レイヤー 7 )での負荷分散が可能です。代表的な製品に BIG-IP などがあります。

1.2.2 ソフトウェアロードバランサー

ソフトウェアロードバランサーとは、OS 上でソフトウェアとして動作するロードバランサーです。ハードウェアロードバランサーより処理性能が劣る傾向がありますが、低コストでハードウェアロードバランサーと同等の機能を実現可能なものもあります。代表的な製品に UltraMonkey などがあります。

2. Azure Load Balancer とは

Azure Load Balancer とは、Azure が提供するロードバランシングサービスです。Azure Load Balancer の概要と料金体系について解説します。

2.1 Azure Load Balancer の概要

Azure Load Balancer とは、Microsoft Azure が提供している負荷分散サービスのひとつです。トランスポートレイヤー(レイヤー 4 )で動作する TCP/UDP 向けのロードバランサーで、Azure Virtual Machines(仮想マシン)や、仮想マシンスケールセット内のインスタンスへの通信を負荷分散する機能を提供しています。Azure Load Balancer を利用することで、処理性能と可用性に優れたシステムを構築することが可能です。

2.2 Azure Load Balancer の種類と機能

Azure Load Balancer は 2 種類のロードバランサーを利用できます。Azure Load Balancer はレイヤー 4 で動作するため、TCP/UDP プロトコルで、IP アドレス、ポート番号、もしくはその両方に対する負荷分散が可能です。

2.2.1 パブリックロードバランサー

パブリックロードバランサーとは、インターネットからの通信を Azure クラウド内の複数の仮想マシンへ連携して負荷分散する目的で使用します。

2.2.2 プライベート(内部)ロードバランサー

プライベートロードバランサーは、Azure 内部のネットワークでプライベート IP アドレスだけで構成された仮想マシンへの負荷分散を行う目的で使用します。Azure クラウド内部もしくはオンプレミスからの通信を負荷分散することが可能です。

2.2 Azure Load Balancer の料金体系

Azure Load Balancer の料金体系は基本的に従量課金制となっており、下記 2 種類の料金プランがあります。

  • Basic Load Balancer(無料)
  • Standard Load Balancer

Basic Load Balancer は無料で利用できますが機能が限定的です。Standard Load Balancer は使用時間に応じた従量課金制です。負荷分散のルールの追加数やデータ処理量によっても料金が異なります。

3. Azure Application Gateway との違い

Azure には、Azure Load Balancer の他にも負荷分散のサービスが存在します。ここでは、もうひとつの負荷分散サービスである Azure Application Gateway と Azure Load Balancer との違いや、それぞれの用途について解説します。

3.1 Azure Application Gateway の概要と Azure Load Balancer との違い

Azure Application Gateway とは、Web アプリケーションに対するトラフィックを管理できるロードバランサーです。Azure Load Balancer はトランスポートレイヤー(レイヤー 4 : TCP/UDP )で動作するため、IP アドレスとポート番号に基づく負荷分散を実現しますが、Azure Application Gateway では、URI パスやホストヘッダーなど、HTTP 要求の追加属性に基づいて負荷分散を行います。また、SSL オフロードができるのも Azure Application Gateway のみとなっています。

3.2 それぞれのロードバランサーの用途

Azure Load Balancer は、TCP/UDP のみの負荷分散機能であるため、パケット通信アプリケーションなど、TCP/UDP の通信を負荷分散したい場合に利用することが一般的です。

一方、Azure Application Gateway は、HTTP など Web アプリケーションの通信の負荷分散を行いたい場合に利用します。なお、Web サービスを HTTPS で公開するには、Azure Application Gateway に証明書をインポートする必要があり、インターネット上で Web サービスを公開するためには Azure Application Gateway を使用することが必須と言えます。

まとめ

ロードバランサーとは、大量の処理リクエストに対して、安定かつ継続的にサービスを提供するために必要な機能です。Azure はいくつかの負荷分散サービスを提供していますが、なかでも Azure Load Balancer は処理性能と可用性に優れたシステムを構築できるサービスです。ユーザーに提供するサービスや機能に応じて、負荷分散サービスをうまく使い分けることが重要です。

Azure設計・構築を相談する

Azure構築サービス

Azure構築サービス

Microsoft Azure を利用したシステムの設計・構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Azure導入個別相談会(無料)

Tag: Azure Load Balancer Azureネットワーク

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php