この記事のポイント
- Azure Load Balancerはトラフィックを複数のサーバーに分散させる負荷分散サービス
- BasicとStandardの2種類があり、用途に応じて選択可能
- Layer 4で動作し、TCP/UDPプロトコルを扱う
- Azure Portalから簡単に設定可能で、CLIを使用した自動化も可能
- StandardタイプはSLAで99.99%の稼働率を保証
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
アプリケーションやサービスが安定して高速に動作するために必要なのが、「負荷分散機能」です。特にクラウド環境においては、リソースにかかる負荷を効果的に管理することがサービスの信頼性を保つ鍵となります。
マイクロソフトのAzureクラウドプラットフォームに備わるAzure Load Balancer(ロードバランサー)は、トラフィックを複数のサーバーへ均等に配分し、アプリケーションやデータベースの負荷を調整してシステム全体のパフォーマンスを最適化するサービスです。
この記事では、Azure ロードバランサーの基本機能、メリット、料金体系、そしてAzure Application Gatewayとの違いなどを分かりやすく解説します。
また、リアルタイムのトラフィックに応じた負荷分散の仕組みや、設定方法についても詳しくご紹介し、最新の機能更新情報にも触れていきます。Azureを使いこなすための知識を深めたい方にとって、貴重な情報源となることでしょう。
Azureの基本知識や料金体系、利用方法についてはこちらの記事で詳しく解説しています。
➡️Microsoft Azureとは?できることや各種サービスを徹底解説
目次
Azure Load BalancerとApplication Gatewayとの違い
Azure ロードバランサー - Layer 4 ロードバランサー
Azure Application Gateway - Layer 7 ロードバランサー
Public Load Balancer と Private Load Balancer
Azure Load Balancerとは
Azure ロードバランサーイメージ画像
Azure Load Balancer(ロードバランサー) は、Microsoft Azureの主要な負荷分散サービスの一つです。
負荷分散技術とは、インターネットトラフィックやネットワークリクエストを複数のサーバーやリソースに分配する仕組みを指します。
インターネット上のデータの流れ(トラフィック)を、複数のサーバーに賢く分配することで、どんなに多くのユーザーがアクセスしてもページの表示速度が遅くなることを防ぎます。
この仕組みは、特に大きなセールや新製品の発売時など、一時的にアクセスが集中する場面でその真価を発揮します。
ロードバランサーの負荷分散イメージ
この技術を利用することで、単一のサーバーに負荷が集中することを避け、システム全体のパフォーマンスを改善し、ダウンタイムのリスクを最小化することが可能になります。
技術的に見れば、Azure ロードバランサーはLayer 4(トランスポート層)に位置するロードバランサーで、TCP/UDPプロトコルを扱います。
これにより、仮想マシン(VM)、VMスケールセット、Webアプリケーションなど、さまざまなリソースにわたってトラフィックを適切に分散させることができます。
また、ユーザーの要求に基づいた柔軟なルーティングルールの設定が可能で、アプリケーションの性能を最適化しながら、可用性を高めることができます。
Azure Load BalancerとApplication Gatewayとの違い
Azure ロードバランサーはLayer 4で動作しますがAzure Application GatewayはLayer 7 ロードバランサーです。
Azure ロードバランサー - Layer 4 ロードバランサー
Azure ロードバランサーはLayer 4 (トランスポート層)で動作するロードバランサーです。
これは、IPアドレスとポート番号を使用してトラフィックをバランスさせることに特化しています。
この方式は、TCP/UDPトラフィックに対して非常に効率的であり、サーバーのステートや負荷に基づいてトラフィックを適切なマシンにルーティングすることができます。
イメージとしては、荷物(データ)を正しい家(サーバー)に届ける役割です。
例えば、複数のサーバーがある場合に、どのサーバーが現在最も負荷が低いかを判断し、そのサーバーにトラフィックを送ります。
Azure Application Gateway - Layer 7 ロードバランサー
Azure Application GatewayはLayer 7 (アプリケーション層)で動作するロードバランサーです。より高度なルーティング機能を提供し、HTTP/HTTPSトラフィックの負荷を分散させることができます。
Application Gatewayでは、トラフィックの内容(URLパスやヘッダーなど)に基づいてルーティング決定を行い、ウェブアプリケーションの複雑なニーズに対応することができます。
イメージとしては、荷物(データ)を家(サーバー)の正しい部屋(アプリケーションやサービス)に届ける役割です(階層が一つ深くなります)。例えば、ウェブサイト内の特定のページやサービスにアクセスしようとするユーザーのリクエストを、そのリクエストに最も適したサーバーにルーティングします。
AzureLoad Balancerの種類
Azureロードバランサーには、「Public」と「Private」という運用の範囲に加えて、「Basic」と「Standard」という2つの異なる性能レベルがあります。
これらの違いを理解することで、アプリケーションのニーズに合わせた最適なロードバランサーを選択することができます。
Public Load Balancer と Private Load Balancer
Azureのロードバランサー選択は、アプリケーションの公開範囲(インターネット公開か内部ネットワーク内のみか)と、必要とする機能のレベル(基本的なものか、高度なセキュリティやスケーラビリティが求められるか)に基づいて行われます。
Public ロードバランサー
インターネットからのアクセスを受け、外部ユーザーにサービスを提供 する場合に使用します。
BasicまたはStandard版を選択でき、ニーズに応じて適切な機能レベルを選ぶことができます。
Private ロードバランサー
社内ネットワークやプライベートクラウド内での負荷分散に使用し、内部のアプリケーション間での効率的な通信 を実現します。
こちらもBasicとStandardの選択肢があり、使用環境やセキュリティ要件に応じて最適なものを選ぶことが可能です。
Basic Load Balancer と Standard Load Balancer
Azure ロードバランサーには、主に2つの性能レベルがあります。
Basic ロードバランサー とStandard ロードバランサー です。
両者の目的は同じで、複数のサーバーやサービスに対するトラフィックを効率的に分散し、アプリケーションの可用性と耐久性を高めることです。
Basic ロードバランサー
Basic ロードバランサーは、主に小規模から中規模のアプリケーション で使用され、無料 で提供されます。これは、テスト環境や開発環境に非常に適しており、単純な負荷分散の要件に対応できます。
Basicバージョンは、静的なパブリックIPアドレスをサポートし、Azureリソースへのインバウンド接続のバランシングに使用されることが多いです。
Standard ロードバランサー
一方、Standard ロードバランサーは、高度な機能を備えたパフォーマンス志向の負荷分散ソリューション です。これには、セキュリティグループによる統合ネットワークセキュリティ、帯域幅に対応したスケーラビリティ、可用性ゾーンへのサポートが含まれます。
これにより、ゾーン冗長性およびリージョン間の同時実行といったエンタープライズグレードのシナリオに適した負荷分散が可能になります。
Standard ロードバランサーは、プロダクション環境や大規模なデプロイメントでよく使用されており、Basicよりも高度な機能と高いパフォーマンスを必要とするシナリオで推奨されています。
この2つのロードバランサーの種類の理解は、アプリケーションのニーズに応じた適切な選択に不可欠です。
セキュリティ、スケーラビリティ、冗長性が優先事項である場合は、Standard ロードバランサーが推奨されます。
しかし、コストを抑えつつ基本的な負荷分散機能を使用したい場合は、Basic ロードバランサーが適切かもしれません。
負荷分散の基本とロードバランサーの役割
負荷分散の基本的な概念は、トラフィックや要求を複数のサーバー間で分配し、それによりリソースの利用を最適化し、応答時間を短縮し、システム全体の信頼性を向上させることです。
このプロセスはロードバランサーによって制御され、ロードバランサーは分散されるトラフィックの量を調整し、各サーバーへの負荷を平衡状態に保つ役割を担います。
- トラフィックの分散
多量のトラフィックが突発的に発生した際も、ロードバランサーは入力されるトラフィックを複数のサーバーに均等に分配することで、単一のエンドポイントに負荷が集中するのを防ぎます。
- 冗長性と信頼性の向上
ロードバランサーはサーバーの正常性を監視し、故障したサーバーがある場合はトラフィックを健全なサーバーへ自動的にルーティングすることで、システムのダウンタイムを減らし、アプリケーションの可用性を高めます。
- スケーラビリティの提供
アプリケーションやサービスへの要求が増加するにつれて、ロードバランサーは新しいサーバーの追加や既存のサーバーの拡張を容易にし、災害時の復旧策としても機能します。
支える機能である正常性プローブと負荷分散規則
正常性プローブ
正常性プローブイメージ
正常性プローブは、ネットワークの健全性を監視し、すべてのリクエストが処理できるサーバーに適切にルーティングされることを保証するために不可欠です。
正常性プローブはサーバーが「健康」か「不健康」かをチェックします。これにより、サービスが正常に動いているサーバーにだけトラフィックを送るようにします。
もしサーバーが「問題」を持っていたら(つまり、うまく動いていなかったら)、そのサーバーは一時的にトラフィックを受け取らないようになります。
負荷分散規則
負荷分散規則イメージ
負荷分散規則によっては、特定のトラフィックタイプを特定のサーバーに割り当てたり、セッション粘着性を設定したりすることも可能です。
どのデータトラフィックがどの道(サーバー)を通るかを決めます。
例えば、ある種の車(例えば、ビデオストリーミングのデータ)だけ特定の道(高性能のサーバー)を使わせたり、一度サービスを利用したユーザーを同じサーバーに「くっつけて」継続的にサービスを提供したりすることができます。
これにより、トラフィックが適切に分散され、ユーザーに対して速くて信頼性の高いサービスを提供することができます。
このように細かな設定を行うことで、高度な負荷分散戦略を実装し、アプリケーションのパフォーマンスと信頼性を向上させることができます。
Azure Load Balancerの設定手順
Azure Portalから、新しいロードバランサーのインスタンスを作成するプロセスは以下の通りです。
【Azure portalの操作方法はこちら】
➡️Azure Portalとは?操作方法やメリットをわかりやすく解説!
-
リソースグループの作成:
管理と整理を容易にするため、新しいロードバランサーインスタンスに対してリソースグループを指定します。
ロードバランサーの検索画面
-
ロードバランサーの作成
Azure Portalで「ロードバランサー」リソースを選択し、新しいロードバランサーを作成します。ここで、名前、リージョン、スキュー (BasicまたはStandard)、IPアドレスのアサインメントを設定します。
ロードバランサーの作成
-
バックエンドアドレスプールの定義
ロードバランサーによってトラフィックを受信するバックエンドサーバー群を指定します。
-
ヘルスプローブの設定
ヘルスプローブは、バックエンドサーバーの健全性を監視し、故障したサーバーからトラフィックを引き継ぐことを可能にします。
-
ロードバランシングルールの作成
トラフィックをどのようにバックエンドプールに分散させるかを定義するルールを作成します。
Azure CLIを使用する場合、Azure Portalと同様のステップをコマンドラインを通じて実行することが可能です。スクリプトを利用することで、設定プロセスを自動化し、再現性を高めることができます。
Azure Load Balancerの価格体系
Azure ロードバランサーの料金は、使用する種類(BasicまたはStandard)によって異なり、提供される機能と性能が料金の違いに反映されます。
- Basic ロードバランサー
無償で提供されるため、コストを抑えたい初期のシステムや小規模なアプリケーションに適しています。
- Standard ロードバランサーは、より多くの機能と高い耐久性が必要な企業向けのサービスなので、その分価格が高めに設定されています。
Standard ロードバランサー料金体系
項目 | 東日本の価格 | グローバル レベルの価格 |
---|---|---|
はじめの 5 ルール | ¥3.790/時間 | ¥3.790/時間 |
追加ルール | ¥1.516/ルール/時間 | ¥1.516/ルール/時間 |
インバウンド NAT 規則 | Free | Free |
データ処理量 | ¥0.758/GB | 追加料金なし* |
ゲートウェイ ロード バランサーに関する料金
項目 | 料金 |
---|---|
ゲートウェイ時間 | ¥1.895/時間 |
チェーン時間 | ¥1.516/時間 |
データ処理量 | ¥0.607/GB |
この表は、Standard ロードバランサーの主要な料金項目とその金額を示しています。
最新の価格情報はこちらからご確認ください。
【関連記事】
➡️Azureの料金体系を解説!サービスごとの料金例や確認方法も紹介
➡️Azureの料金計算ツールの利用方法!基本機能や円表示の手順を解説
サービスレベルアグリーメント (SLA)
SLAオンラインサービス画像
AzureロードバランサーのSLAは、サービスの可用性やパフォーマンスに対するMicrosoftの保証を示す重要な指標です。
SLAとは「Service Level Agreement」の略で、日本語では「サービスレベル契約」と訳されます。
これは、サービス提供者と顧客との間で合意される、サービスの品質や性能、可用性などに関する契約です。簡単に言えば、サービス提供者が顧客に対して、どの程度のサービスを保証するかを明確に定めた約束事です。
Basic ロードバランサーの場合、SLAは提供されません。Standard ロードバランサーには99.99%の稼働率保証が付いています。このSLAは、Azureの可用性ゾーンを利用している場合に適用され、システムの持続的な可用性と信頼性を支持しています。
まとめ
Azure ロードバランサーは、Microsoft Azureが提供する重要なインフラストラクチャサービスであり、ネットワークトラフィックをサーバーやデータセンター全体に最適に分散させることを可能にします。この記事では、Azure ロードバランサーの基本、異なる種類(Basic と Standard)、Azure Application Gateway との違い、およびロードバランサーが果たす役割を紹介しました。さらに、料金とサービスレベルアグリーメント(SLA)、Azure Portal および CLI を使った設定手順、新機能とアップデートについても説明しました。
Azure ロードバランサーに関する深い理解を得ることで、Azureクラウドプラットフォームでのアプリケーションデプロイメントを向上させることができます。