ALB (App Load Blancer) と他の ELB との違い
ELB とは
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/introduction.html
ELB とは、アクセスを各サーバーに分散して転送するもの。
- 転送先のサーバーが一つダウンしたら転送をやめる
- 内部(サブネット?転送先?)の CPU の状態をモニターする
他にもこれらの機能がある。
また、ELB は ALB を含む大きな括りであり。ALB 以外もある。
ELB には ALB の他に
- Network Load Balancer
- Gateway Load Balancer
- Classic Load Balancer
これら 3 つがある。
NLB, ALB, CLB の違い
https://qiita.com/suzuki-navi/items/a8f4e21d75e685df51e9
違いとしては
- NLB: IP 固定と急激な負荷への対応
- ALB: リクエスト元によって向き先を変える、ログを取る
- CLB: キャッシュを受け取る、カスタムセキュリティポリシーの作成
これらの特徴があるようだ。
Gateway Load Blancer は情報が少ないので、主流ではないと予想して調べなかった。
ALB の詳しい機能
https://qiita.com/suzuki-navi/items/a8f4e21d75e685df51e9#alb
同じく suzuki-nabi さんの記事を参考にして
ターゲットは
- Lambda 関数
- EC2 インスタンス ID
- IP アドレス
この 3 つで指定できるようだ。
ECS コンテナに繋げたい時は、ECS で private IP を出して、そこに IP アドレス指定するようだ。
- ターゲットからのリクエストは転送される
- クライアントからは直接ターゲットを向いているように見える
このように書いてあったので、リクエストのクエリやペイロードなどを改めて渡し直す処理は書かなくてもできると解釈した
ALB の構築
前提条件
この記事で作った VPC サブネットに構築する。
https://youtu.be/Y-Mc2OenReA?t=2556
クラインさんの動画を参考にする。
- 基本情報
- 領域(AZ)
- セキュリティグループ
- ターゲットグループ
- ターゲット
これらを設定して作成することができる。
基本情報
- 名前: klein-alb
- スキーマ: インターネット直面
- IP タイプ: ipv4
- リスナー: HTTP 80
領域(AZ)
- VPC: vpc-elb-ec2
- サブネット: klein-public-1a
- サブネット: klein-public-1c
VPC とサブネットは接続先の EC2 が入っているものである必要があると考える。
セキュリティグループ
ALB がどこからアクセスできるかの設定。
- 名前: klein-alb-sg
- カスタムTCP 80
- ソース 0.0.0.0
ルーティングのターゲットグループ
ALB がどうやってアクセスするかの設定
- 名前: klein-alb-sg
- ターゲットの種類: インスタンス
- プロトコル: HTTP
- ポート: 80
- ソース 0.0.0.0
ターゲットの登録
ALB がどこにアクセスするかの設定。
インスタンスにこれらを指定。
- elb-ec2-test-A
- elb-ec2-test-B
ロードバランサーの完成
上記を全てを設定すると、ロードバランサーが作成できる。
アクセスする
ロードバランサーの詳細ページから Public IP を確認してアクセスする。
これで、アクセスするたびに
private サーバーA
private サーバーB
これらを均等に割り振ってくれるようになった。
Top comments (0)