1.基本
ELBで実現できるシステム
- スケーラブル:複数のEC2又はECSコンテナ...に負荷分散
- 高い可溶性:複数のAZにある複数のEC2の中から正常なTargetにのみ振り分け
ELB自体の特徴
- スケーラブル:ELB自体も付加に応じてキャパシティーを自動増減
- 安価な従量課金:従量課金で利用可能
- 運用管理が楽:マネージドサービスなので管理が不要
- 豊富な連携機能:AutoScaling, Route53, CloudFormation...などと連携
2.種類
- ALB(Application Load Balance)
- NLB(Network Load Balancer)
- CLB(Classic Load Balancer): CLBの機能のほとんどはALBとNLBでカバーされていますので、基本的には後発のALB, NLBの2つを使い分けます。CLBでしか実現できない要件がどうしても外せない場合にのみCLBを使います。CLBだけの機能はわずかです。
※ ケースによって種類を適当に選択するについて種類のLBの比較と使い分けリンクに参照してください。
ALBとNLBの違う
ALB | NLB | |
---|---|---|
リスナーsupport protocol | ● Http ● Https ● Http/2 |
● TCP: Segment順番あり ● UDP: Segment順番なし ● TLS |
Layer | OSI model (TCP/IP Protocol Layer) のLayer7 (Application layer)と見なす |
OSI model (TCP/IP Protocol Layer) のLayer4 (Transport layer)と見なす |
クロスゾーン負荷分散 | デフォルトで有効 | デフォルトで無効 |
SSL/TLS 証明書あり | SSL/TLS 証明書あり |
SSL証明書について
● 概念
インターネット接続を安全に保ち、2 つのシステム間で送信される機密情報をすべて保護し、犯罪者があらゆる情報(個人情報の可能性がある情報を含む)を読み取ったり改変したりできないようにするための標準的な技術です
● 仕組み
3.LBの成分
- リスナー:設定したProtocolとPortによって接続リクエストをチェックするプロセス。
- ルール:ルールによってLBが一つ以上のTargetGroup内のTargetにRoutingする。
- ターゲット:確立されたルールに基づくトラフィックの送信先
- ターゲットグループ:リスナーを利用して一つまたは複数のTargetにRoutingする。Targerは複数のTargerGroupに属することができる。HealthCheckはTargetGroup単位でチェックできる。
4.LB作成手順
1. LBの種類を選択
作成したい種類に「作成」ボタンを押下する
2. LBの設定
- 必要な情報:
① 名前:LoadBalance名称
② リスナー:ALBを選択する場合にはデフォルトでHTTP:80を追加される。 リストーを追加したかったら「リスナーの追加」ボタンを押下しProtocolとPortを申告する。
③ VPC選択:指定されたRegionに応じて存在しているVPCが表示される。VPCの選択によって以下のAZが自動的に更新される。どのSubnetにRoutingしたいと選択する。
3. Security設定
前ステップでHTTPSを選択する場合にはSecurity設定の必要があります。HTTP場合には設定不要です。
4. SecurityGroup設定
新規作成または既存のSecurityGroupを選択する。
SecurityGroupはInboundとOutbound制御を規定する。
5. Routing設定
Routing名前、ヘルスチェックのパスを設定し「次」ボタンを押下する
- 必要な情報:
① 名前:Routing名称
② ターゲット種類:リクエスト処理する種類。
③ ポート:ALBからリクエスト処理するBackendサーバーのPort。
④ パス:サーバーが死んでいるかをチェックするため。デフォルトで/var/www/htmlのindex.htmlにpingする。なければチェック出来ない。
6. Target登録
RoutingしたいInstanceを選択し「登録済みに追加」ボタン押下でTargetを登録する
Listen port, Forward postの違う
- Listen portは外からELBまでポート
- Forward postはELBからEC2までポート
7. 確認
設定したパラメータを最終的な確認する