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が始まり新しいインスタンスが生成される

速習!おすすめプログラミング勉強法【Udemy】

いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。

Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。

ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました

Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy

また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃

【Udemy】未経験から始める格安プログラミング講座4選

未経験だけどプログラミングを学んでエンジニアになりたい、社会人だから時間もそれほど多く無いので効率よく勉強したい。 私もその内の一人でした。今回の記事で最短でエンジニアになるためのおすすめUdemy講座4選をご紹介したいと思います。

【flutter】他クラスの関数/変数を使う方法をわかりやすく解説

こんにちはkzyです。 flutterで他クラスの関数や変数を使う方法を探している方向け。 開発を進める上で他クラスから値をインポートして使うことは頻繁にあると思います。 どのように他クラス内のデータにアクセスするのか、検証したソースコードでわかりやすく解説したいと思います。

【個人開発】副業でアプリを作りたいならサーバーは契約しない方がいい理由

個人で副業のためにアプリ開発をしてみたいと考えている方向け。 iOS/Androidの個人アプリ開発の場合データのやりとりを行うため、サーバを契約する人が多いです。 しかし、考えなしにサーバを契約するのは非常に大きなデメリットがあるため、私はあまりオススメしません。 ではどの様にしてお金をかけずにアプリ作りができるか、なぜFirebaseを使うべきなのかこの記事で解説していきます。

【海外にもある!?】海外就活でブラック企業を回避する方法

海外での就活を考えている方向けの記事です。 ブラック企業は日本企業のイメージがありますが、そんなことはありません。 日本の就活とは違う点、また海外の就活で失敗しないために事前に知っておいた方が良い情報を本記事にてまとめていきます。

【ダナンの物価】ダナン在住者が伝える2020年ベトナム最新状況!

最近観光地として人気が高まっているダナンですが、近年物価の変動が大きくなっていっているように感じます。 2019年〜2020年でのダナンの物価はどのようなものなのか、ダナン在住者として現地の声をお届けできればと思います

【残業大国】日本の異常な労働環境をベトナムで働いてみて実感した件

日本ってやっぱり「働く」ことに関しては異常ですよ。 「お客様は神様」精神、残業を美徳とする文化、過労死という言葉を作り出してしまう労働環境。 今回は日本の異常な労働環境をベトナムの労働環境と比較しながら説明したいと思います😱

【海外移住】ベトナムに移住したら日本の8億倍住みやすかった件

海外移住を始めて2年ほどが経過しました、日本に住んでいた時と今ベトナムに移住してからとでどのように生活が変わったのかをこちらの記事にまとめていこうと思います。

【ダナンの家賃】日本相場の半額以下!?ベトナム家賃相場調査!

ベトナム・ダナンへ移住を考えている方向け。 海外移住をする上で家賃相場を事前に知っておくことは生活費がどれくらいかかるのか計算ができるので非常に重要です。 こちらの記事で家賃相場、賃貸契約の流れ、賃貸契約時のトラブルについて解説していきます。

【おすすめ】Udemy講座でAWS ソリューションアーキテクト アソシエイトを一発合格できた件

AWS ソリューションアーキテクトの勉強をしている方向け。
Udemyでのおすすめ講座、一発合格のための勉強方法から受験の手順まで本記事でまとめました。
認定試験の受験を考えている方には必見です。

【python】文字認識で画像からテキストを出力するやり方をわかりやすく【Tesseract&PyOCR】

こんにちはkzyです。 今回は文字認識ライブラリのPyOCRとTesseractを使って画像からテキストを抽出したいと思います。 環境構築含めpythonでの文字認識のやり方を簡潔に説明できればと思います。

【コピペOK】flutterのSizedBoxとExpandedの違いをわかりやすく

flutterでオブジェクトのサイズ調整の理解が曖昧な方向け。 flutterでアプリ開発を行う際に頻出する項目の一つのため、この記事でなるべくわかりやすく解説します。

【python】文字認識したテキストをエクセルに出力するやり方をわかりやすく【PyOCR + XlsxWriter】

こんにちはkzyです。 今回はPyOCRで文字認識したテキストをエクセルに出力する方法を解説します。 具体的にはXlsxWriterというライブラリを使用してPythonスクリプトからエクセル操作を行います。