AWSのELBとは
AWSのELBとは、AWSから提供されているロードバランサーです。正式名称をAWS Elastic Load Balancingといいます。ロードバランサーというのは、集中する通信を分散させ、サービスの働きを安定させてくれるものです。
ロードバランサーがあることで、クラウドサービスの利点である高可用性や柔軟性を、高レベルで実現することが出来るのです。ここでは、AWSのELBの特徴や種類についての説明をしていきます。
AWSのELBの種類
AWSのELBは、3つの種類のロードバランサーがあります。
Application Load Balancer(ALB)、Network Load Balancer(NLB)、Classic Load Balancer(CLB)です。
それぞれ違った特徴やメリットがあるので、目的に適したロードバランサーを選んで下さい。それでは1つ1つ説明していきます。
Application Load Balancer(ALB)
Application Load Balancer とは、AWSのELBの中でも、性能の高さに定評のあるロードバランサーです。基本的にApplication Load Balancerを選ぶことがおすすめされています。
柔軟なアプリケーション管理や、HTTPSトラフィックの負荷分散を必要とする場合に適したロードバランサーといえます。リクエストレベル(レイヤー7)で稼働しているので、コンテナやマイクロサービスなど、新しいアプリケーションアーキテクチャにも対応が出来ます。
Network Load Balancer(NLB)
Network Load Balancerとは、1秒毎に数百万ものリクエスト処理が出来るロードバランサ―です。高レベルなパフォーマンスが必要となる場合に使われます。突発的な通信や、急激に変化する通信にも対応することが可能です。
静的IPが必要となる場合も、Network Load Balancerを使用して下さい。接続レベル(レイヤー4)で稼働しているので、TCP/UDP/TLSの通信の負荷を分散するのにも適しています。
Classic Load Balancer(CLB)
Classic Load Balancerとは、幾つものAmazon EC2インスタンスにおいての、基礎的な負荷分散をする基礎的なロードバランサーを指します。
EC2 Classic内で作成された既存のアプリケーションがある場合、Classic Load Balancerを使う必要があります。接続レベル(レイヤー4)と、リクエストレベル(レイヤー7)の両方で稼働しています。
Amazon VPCを使う際は、Network Load Balancer もしくはApplication Load Balancerを使用して下さい。
AWSのELBの特徴8つ

AWSのELBを使用する上で、知っておきたい特徴が8つあります。
トラフィックを複数のターゲットへ分散できること、SSLでのセキュリティ強化について、トラフィックの増加に応じて自動的にスケーリングすること、リアルタイムでのモニタリングが出来ること、独自ドメインが使用出来ること、アプリケーションの運用管理がしやすいこと、接続しているEC2の状態を検出出来ること、低コストで利用しやすいことです。
それでは1つ1つ説明していきます。
AWSのELBの特徴1:トラフィックを複数のターゲットへ分散できる
AWSのELBには、他のサービスへのトラフィックを、仮想サーバー等、幾つものターゲットに自動で分散が出来るという特徴があります。
幾つものターゲットに通信を分散することで、負荷が分散され、システムとしての耐障害性、信頼性、可用性などが高められます。クラウドのみならず、オンプレミスサーバー上にあるAWSリソースを負荷分散する、ハイブリッド負荷分散もすることが出来ます。
AWSのELBの特徴2:SSLでのセキュリティ強化
AWSのELBでは、ロードバランサーに関するセキュリティグループを作ることで、セキュリティを強化することが出来ます。これにはAmazon Virtual Private Cloudが必要となります。
また、AWSのELBでは、SSLの設定をしてSSL証明書を管理することで、セキュリティの強化が可能です。さらに、DDoS攻撃から備えるためのAWS Shield Standardというものがあります。
AWS Shield Standardとは
AWS Shieldとは、AWSで行われるアプリケーションを、Distributed Denial of Service攻撃から守るマネージド型サービスを指します。
そしてAWS Shield Standardとは、リフレクション攻撃や、SYN/UDPフラッド攻撃といった、頻度の高いインフラストラクチャ攻撃からAWSを守ります。
このサービスは、お客様全員に対して自動で有効化されます。追加料金は発生しません。
AWSのELBの特徴3:トラフィックの増加に応じて自動的にスケーリング
AWSのELBには、トラフィックの増加に合わせて自動でスケーリングされ、急激なトラフィックの増大にも耐えることが出来るという特徴があります。
トラフィックの量に応じ、手作業でAWSのELBの追加設定をする必要が無いのです。イベントやキャンペーンなどによる、トラフィックの急激な増加が予測される場合、AWS Auto Scalingと組み合わせることで、トラフィックに応じたサーバーの増減をすることも出来ます。
AWSのELBの特徴4:リアルタイムでのモニタリング
AWSのELBは、アプリケーションを常にモニタリングしています。
モニタリングをリアルタイムですることによって、パフォーマンスを細かい部分まで把握することが出来るので、早期にトラブルを発見して対処することが出来るのです。
そして、正常に稼働しているターゲットのみで、トラフィックの分散をすることが可能となります。
AWSのELBの特徴5:独自ドメインが使用できる
AWSのELBには独自ドメインの使用が出来るという特徴があります。AWSのELBのドメインネームサービスに、独自ドメインを設定することが可能です。
ただし。固定IPアドレスを使用する場合は、AWSのドメインネームサービスである、Amazon Route53と組み合わせて、AWSのELBの指定をするエイリアスを作ることが必要となります。
AWSのELBの特徴6:アプリケーションの運用管理がしやすい
AWSのELBには、アプリケーションの運用管理がしやすいという特徴があります。
一般的にアプリケーションの運用というと、手間がかかり面倒だと思われる方が大半でしょう。しかし、AWSのELBの場合、機能が全てAWSのマネジメントコンソール画面から、一括して管理することが可能です。よって、アプリケーションの運用が容易となります。
AWSのELBの特徴7:接続しているEC2の状態を検出できる
AWSのELBでは、EC2のパフォーマンスをリアルタイムでモニタリング出来るという機能が提供されており、接続しているEC2の状態を検出することが出来るという特徴があります。
接続しているEC2の中から「異常なEC2」を検出すると、それらのEC2に対しての通信を中止して、他の正常なEC2へと負荷を分散します。
AWSのELBの特徴8:低コストで利用しやすい
AWSのELBは、利用した分の料金だけを支払う従量制となっています。基本料金や初期費用などは不要で、必要な分だけを利用することが出来ます。
それにより、月額の料金で計算する形のロードバランサーと比べて低いコストで使用できる場合が多いのです。その上、ハードウェアのロードバランサーのように、維持管理をするための人手やコストが不要という利点もあります。
AWSのELBの使用料金
AWSのELBの料金は、使用した分のみ発生する従量制となっております。ロードバランサ―を使った時間と、転送したデータの量によって料金が決まります。
初期費用や基本料金は必要ありません。無料利用枠も不要です。ただし金額は、リージョンや、どのロードバランサーを使用するかにより異なりますので注意して下さい。
サーバーが1台でもAWSのELBは利用可能?

