システムの規模が大きくなっていくと、外部からのアクセスに対して適切に通信を振り分ける必要が出てきます。それを実現するのがロードバランサーになります。今回は、このロードバランサーについて、AWSではどのような種類があり、利用するにあたりどのようなメリットがあるのか、そして料金についてご紹介します。
目次
ロードバランサーとは
ロードバランサーとは、ウェブサイトへのアクセスなど、外部からの通信によるサーバにかかる負荷を、均等に振り分けるための装置のことです。
一つのサーバでウェブサイトを運営した場合、そのサーバの処理能力を超える量のアクセスが発生するとレスポンスの低下やサーバダウンが発生する恐れがあります。そのため通常はサーバを増やすことで処理能力を増強しますが、このときにアクセスが一つのサーバに偏ってしまうと、せっかくサーバを増やしても意味がありません。そこで、各サーバへのアクセスを均等に振り分ける役割としてロードバランサーが登場します。
ロードバランサーは、物理的な機器としてだけではなく、サーバにソフトウェアとして組み込むタイプや、クラウド上でデプロイして稼働するタイプまで様々な形態の製品、サービスとして存在します。
AWSにおけるロードバランサーの種類
AWSでも、Elastic Load Balancer(ELB)という名称でロードバランサーをサービスとして提供しています。ELBには用途に応じて種類分けがされているので、それぞれ簡単にご紹介します。
ALB(Application Load Balancer)
ALBはHTTPやHTTPSトラフィックの負荷分散に向いているロードバランサーです。
NLB(Network Load Balancer)
毎秒数百万のリクエストの処理が可能なため、突発的なトラフィック増加など、高度なパフォーマンスが要求される場面での利用に向いているロードバランサーです。
レイヤー4(トランスポート層)で動作しているため、TCP/UDP/TLSのトラフィック分散にも向いています。
CLB(Classic Load Balancer)
レイヤー4(トランスポート層)またはレイヤー7(アプリケーション層)のいずれかでルーティング決定を行います。CLBは、ロードバランサーのポートとコンテナインスタンスのポートとの間の一定の関係が必要です。この静的マッピングでは、少なくともCLBを使用する単一のサービスの必要数と同じ数のコンテナインスタンスがクラスターに存在する必要があります。CLBはAWSにおけるロードバランサーの歴史の中でも最も古く、現在では新規にロードバランサーを使用する場合はALBもしくはNLBを使用するのが一般的です。
GWLB(Gateway Load Balancer)
GWLBは、AWSのロードバランサーの中でも新しいサービスになり、ファイアウォール、侵入検知防止システム、ディープパケットインスペクションシステムなどのサードパーティの仮想アプライアンスをデプロイ、拡張、管理できます。ます。レイヤー3(ネットワーク層)で動作します。すべてのポートですべてのIPパケットをリッスンし、リスナールールで指定されたターゲットグループにトラフィックを転送します。GWLBは、仮想アプライアンスと同じVPCにデプロイします。
AWSのロードバランサーのメリット
AWSのロードバランサーを使うことにより、どのようなメリットがあるのでしょうか。詳細を以下でご紹介します。
- 柔軟な負荷分散
- AWSのロードバランサーは、負荷分散する機能を有しているのはもちろん、複数のアベイラビリティゾーンのサーバに対しても負荷分散することができますので、非常に高いレベルでWebサービスの安定した継続を実現します。
- セキュリティの充実
- AWSのロードバランサーはAmazon VPCの中に作成されるため、セキュリティグループの設定で許可したトラフィックのみを通過させて、制御することができます。
AWS自体が持つSSL証明書管理などの機能と併せて使えば、更に高度なセキュリティを実現する事ができます。 - 柔軟なルーティング
- AWSのロードバランサーは柔軟にアプリケーションのターゲットを設定できるため、ひとつのロードバランサーで多くのアプリケーションをルーティングできます。
- モニタリング
- AWSのロードバランサーでは、Amazon Cloud Watchなどによって、アプリケーションの動きやパフォーマンスを常に把握する事ができます。
AWSのロードバランサーのコスト
AWSの各種ロードバランサーのコストの考え方は、1時間単位または1時間未満におけるロードバランサー自体の使用量と、ロードバランサーのキャパシティユニット(LCU)の使用量の合算が基本になります。LCUはロードバランサーの利用における複数の要素から、最も使用量が高いものが請求対象となります。LCUの要素はロードバランサーの種類により異なりますので、以下で各種ご紹介します。また、料金はロードバランサーを使用するリージョンによっても多少異なります。ここでは、2021年8月現在のアジアパシフィック(東京)リージョンでの料金を掲載しております。
ALB(Application Load Balancer)
- (1)
時間(または1時間未満)あたり、0.0243USD
- (2)
LCU時間(または1時間未満)あたり、0.008USD
- LCUの要素
- 新しい接続:1秒あたりの新たに確立された接続の数
- アクティブ接続:1分あたりのアクティブな接続の数
- 処理タイプ:ロードバランサーによって処理されたHTTP(S)リクエストと応答のバイト数(ギガバイト(GB)単位)
- ルール評価:ロードバランサーにより処理されたルールの数とリクエストレートの積(最初に処理される10個のルールは無料)
NLB(Network Load Balancer)
- (1)
時間(または1時間未満)あたり、0.0243USD
- (2)
LCU時間(または1時間未満)あたり、0.006USD
- LCUの要素
- 新しい接続またはフロー:1秒あたりの新たに確立された接続またはフローの数
- アクティブな接続またはフロー:1分ごとにサンプリングされたピーク時の同時接続またはフローの数
- 処理タイプ:ロードバランサーによって処理されたバイト数(ギガバイト(GB)単位)
CLB(Classic Load Balancer)
- (1)
時間(または1時間未満)あたり、0.027USD
- (2)
CLBにより処理されたデータのバイト数(ギガバイト(GB)単位)あたり、0.008USD
CLBではLCUという概念はなく、CLBの稼働時間と処理されたデータ量のみで課金されます。
GWLB(Gateway Load Balancer)
- (1)
時間(または1時間未満)あたり、0.0135USD
- (2)
LCU時間(または1時間未満)あたりの0.004USD
- LCUの要素
- 新しい接続またはフロー:1秒あたりの新たに確立された接続またはフローの数
- アクティブな接続またはフロー:1分ごとにサンプリングされたピーク時の同時接続またはフローの数
- 処理バイト:ロードバランサーによって処理されたバイト数(ギガバイト(GB)単位)
AWS導入検討中の方は、以下記事も参照し、併せてAWS導入時の基本的なサービスをおさえておきましょう。
AWS活用法 | AWS初心者が押さえておくべき7つのサービス
最後に
ロードバランサーはシステムの可用性を高めるためには必要不可欠のものでありますが、ロードバランサーを必要とするシステムは構築の規模が大きく、管理も困難になっていきます。その場合は、AWS環境の構築実績のある業者に任せるのも一つの手段です。TOKAIコミュニケーションズでは、AWSソリューションとして「AWS導入サポート 」を提供しております。ロードバランサーを含めたAWS環境の構築や、既存のAWS環境にロードバランサーを組み込みたい場合などを検討されておりましたら、ぜひ当社にお気軽にご相談 ください。
関連サービス
おすすめ記事
-
2020.06.23
Amazon Connectで在宅勤務でも対応できる問合せ窓口を立ち上げてみた
-
2020.08.17
Datadogで実現するモニタリングとオペレーションのオートメーション化
-
2020.04.27
Amazon FSx for Windows ファイルサーバーへの移行と活用方法
-
2020.06.11
Amazon WorkSpacesとは?その特長をまとめてみた
-
2020.06.23
AWSのDevOpsサービスと当社マネージドサービスを活用したDevOpsの実装①~概念編~