ELBとALBの違いについてまとめた | AWS初心者

AWS

ELB

AWSが提供するロードバランサー

Elastic Load Balancingの略です。AWSが提供するロードバランサーのサービスです。ロードバランサーというのは1つのサーバーにアクセスが集中しないように制御する装置のことです。負荷分散装置とも呼ばれます。ELBは主に以下の機能を提供します。

  • トラフィックを複数のインスタンスに分散する機能
  • ヘルスチェック機能
  • SSL機能

AWSのELBはトラフィックを複数のインスタンスに分散する機能を携えています。またヘルスチェックと呼ばれるインスタンスが正常に稼働しているかどうか、繋がっているかを確認する機能も保持しています。なのでダウンしているインスタンスに対してトラフィックを送信するということはありません。ELBはSSLの機能も提供しています。なので暗号化も通信を行うことができます。

現在AWSではALB、NLBの2つのロードバランサーがよく使われています。CLBというロードバランサーもあるようですが、こちらはレガシーの為、利用することは非推奨と言われています。今回はALBとNLBの2種類のロードバランサーについて手短にお話しします。

AWS — Difference between Application load balancer and Network load balancer
ALB vs NLB in AWS

ALB

Application Load Balancerの略です。

レイヤー7のロードバランサー

ALBはレイヤー7のロードバランサーとして機能します。レイヤー7はアプリケーション層のことを指しています。HTTPかHTTPSの情報に基づいて、どのインスタンスにトラフィックを送信すれば良いか決定します。HTTPはHyperText Transfer Protocolの略で、インターネットを通じて文書や画像をやりとりするためのプロトコルのことを指します。以下のようなURLを指定して、HTTP通信を行います。

http://test.com/awesome-cloud

httpをスキーム、test.comをホスト名、awesome-cloudをパスと言います。パスなどの情報を考慮してトラフィック分散を行うことができます。

NLB

Network Load Balancerの略です。

レイヤー4のロードバランサー

NLBはレイヤー4のロードバランサーとして機能します。レイヤー4はネットワーク層のことを指しています。NLBはIPアドレスや宛先ポートをに基づいて、どのインスタンスにトラフィックを送信すれば良いかを決定します。具体的にはHTTPリクエストヘッダーの中身を調べることで、IPアドレスや宛先ポートがわかるので毎度これらを調べます。

アプリケーション層は考慮しない

NLBはアプリケーション層は考慮するようには設計されていないので、content-type, cookie data, coustom headers, user location などに基づいて分散処理を行うことはできません。もしこれらの情報を元に分散処理を行いたいならALBを使うべきです。

今回の記事を書く上で以下の記事を参考にしました。

AWS — Difference between Application load balancer and Network load balancer
ALB vs NLB in AWS

番外:おすすめアイテム

記事の内容とは別に自宅・オフィスでの開発がもっと快適に、楽しくなる商品を紹介します。アイテム1つで開発効率が一気に向上したり、開発のモチベーションが上がったりするので良いアイテムにはお金を投資すると良いかと。

KATUO
KATUO
今回紹介する商品は普段自分が使っているものなので自信を持ってお勧めできますー。では1つずつ紹介していきます。

おすすめアイテム①

自分はオフィス次の2点の座布団と背もたれクッションを利用してます。姿勢が安定し、お尻への負担が激減します。オフィスにいるのに自宅で作業しているような感覚になるので気に入ってます。また疲労感もかなり減るので費用対効果が非常に高いアイテムです。

おすすめアイテム②

ブックスタンドみなさん使ってますか?PCを打ちながら参考書見る時に手で抑える必要がなくなるので非常に便利です。自分も購入した時なんでいままで使ってなかたんだろうと後悔したのでまだ持ってない方は買っておくと作業効率があがります。

おすすめアイテム③

PCスタンド、magic keyboard、magic mouseを購入してから、開発効率があがり、身体的負担が減って快適に開発ができるようになりました。

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。初心者には最低限読んでおいて欲しい技術本をまとめました。例えば「リーダブルコード」などは技術力の高いエンジニアなら必ず過去に読んでいる本だと思います。

筆者
筆者

今回の記事の内容は以上で終了です!最後まで読んでくれてありがとうございました!Twitterもやってるのでよかったらフォローしてください!

タイトルとURLをコピーしました