1台のサーバーしかない場合でも、AWSのELBを使うことが出来るのかという疑問を持つ方が多いでしょう。
結論をいうと、1台のサーバーでもAWSのELBを使うことが出来ます。
それだけでなく、1台のサーバーでAWSのELBを使用することによって、幾つものメリットが生じます。インスタンスを用意に差し替えられる点、サーバーのヘルスチェックが出来る点、SSL証明書を無料で利用出来る点などが挙げられます。
サーバー1台で利用するメリット
1台のサーバーでAWSのELBを使用する場合のメリットについて説明します。
まず、メンテナンスを行う際に、インスタンスの操作が容易になります。Amazon Machine Imageであらかじめ別のインスタンスを準備し、ロードバランサーによって切り替えることで、ユーザーへの影響を与えることなくメンテナンスが出来ます。
そして、AWSのELBは常時サーバーをモニタリングしているので、トラブルの早期発見が可能です。さらに、AWSのELBの導入によって、無料でSSL証明書を使えるので、セキュリティの強化が可能となります。
AWSのELBと連携できるサービス3つ

AWS ELBは、様々なAWSサービスと連携することで、より高レベルな機能を可能にします。
特にAWS Auto Scaling、Amazon CloudWatch、Amazon Route 53といったサービスと連携します。
AWSを使いこなすためには、正しい知識を身につけて理解を深めることが大切です。それでは、それぞれの概要について説明していきます。
AWSのELBと連携できるサービス1:AWS Auto Scaling
AWS Auto Scalingとは、自動的に幾つものサービスをスケーリングすることの出来る機能となっています。
AWSのELBと組み合わせることによって、負荷に合わせてAmazon EC2の台数を自動で増減出来ます。また、AWS Auto Scalingには、他のコンソールへの移動をしなくても、全てのスケーラブルリソースの使用率の平均値を素早く確認することが出来るという特徴があります。
AWSのELBと連携できるサービス2:Amazon CloudWatch
Amazon CloudWatchとは、AWSのリソースや、そこで行われているアプリケーションがリアルタイムで監視することの出来るサービスとなっています。
ELBの動作をAmazon CloudWatchでモニタリングすることで、正常にシステムが稼働しているのか確認することが出来ます。Amazon CloudWatchがあることにより、環境内での異常の検知、アラーム設定、アクションの自動化、トラブルの解決、スムーズなアプリケーション実行が可能となるのです。
AWSのELBと連携できるサービス3:Amazon Route 53
Amazon Route53とは、拡張性と可用性と優れたクラウドのドメインネームサービスとなっています。
AWSのELBは、Network Load Balancer以外だと、グローバルIPアドレスの使用が不可能です。ですが、Amazon Route53と組み合わせて、AWSのELBを指定するエイリアスを作ることによって、独自ドメインであってもAWS ELBの使用が出来るようになります。
AWSのELBの導入を検討してみよう

ロードバランサーというと、「大量のアクセスのある大規模なWebサービスが使うもの」というイメージがあります。しかし、WebサービスをAWSで提供する際、AWSのELBを使うことで、低いコストで高性能なロードバランサーを実現することが可能です。
AWSを用いてWebサービスを提供したいとお考えの方は、是非ともAWSのELBの導入を検討してみて下さい。]]>
この記事の監修者・著者
-
株式会社オープンアップITエンジニア
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