【AWS入門】ELBとは?種類や特徴を解説

  • 2022.03.22
       
【AWS入門】ELBとは?種類や特徴を解説

Amazon Web Service(AWS)には、サーバの負荷(load)を低減させるために、外部からのリクエストを複数のサーバに振り分けることで負荷分散する「ELB」というロードバランサーのサービスがあります。ELBには、大きく分けて4種類のサービスがあります。本記事では、それらの概要と特徴について紹介します。

ELB(Elastic Load Balancing)とは?

ELBとは、Elastic Load Balancingの略で、AWSが提供しているロードバランシングサービスの総称です。ロードバランサーの機能をクラウド上で行うもので、ほかのサービスへのトラフィックを仮想サーバなどの複数のターゲットに自動的に分散し、負荷を均一化することで、障害に対する耐性を高め、安定稼働をサポートするサービスです。

ロードバランシングとは?

ロードバランシングを簡単に言うとサーバのロード(負荷)をバランシング(分散)する装置のことです。
アクセスが多くなく、サーバが処理するリクエストが少ない場合は、ロードバランサーを使わなくても問題はありませんが、何らかの理由で、サーバにアクセスが集中した際、サーバが重たくなり、サイト表示に時間がかかることがあります。
インターネットからサーバにアクセスがあると、サーバはその機器に搭載されているCPUやメモリといったリソースを使ってリクエストを処理しますが、何らかの理由でアクセスが集中したことでリクエスト数が急激に増えると、ユーザーのブラウザでページ表示にラグが発生したり、表示されなくなったりします。このようなリクエスト処理が滞っているときが、高い負荷の状態です。サーバにアクセスが集中することによって、ロード(負荷)が高い状態であるといえます。
このような、負荷の高い状態でサイト表示が重い、あるいは表示されない状態を防ぐために、活躍するのがロードバランサーです。
ロードバランサーは負荷を複数のサーバに分散することにより、1つのサーバに負荷が集中することを防ぐことができます。
また、webアクセスへの集中だけでなく、サーバ故障の場合などにも、web利用者に安定したサービスを提供することもできます。
サーバにかかる負荷の状態は常に一定とは言えないため、常に安定したサービスを利用者に提供するためにもWebサービスにおいて、ロードバランサーの役割を持つシステムの導入が必要でしょう。

ELB はロードバランシングサービスの総称

ELBは2009年にリリースされました。当時、ロードバランシングサービスは1つしかなく、AWSのロードバランサーと言えば「Amazon ELB」でした。その後、システムのニーズに合わせた追加オプションとして、2016年にWebサービスに発生する負荷を分散するALB(Application Load Balancer)が登場し、このとき従来のELBは、CLB(Classic Load Balancer)と名前を変えて残り、ALBとCLBのサービスをまとめた総称として、ELBが使われるようになりました。さらに、2017年に高パフォーマンスが必要な環境の負荷を分散するNLB(Network Load Balancer)、2021年にはフルマネージドのネットワークゲートウェイおよびロードバランサーであるGLB(Gateway Load Balancer)も登場し、現在、ELBは4つに分類され、構築したいシステムに最適なものを選ぶ形式になっています。

ELBの4種類

HTTP、HTTPSに最適な「ALB」
ALB(Application Load Balancer)はHTTP・HTTPSプロトコルのレイヤー7(アプリケーション層)に対応する単一ロードバランサーです。Webアプリケーションでよく利用されています。

低遅延で大量のアクセスを分散する「NLB」
NLB(Network Load Balancer)はTCPやUDPのレイヤー4(トランスポート層:送信されたデータの制御を担う層)で動作し、リクエストの内容に沿ってターゲットに振り分けます。パケットといわれるデータの断片だけで確認するため、ALBのような細かく振り分けすることはできませんが、ラグがほとんどなく、高スループットを保てるため、1秒で何百万のリクエストを振り分けられるロードバランサーです。

サードパーティーの仮想ネットワークを拡張する「GLB」
GLB(Gateway Load Balancer)はレイヤー3(ネットワーク層)で動作し、ファイアウォール、侵入検知、防止システム、ディープパケットインスペクションシステムといったサードパーティーのセキュリティ製品などをAWS上で利用する場合、従来に比べてシンプルかつ容易に、スケール、可用性、サービス提供のしやすさを向上させられます。

EC2-Classicネットワークに対応する「CLB」
CLB(Classic Load Balancer)は旧型のロードバランサーで、複数のAmazon EC2インスタンスに対して基本的な負荷分散を行います。EC2-Classicネットワーク内で構築されたアプリケーションが対象となり、レイヤー7とレイヤー4のどちらかで動作します。対応可能なプロトコルが多く、TCP、SSL/TLS、HTTP、HTTPSなどに対応しています。
ただ、2021年7月にAWSは、同社最古のクラウドコンピューティングサービスの1つであるEC2-Classic Networking の提供終了を発表しました。2022年8月15日までには、EC2-Classic Networking が他のクラウドに移行されるので、AWSアカウントからはEC2-Classicリソースが無くなると想定されています。

ELBの特徴

・高可用性
多数のAZに配布したEC2インスタンスなどにトラフィックを分散するため、一つのAZがダウンしても別のAZで処理を続けることができ、ユーザーのアプリケーションは問題なく使えます。

AZ(アベイラビリティゾーン)
米アマゾンドットコム(Amazon.com)社のAmazon Web Services(AWS)で、ある地域に立地するデータセンター群を一つの論理的な管理単位にまとめたもの

・統合性
ELBはいろんなAWSサービスと一緒に使用できます。以下に例を挙げました。
Auto Scaling:CPUなどがしきい値を越えた場合、自動でEC2インスタンスを増やすことができる
Route 53:一緒に使うことでDNS失敗に対応できる

・安全性
SSL復号化、統合認証管理、ポートフォワーディングなど多数のセキュリティ機能を提供しており、ELB用セキュリティグループを生成して流入·流出するトラフィックを効果的にコントロールできます。

・低コスト
従量課金制であるため、ハードウェアのロードバランサーや月額料金で計算されるタイプのロードバランサーよりも低コストで利用できる場合も多い。 また、ロードバランシング作業を自動化することで多くのコストを削減でき、維持管理のコストも削減できます。

終わりに

AWSにおいて、ELBは有用なサービスのひとつとなっています。
ロードバランサーは会社でいう仕事を振り分ける上司(司令塔)のようなものです。
ロードバランサーをうまく使うことで、サーバダウンを防ぎ、サイトの表示遅延や、サイトが表示されないといった困りごとを解消できるため、サイトへの信頼度も高まるでしょう。
ALB、NLB、GLB、CLBそれぞれの特長を知り、最適なサービスを利用しましょう。

     

AWSカテゴリの最新記事