目的
ALBとELBについて何が違うのかよくわからなかったため調べてみた。
結論
ELB(Elastic Load Balancing)という大枠の中の一種がALB(Application Load Balancer)。
ALBはELBの一種。
そもそもELBとは
役割
- アプリケーションへのトラフィック(ネットワーク上で転送されるデータ量)を負荷分散する
- トラフィックを送る先のサーバーが問題なく稼働しているか定期的に確認する(=ターゲットモニタリング)
負荷分散
ユーザーからのアクセスを複数のターゲット(サーバーなど)に振り分け、サーバーダウンしないようにしてくれる。
負荷状況に応じて自動にスケール(サーバーの台数を増やすなど)してくれる。
ターゲットモニタリング
ターゲットの状態を監視。AWSのサービスの一つであるCloud Watchメトリクスでログの取得を可能にしている。
ターゲットの異常を検知したら通信を振り分けないようにしてくれる。
ではALBは?
- HTTPトラフィックとHTTPSトラフィックのレイヤー7層の負荷分散ができるロードバランサー
- つまりはWebサイトやWebサービスの負荷分散にはALBを使用する(多分)
- ALB以外にNLB(Network Load Balancer)という一種もある
NLB
- レイヤー4層で動作。TCPなどの負荷分散ができるロードバランサー
ひとりごと
OSI参照モデルがよくわかっていないが、Webアプリ開発者の私はALBを使うのであろうか
OSI参照モデル理解しよう。。
参考
こちらの記事は以下の参考文献をもとに記述しています。