Azureのロードバランサーとは?種類や使うメリット10個をご紹介

Azureのロードバランサーとは?種類や使うメリット10個をご紹介のアイキャッチイメージ

Azureロードバランサーとは?


Azureロードバランサーは、レイヤー4(L4)で動作するTCP、UDP向けのロードバランシングのサービスです。

Azure Virtual Machinesや、仮想マシンスケールセット内のインスタンスへのトラフィックの負荷分散を可能にし、可用性の高いサービスを作成するために利用できます。

この記事では、Azureロードバランサーの主な機能とメリットをご紹介します。

仕組み

Azureロードバランサーはルーター、 L4ロードバランサー、 ホストエージェントの3段階でロードバランシングする仕組みのサービスです。

L3レベルでルーターがトラフィックを分散し、MUXと呼ばれるL4ロードバランサーがL4レベルのトラフィックを分散します。最後に、ホストエージェントがパケットのデカプセル化を行い適切な仮想マシンへ通信します。

金額

Azureロードバランサーの料金プランには、Basic Load BalancerとStandard Load Balancerの2つのSKUがあります。Basic Load Balancerは無料で使用できます。

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

Azureロードバランサーの種類


Azure Load Balancerでは、内部ロードバランサーとパブリックロードバランサーという、2種類のロードバランサーを利用できます。

内部ロードバランサーはプライベートIPを保有し、内部からの通信を分散して、パブリックロードバランサーはパブリックIPを保有し、外部からの通信を分散します。ここでは、それぞれの特徴を解説します。

内部ロードバランサー

内部ロードバランサーは、プライベートIPアドレスで構成され、仮想ネットワーク内でトラフィックを分散できます。

フロントエンドIPアドレスと仮想ネットワークは、アクセスが制限され、インターネットエンドポイントには直接公開されません。Azure内かオンプレミス環境から、ロードバランサーのフロントエンドにアクセスする構成が可能です。

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

パブリックロードバランサーは、仮想ネットワーク内の仮想マシンにアウトバウンド接続が必要な場合に利用可能です。プライベートIPアドレスをパブリックIPアドレスに変換することで接続されます。

また、パブリックロードバランサーは、インターネットトラフィックを仮想マシンに負荷分散させるために使用されます。

Azureロードバランサーの3つの機能


Azureロードバランサーは、クラウドで利用できるロードバランサーのサービスです。

物理的なネットワーク機器であるロードバランサーを利用する場合、ハードウェアやネットワーク接続などの煩雑な設定が必要ですが、クラウドサービスのため、簡単に負荷分散の環境を構築できます。

ここではAzureロードバランサーの代表的な機能を3つご紹介します。

Azureロードバランサーの機能1:負荷分散

ロードバランサーにはアクセス集中により、サーバーダウンなどの状況を防ぐために、負荷を分散させる仕組みがあります。仮想マシン向けに負荷分散機能を組み込むことで、わずかな時間でアプリケーションに高可用性と高拡張性を実現できます。

AzureロードバランサーはHTTP、HTTPS、SMTPといったTCP/UDP ベースのプロトコルのほか、リアルタイムの音声に使用するプロトコルなどに対応可能です。

Azureロードバランサーの機能2:ポートフォワーディング

Azureロードバランサーには、パブリックIPアドレスとポート番号を使用し、Azure仮想マシンにポートフォワーディングすることができます。Azureロードバランサーで443番ポートの通信を受けて、Azure仮想マシンの80番ポートに通信を転送することも可能です。

なお、ポートフォワーディングを使用するには、Standard SKUを利用する必要があります。

Azureロードバランサーの機能3:負荷分散の方式

Azureロードバランサーの分散方式はラウンドロビンではなく、ハッシュベース方式が採用されています。デフォルトでは送信元IPアドレス、送信元ポート番号、宛先IPアドレス、宛先ポート番号、プロトコルの種類を利用してハッシュを作成し、ハッシュ値に従い振り分けます。

複数の端末からAzureロードバランサー経由でアクセスしても、ハッシュ値によっては同じインスタンスに割り振られる可能性もあるでしょう。

Azureロードバランサーを使うメリット10個


Azureロードバランサーを使うことで、様々なメリットを得ることができます。ロードバランサーの基本である低遅延と高スループットを可能にするだけではなく、様々なTCPアプリケーションとUDPアプリケーションの膨大なフローにスケールアップ可能です。

ここではAzureロードバランサーを利用するメリットについてご紹介します。

メリット1:IPv6の負荷分散をサポートする

Azureロードバランサーはデュアルスタックに対応し、IPv4だけでなくIPv6アドレスを割り当て、IPv6トラフィックを負荷分散することができます。Basic SKUでは動的、Standard SKUは静的なパブリックIPv4とIPv6アドレスを割り当てられます。

急速に増加するIoT対応デバイスはIPv6で構築されることが多いですが、Azureロードバランサーで対応することが可能です。

