COLUMN

可用性維持に欠かせないL4ロードバランサー Azure LBとは?

システムの可用性を維持するために欠かせない存在がロードバランサー(負荷分散)です。Microsoft Azure(以下、Azureと呼びます。)では複数の負荷分散サービスが提供されていますが、今回はそのなかでもL4(Layer4)ロードバランサーである「Azure LB」について紹介します。
Azure LBの概要から、機能やできること、設定項目、料金体系などについて、ひとつずつ見ていきましょう。

Azure LBは4種類の負荷分散サービスのひとつ

Azure LBはAzureで提供されている負荷分散サービスのひとつです。Azureには大きく4つの負荷分散サービスが存在します。

  • Azure LB:TCP/UDP向けL4ロードバランサー
  • Application Gateway:アプリケーション配信コントローラ(ADC)として動作可能なロードバランサー(L7)
  • Traffic Manager:DNSベースのトラフィックロードバランサー
  • Front Door:Webアプリケーション向けグローバル負荷分散、サイトアクセラレーションサービスを提供(L7)

4つの負荷分散サービスは、トラフィックを分散するという目的は同じですが、動作するレイヤ(層)が異なります。Azure LBはOSI参照モデルで言うところの第4層(トランスポート層)で動作し、Application GatewayやFront Doorは第7層(アプリケーション層)で動作するものです。
また、Traffic ManagerはDNSレベルでの負荷分散を実現するものであり、それぞれに利用用途が異なります。

もし、いずれの負荷分散サービスを利用するべきかわからない場合は、公式ページにフローチャートが記載されていますので、そちらを参考に選択するとよいでしょう。

Azureの負荷分散オプションの概要(Microsoft Azure 公式ページ)
https://docs.microsoft.com/ja-jp/azure/architecture/guide/technology-choices/load-balancing-overview別ウィンドウで開きます

Azure LBでAzure VMやAzure Cloud Servicesなどのロールインスタンスをエンドポイントとした負荷分散が実現でき、アプリケーションのスケーリングや高可用性サービスを作成するために利用します。次に、Azure LBの主な機能とできることを見ていきます。

Azure LBの主な機能とできること

Azure LBではBasicとStandardの2つのSKUが用意されており、機能の違いがあります。本コラムでは概要をご理解いただき、詳しくは公式ページをご参照ください。

Azure Load BalancerのSKU(Microsoft Azure 公式ページ)
https://docs.microsoft.com/ja-jp/azure/load-balancer/skus別ウィンドウで開きます

負荷分散機能

利用目的に応じて「パブリックロードバランサー」「内部(プライベート)ロードバランサー」として利用でき、仮想ネットワーク内外のトラフィックをAzure仮想マシンに負荷分散できます。

パブリックロードバランサーとして利用すれば、仮想ネットワーク内の複数のAzure仮想マシンにアウトバウンド接続を提供できます。プライベートロードバランサーとして利用すれば、仮想ネットワーク内で負荷分散することが可能であり、また、両方を組み合わせて多層的な負荷分散も実現可能です。

なお、Azure LBの分散方式がラウンドロビンではないことには注意が必要です。ラウンドロビンは複数の接続されたリソースに対して順繰りに割り振っていく方式のことですが、Azure LBではハッシュベースの分散方式が採用されております。デフォルトでは次の5つの情報を利用してハッシュを作成し、作成されたハッシュに基づいて振り分け先を決定しています。

  • 送信元IPアドレス
  • 送信元ポート番号
  • 宛先IPアドレス
  • 宛先ポート番号
  • プロトコルの種類

そのため、複数台の端末からAzure LB経由でアクセスしても、同じバックエンドインスタンスに割り振られる可能性がある点は注意が必要です。

また、セッションの維持などのために、あえて接続先(インスタンス)を固定化したい場合もあるでしょう。Azure LBではこれを「ソースIPアフィニティモード」を使用することで構成できます。送信元IPアドレスと送信元ポート番号のハッシュだけを利用し、接続先にトラフィックをマップすることが可能なのです。

ポートフォワーディング

