elb(Elastic Load Balancer)とは、AWSの運用するロードバランサで負荷分散やヘルスチェックとかで使われるくらいに考えていました。
それ以外にも多くの便利な機能があり、図解を用いてELBをわかりやすく解説できればと思います。
主にソリューション アーキテクト向けで勉強した内容をまとめています。
目次
ELBとは
ELBはElastic Load Balancerと呼ばれている 負荷分散、ヘルスチェック機能を備えたAWSの展開するサービスの一つ。
- ELBは現在(2019年時点)以下3種類が利用可能
- ALB(Applicartion Load Balancer)
- NLB(Network Load Balancer)
- CLB(Classic Load Balancer)
- CLBは2013/12/4以前に提供されていたEC2-classicを利用している場合のみ採用される
- 単一リージョン内の複数AZに対して負荷分散が可能。
※複数リージョンレベルでの負荷分散を行う場合にはRoute53を利用したリージョンレベルでの負荷分散が必要
詳しくは別記事route53とはawsをわかりやすくをご参照ください。
ALBとは
awsが提供する アプリケーション層(第7階層)ロードバランサ
- コンテンツベース(例:IPアドレス別、ファイルパス別)でルーティングできる
- 対応プロトコルは以下の通り
- フロント&ALB間 :HTTP/HTTPS
- 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階層)ロードバランサ
- IPプロトコル別でルーティングできる(例:TCP)
- プロトコル:フロント側-> NLB:TCP/TCP_UDP NLB-> バック側:TCP/TLS/TCP_UDP/UDP
- 高パフォーマンス、低レイテンシが要求される際にNLBが採用される
- 少なくとも1つ以上のサブネットがアタッチされる必要がある。
CLBとは
awsが提供する アプリケーション層/トランスポート層ロードバランサ
- EC2-Classicで稼働しているアプリケーションに対してCLBが採用される
- 参考サイト https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/default-vpc.html
- Enable advanced VPC configurationを有効にしていればサブネットアタッチ必要なし
- Cross zone balancingはデフォルトで有効
ELBの役割(負荷分散、ヘルスチェック)
ELBの利用用途は主に以下二つのよう。
以下の図では本来100%で受けるリクエストがELBによって別々のAZ内のEC2へ50%ずつに分散される。
以下がELBヘルスチェックの実行フロー。
2. EC2がELBに対して健康ですよーと返答する(デフォルトタイムアウト:5秒)
3. ELBがCloudwatchに対してEC2の健康状態を報告する
ヘルスチェックでEC2がUnhealthyと判断された場合
- その後、Unhealthyとなったインスタンスは終了(terminate)される
- まずはUnhealthyと診断されたインスタンスを終了してからAuto-Scailingが始まり新しいインスタンスが生成される
速習!おすすめプログラミング勉強法【Udemy】
いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。
Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。
ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました
Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy
また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