はじめに
今回は、Azure Documentation に 2019年8月23日に投稿された Overview of load-balancing options in Azure の記事を翻訳し、まとめてみたので紹介したいと思います。詳しい内容については、本記事を参照ください。
■本記事リンク
Overview of load-balancing options in Azure
Overview of load-balancing options in Azure
「load balancing」は、複数のコンピュータリソースにまたがったワークロードの配分、を意味しています。Load balancing はリソースの使用最適化、スループットの最大化、レスポンス時間の最小化、そしてリソースの過負荷を無くすことを目的としています。冗長化されたコンピュータリソースとワークロードを共有することで、可用性を高めることができます。
Overview
Azure load balancing service は、2つの次元に大きく分けることができます。
- Global/Regional
- HTTP(S)/Non-HTTP(S)
それぞれの特徴について、見ていきましょう。
Global versus regional
- Global
Global load balancing services は、トラフィックを地域のバックエンド、クラウド、あるいはハイブリッドオンプレミスサービスにまたがって分散します。これらのサービスは、最寄りの可用性バックエンドに、ルートユーザのトラフィックを送信します。また、可用性とパフォーマンスを最大限高めるため、サービスのパフォーマンスや信頼性の変化に反応します。そのため、このサービスはアプリケーションスタンプとエンドポイント間をロードバランスを行うシステム、または、異なる地理や地域にまたがるスケールユニットと捉えることができます。
- Regional
Regional load balancing services は、トラフィックを VM 内に広がる仮想ネットワーク、またはリージョン内のゾーンとゾーン冗長サービスエンドポイントに分散します。そのため、このサービスは仮想ネットワーク内のリージョンにある VM、コンテナ、あるいはクラスタ間のロードバランスを行うシステムと捉えることができます。
HTTP(S) versus non-HTTP(S)
- HTTP(S)
HTTP(S) load-balancing services は、HTTP(S)のトラフィックのみを許可するレイヤ7 のロードバランサです。Web アプリケーションや他の HTTP(S)エンドポイントを対象としております。また、SSL オフロード、web アプリケーションファイアウォール、パスベースのロードバランス、そしてセッションアフィニティといった特徴を有しております。
- Non-HTTP/S
Non-HTTP/S load-balancing services は、 HTTP(S)ではないトラフィックの対応が可能であり、web 以外のワークロードでの利用を推奨します。
下記の表に、Azure load balancing service の特徴をまとめました。
サービス名 | Global/Regional | 推奨トラフィック |
---|---|---|
Azure Front Door | Global | HTTP(S) |
Traffic Manager | Global | non-HTTP(S) |
Application Gateway | Regional | HTTP(S) |
Azure Load Balancer | Regional | non-HTTP(S) |
Azure load balancing services
Azure で利用可能な主な load-balancing services です。
-
Front Door
グローバルロードバランシングと、web アプリケーションのサイトアクセラレーションサービスを提供するアプリケーションデリバリネットワークです。SSL オフロード、パスベースルーティング、高速フェイルオーバ、etc、などのアプリケーションにレイヤ7の機能を提供することで、パフォーマンスと可用性を向上させます。 -
Traffic Manager
DNS ベースのトラフィックロードバランサです。高可用性とレスポンスを維持しつつ、世界中の Azure リージョンにまたがってトラフィックを最適に分散します。Traffic Manager は DNS ベースの LB サービスのため、ドメインレベルでのロードバランシングしか行いません。そういったことから、DNS キャッシングと DNS システムが DNS TTL を尊重しないという共通課題のため、Traffic Manager は Front Door ほど素早くフェイルオーバができません。 -
Application Gateway
Application Gateway は、豊富なレイヤ7ロードバランシング機能を提供することで、アプリケーションデリバリコントローラ(ADC)を与えてくれるサービスです。ゲートウェイに対して CPU 集約的 SSL termination をオフロードすることによる Web ファーム生産の最適化に使用します。 -
Azure Load Balancer
Azure load Balacer は Azure SDN スタックにとって欠かせない一部であり、全ての UDP と TCP プロトコルに高いパフォーマンスと低レイテンシのレイヤ4ロードバランシングサービスを提供します。
Decision tree for load balancing in Azure
ロードバランサの使用を考える際、以下の点について考える必要があります。
- トラフィックは何を選ぶか?
- Global か、Regional か?
- 可用性は?
- 費用は?
- サービスの特徴と制限は?
ロードバランシングの利用を考える歳は、下記のフローチャートを参考にしてどのサービスを利用するか検討して頂ければと思います。
おわりに
Overview of load-balancing options in Azure の記事の紹介は以上です。ロードバランサにも様々なサービスが存在するので、必要なサービスや特徴、利用環境に合わせた最適なサービス選びの参考にどうぞ。