Azure LBでは、パブリックIPアドレスとポート番号を使ってAzure仮想マシンにポートフォワーディングできます。たとえば、Azure LBでポート番号443の通信を受信し、Azure仮想マシンのポート番号80番に通信を転送する、ということが可能です。

なお、ポートフォワーディングを利用する際には、Standard SKUを利用する必要がある点にご注意ください。

正常性プローブによる負荷分散リソースの監視

トラフィックを負荷分散するにあたり、分散接続先のAzure仮想マシンの状態確認は欠かせません。なぜなら、分散接続先のAzure仮想マシンが停止していたり、正常に応答できない状態であったりした場合には、通信が正常に行なえないからです。

Azure LBでは、負荷分散規則を作成し、そのなかで正常性プローブによる負荷分散リソース(分散接続先のリソース)の監視を設定しなければなりません。プローブ(probe)とは探査や精査を意味する用語であり、正常性プローブとは負荷分散リソースの正常性を監視する精査方法、と考えるとよいでしょう。

正常性プローブで利用するプロトコルは、TCP、HTTP、HTTPSです。なお、HTTPSを利用した正常性プローブの構成は、Standardでのみ行なえます。

Azure LBの主な3つの設定項目

Azure LBを利用する際に設定が必要な基本的な3つの項目について解説します。ひとつずつ見ていくことにより、Azure LBを利用する際のイメージをつかんでいただければと思います。

バックエンドアドレスプール

まず、トラフィックの分散先(バックエンドアドレスプール)を最初に定義しなければなりません。バックエンドアドレスプールには、Azure LBによって負荷分散先となるAzure仮想マシンなどの仮想NICのIPアドレスを設定します。

バックエンドアドレスプールに登録できるインスタンス数は、Standardで最大1,000インスタンス、Basicで最大300インスタンスとなっています。

正常性プローブ

次に、バックエンドアドレスプールに登録したインスタンスの死活状況を確認するための設定を行います。バックエンドアドレスプールに登録されたインスタンスからの応答により、正常性プローブの設定に基づいてどのインスタンスが受信するのかが変わります。

正常性プローブで設定する項目は、次の4つです。

  • プローブのプロトコル
  • プローブのポート番号
  • プローブ試行間隔
  • 異常のしきい値

たとえば、バックエンドアドレスプールに対して、HTTP80番のプローブを15秒間隔で施行し、2回以上失敗したら該当するインスタンスへのトラフィック振り分けを停止する、ということが実現できます。

負荷分散規則

さらに、負荷分散規則で、Azure LBが受け取ったトラフィックをバックエンドアドレスプールのインスタンスに分散する規則を設定します。着信トラフィック用のフロントエンド構成と、振り分け用のバックエンド構成を行う設定が負荷分散規則です。

たとえば、Azure LBのフロントエンドIPアドレスの8080番ポート宛に来た通信を、バックエンドアドレスプールのインスタンスに対して80番で送信する、といった設定を行います。

Azure LBの料金体系とSLA

Azure LBは2つのSKUによって料金体系が異なります。Basicの場合は無料で利用可能です。Standardの場合は従量課金制となっており、負荷分散ルールの数やデータ処理量によって料金が異なります。詳細はこちらをご参照ください。

Load Balancerの価格(Microsoft Azure 公式ページ)
https://azure.microsoft.com/ja-jp/pricing/details/load-balancer/別ウィンドウで開きます

また、Standardを利用する場合はSLA(サービス水準合意)により、99.99%の時間利用が可能であることが保証されています。Basicの場合はSLAが適用されません。

まとめ

Azure LBはAzureが提供する負荷分散サービスのひとつです。L4ロードバランサーとして、アプリケーションのスケーリングや高可用性サービス構築に利用できます。なお、Azure LBは、負荷分散方式がラウンドロビンではなく、ハッシュベースの分散方式であることに注意しましょう。それ以外は、ポートフォワーディングや正常性プローブによる負荷分散リソースの監視など、一般的なロードバランサーと同等の機能を有しています。また、Azure LBには2つのSKUが用意されており、Standardは有料ですがBasicは無料で利用できます。

移行準備段階で知っておくべきMicrosoft Azureの
サービスを学び、具体的にクラウド検討を考える!

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。