メリット2:Azure仮想マシンのアウトバウンド接続

AzureパブリックロードバランサーのフロントエンドIPを使用して、バックエンドのインスタンスがインターネットへのアウトバウンド接続を実現します。

SNATを使用した構成ではIPマスカレードが可能で、バックエンドのIPをロードバランサーのIPに書き換えるので、外部ソースはバックエンドのIPを直接取得できなくなります。また、バックエンド間でIPを共有でき、シンプルなIP許可リストの構成が可能です。

メリット3:複数のポートやIPアドレスにサービスを負荷分散する

Azureロードバランサーは、複数のポートや複数のIPアドレス、またはその両方のサービスの負荷分散を実現できます。

パブリックロードバランサー、および内部ロードバランサーの定義を利用して、仮想マシンのフローの負荷を分散でき、サービスの信頼性を高めることができます。

メリット4:HAポートを使用してTCPとUDPのフローを負荷分散する

高可用性 (HA) ポートは負荷分散規則の一つです。内部Standard Load Balancerのすべてのポートで受信する、すべてのフローの負荷分散を簡単に行えます。

HAポートによる負荷分散規則は、高可用性と拡張性を必要とするネットワーク仮想アプライアンス(NVA)を実現できます。この機能は、多数のポートですべてのTCPフローとUDPフローを負荷分散する場合に利用可能です。

メリット5:正常性プローブを使用してリソースを監視する

Azureロードバランサーでは負荷分散規則を作成する際に、正常性プローブによる負荷分散先のリソースの監視を設定します。正常性プローブではTCP、HTTPプロトコルを利用します。StandardではHTTPSを利用した正常性プローブの構成も可能です。

この機能は、負荷分散先の仮想マシンなどが正常に応答できる状態か監視し、適切な負荷分散を実現します。

メリット6:内外部トラフィックをAzure仮想マシンに負荷分散する

パブリックロードバランサーとして利用することで、仮想ネットワーク内部のリソースがアウトバウンド接続できるようになります。また、内部ロードバランサーとして利用することで、仮想ネットワーク内部での負荷を分散可能です。

また、両方を組み合わせることで、多層的な負荷分散構成も実現することができます。

メリット7:可用性を向上させる

Azureロードバランサーはゾーンの内部や、複数のゾーンで負荷を分散することで、アプリケーションの高可用性を実現します。

また、Azureロードバランサーは増加するアプリケーションのトラフィックに対応し、自動的に拡張することが可能です。トラフィックの増加に合わせて、ロードバランサーの再構成や管理をしなくても、優れたカスタマーエクスペリエンスを提供できます。

メリット8:複数のロードバランサリソースに移動する

Azureロードバランサーはリージョン間で移動させることができませんが、Azure Resource Managerテンプレートを使用して、既存の構成のテンプレートをエクスポートできます。その後、移動先のリージョンに合わせて調整し、テンプレートをデプロイできます。

たとえば、ディザスターリカバリー計画などで、ロードバランサーを別のリージョンに移動する必要がある場合に利用可能です。

メリット9:AzureMonitorを通じて多次元メトリックを提供する

Standard Load Balancer構成用に、Azure Monitorを通じて多次元メトリックが提供されています。リアルタイムでのロードバランサリソースの診断や分析情報を取得することができます。

正常性プローブの状態やデータパスの可用性、バイトカウンターなどを取得でき、リソースの監視や管理、トラブルシューティングに利用可能です。

メリット10:ポート転送を利用して仮想マシンにアクセスできる

Azureロードバランサーの機能でもご紹介しましたが、Azureロードバランサーに関しては、パブリックIPアドレスとポート番号を使用して、Azure仮想マシンにポートフォワーディング(ポート転送)できます。

ポート転送の機能を利用し、仮想ネットワーク内部の仮想マシンにパブリックIPアドレスとポート番号でアクセスできます。

Azureロードバランサーを使う際に気を付けること


Azureロードバランサーを使う際に気を付けることとして、セキュリティグループのルール設定があります。

プローブの監視は、ロードバランサーのフロントエンドIPからではなく「168.63.129.16」から行われます。デフォルトのセキュリティグループのルールでも許可するようになっていますが、誤って禁止すると失敗するプローブが発生してしまうので注意が必要です。

Azureのロードバランサーについて知り使ってみよう!


Azureロードバランサーには2つのSKUが存在し、Basicは無料で利用でき、Standardは有料ですがポートフォワーディングなど、Basicにはない機能を利用できます。

また、Azureロードバランサーは負荷分散方式がラウンドロビンではなく、ハッシュベースという特徴があります。

まずは無料のBasicから利用してロードバランサーの理解を深め、負荷分散環境を構築してみてはいかがでしょうか。

インフラエンジニア専門の転職サイト「FEnetインフラ」

FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。

転職をお考えの方は気軽にご登録・ご相談ください。