elb(Elastic Load Balancer)とは、AWSの運用するロードバランサで負荷分散やヘルスチェックとかで使われるくらいに考えていました。
それ以外にも多くの便利な機能があり、図解を用いてELBをわかりやすく解説できればと思います。
主にソリューション アーキテクト向けで勉強した内容をまとめています。

目次

ELBとは

Tranquilpeak ELBはElastic Load Balancerと呼ばれている 負荷分散、ヘルスチェック機能を備えたAWSの展開するサービスの一つ。

Point

  • ELBは現在(2019年時点)以下3種類が利用可能
  1. ALB(Applicartion Load Balancer)
  2. NLB(Network Load Balancer)
  3. CLB(Classic Load Balancer)
  • CLBは2013/12/4以前に提供されていたEC2-classicを利用している場合のみ採用される
  • 単一リージョン内の複数AZに対して負荷分散が可能。

※複数リージョンレベルでの負荷分散を行う場合にはRoute53を利用したリージョンレベルでの負荷分散が必要
詳しくは別記事route53とはawsをわかりやすくをご参照ください。

ALBとは

Tranquilpeak

awsが提供する アプリケーション層(第7階層)ロードバランサ

Point

  • コンテンツベース(例:IPアドレス別、ファイルパス別)でルーティングできる
  • 対応プロトコルは以下の通り
  1. フロント&ALB間 :HTTP/HTTPS
  2. ALB&バック間 : HTTP/HTTPS
  • リクエスト情報(IPアドレス等)を確認する場合はX-Forwarded-For-Headerの値を見る
  • IAMやAWS certificate manager(ACM)でSSL証明書の管理・自動更新が可能
  • SNI(Server Name Indicator)を利用し複数のウェブサイトのSSL証明書の管理が可能
  • Sticky Sessionにより同じユーザのリクエストを同じインスタンスへルーティングが可能
  • Cross zone balancingはデフォルトで有効
  • 少なくとも2つ以上のサブネットがアタッチされる必要がある

NLBとは

awsが提供する トランスポート層(第4階層)ロードバランサ

Point

  • IPプロトコル別でルーティングできる(例:TCP)
  • プロトコル:フロント側-> NLB:TCP/TCP_UDP NLB-> バック側:TCP/TLS/TCP_UDP/UDP
  • 高パフォーマンス、低レイテンシが要求される際にNLBが採用される
  • 少なくとも1つ以上のサブネットがアタッチされる必要がある。

CLBとは

awsが提供する アプリケーション層/トランスポート層ロードバランサ

Point

ELBの役割(負荷分散、ヘルスチェック)

ELBの利用用途は主に以下二つのよう。

Point 【負荷分散】 主にバックエンドで稼働するEC2インスタンスへのリクエストを分散させることで、インスタンスが死ぬことを防ぐ役割を持つ。

以下の図では本来100%で受けるリクエストがELBによって別々のAZ内のEC2へ50%ずつに分散される。
Tranquilpeak

Point 【ヘルスチェック】 ELBがEC2インスタンスの健康状態を確認し、CloudwatchにEC2の健康状態を報告する。

以下がELBヘルスチェックの実行フロー。

Point 1. ELBがEC2インスタンスに対してリクエストを送る(デフォルト:30秒間隔)
2. EC2がELBに対して健康ですよーと返答する(デフォルトタイムアウト:5秒)
3. ELBがCloudwatchに対してEC2の健康状態を報告する

Tranquilpeak

ヘルスチェックでEC2がUnhealthyと判断された場合

Point - もしも EC2がELBに対して時間内に応答しない場合には、EC2はUnhealthyとなり、新しいリクエストはそのEC2には送られなくなる
- その後、Unhealthyとなったインスタンスは終了(terminate)される
- まずはUnhealthyと診断されたインスタンスを終了してからAuto-Scailingが始まり新しいインスタンスが生成される

ソリューション アーキテクト認定試験突破のために

elbについて調べると本当にたくさんの記事がヒットしますが、AWSソリューションアーキテクトアソシエイトの試験をクリアするために必要な事項をまとめました。
参考までに今私が勉強の教材として使っている Udemyのおすすめ教材を載せます。
UdemyではAWS以外でもプログラミングに関する動画教材が豊富で 短時間でスキルを身につけるにはとても効率的な教材だと思います。
特にITの業界は学習領域が広いため、短時間で必要な知識を身につけることが重要であるので、その点でもUdemyは非常に優れていると思います:)
オンライン講座で、AWSの基本資格「AWS 認定ソリューションアーキテクトアソシエイト試験」に合格しよう!


また、別記事にてAWSリソースについてやダナンでの生活やIT関連についても記事を書いていますのでご興味あればご覧いただけますととても嬉しいです😁

関連記事

【オートスケーリングとは】awsをわかりやすく

オートスケーリングとはawsが提供するサービスで「設定に応じて自動でインスタンスを増減を調整してくれるサービス」程度の認識でした。 それ以外にも多くの便利な機能があり、図解を用いてオートスケーリングをわかりやすく解説できればと思います。 主にソリューション アーキテクト向けで勉強した内容をまとめています。

【route53とは】awsをわかりやすく

route53とはAWSが提供するDNSサービスくらいに考えていました。 実はroute53にはそれ以外にも多くの便利な機能があり、図解を用いてELBをわかりやすく解説できればと思います。 主にソリューション アーキテクト向けで勉強した内容をまとめています。

【ebsとは】awsをわかりやすく

EBS(Elastic Block Storage)とは、EC2インスタンスと共に利用されるAWSが提供するブロックストレージ型仮想ディスクサービスを指します この記事を通してEBSをわかりやすく説明できればと思います 主にソリューション アーキテクト向けで勉強した内容をまとめています。