ユーザ用ツール

サイト用ツール


aws:elb:index.html

ELBとは(Elastic Load Balancing)

ELB (Elastic Load Balancing)とは

Elastic Load Balancing https://aws.amazon.com/jp/elasticloadbalancing/
AWS ドキュメント https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/

  • SSL証明書はELB自体にインストールする
  • sorryサーバは設定できない。
  • 自動スケーリング機能で、AWS側で自動的にキャパシティにあったELBになる
  • 突然のトラフィックが流れることがわかっている場合には、事前に暖機運転を依頼できる。(サポートレベルビジネス以上)
  • AWS WAFを利用するためには、ALBもしくはCloudFrontを使用する必要があります

ALB (Application Load Balancer)

L7のコンテントベースのロードバランサー
パス部分での振り分けができます。
example.com/aaaならターゲットグループAに、example.com/bbbならターゲットグループBへ振る

ALBイメージ図


NLB (Network Load Balancer)

  • 接続ベース(レイヤー 4) の負荷分散
  • きわめて低いレイテンシーを維持しながら 1 秒間に数百万件ものリクエストを処理できます。
  • アベイラビリティーゾーンごとに単一の静的 IP アドレスを使用しながら、突発的で不安定なトラフィックパターンに対処できるよう最適化されています。
内部ロードバランサー NLBのIPアドレスにプライベートIPアドレスを設定し、VPC内からのアクセスをターゲットのインスタンスに分散
インターネット向けロードバランサー NLBのIPアドレスにパブリックIPアドレスを設定し、インターネットを経由したVPC外からのアクセスをターゲットのインスタンスに分散
  • NLBのIPアドレスはAZ毎に1つずつ作成することができます。
  • デフォルトのNLBの設定では、NLBのIPアドレスにアクセスすることで、同じAZ内にあるターゲットのインスタンスにトラフィックを分散することができます。
  • NLBの設定で「クロスゾーン負荷分散」を有効にすることで、異なるAZにあるターゲットのインスタンスにもトラフィックを分散できるようになります。
  • NLBのIPアドレスは複数AZに作成することを推奨します。
  • Clientからは、DNSでアクセスします。
  • NLBのDNS名は1つのNLBにつき1つ作成され、全てのNLBのIPアドレスがDNS名と紐づきます。


CLB (Classic Load Balancer)

従来のELB
L4 および一部L7機能を提供するロードバランサー


ELB(ALB, NLB, CLB)の比較

ALB NLB CLB
プロトコル HTTP、HTTPS、gRPC TCP、HTTP、HTTPS TCP、SSL/TLS、HTTP、HTTPS
SSLオフロード
同一のインスタンスで複数ポートに負荷分散
WebSocket 対応
パスベースのルーティング
ホストベースのルーティング
ネイティブ HTTP/2 対応
スティッキーセッション
静的 IP アドレス
Elastic IP アドレス
リダイレクト

ALB

  • セキュリティグループによるアクセス制限が可能

NLB

  • Elastic IP アドレスの割当ができます
  • NLBには、セキュリティグループを関連付けることができません
  • クライアントの送信元IPアドレス/port がターゲットまで保持されること


ELBを利用するメリット

  • AWS Certificate Manager (ACM) の無料SSL証明書(ドメイン認証)が利用できる。
  • AWS Certificate Manager (ACM) で、証明書の更新が自動
  • 無償でAWS Shield Standard が有効
  • ALBで、WAFの利用が可能


ELBの注意

  • サブドメイン無しでELBを使うときには”Route 53″を使わないといけない。
  • ホスト名なしのドメインにCNAMEを設定してしまうと、他のレコード(NS, MXなど)が無効になってしまう。
    http://d.hatena.ne.jp/hirose31/20110509/1304924994
  • http://example.com/は、Elastic IPをでDNS-RR(ラウンドロビン)して、https://www.example.com/にリダイレクトする


NLBとALBの両方を使う構成の理由

ALBだけではできないことを実現するために、NBLとALBを併用します。

具体的には、ALBだと、IPが変わりますが、
NLBにEIPを付与することによって、クライアントから、固定IPで接続できるようになります。

Client
  ↓
NLB  : EIP付与し、IPを固定
  ↓
ALB  : IP変わる
  ↓
Server :


メモ

独自ドメインを使う(CNAMEかRoute53のALIAS)

方法1:DNSにはCNAMEを使う

  • ELBにグローバルIPを割り振れないので、CNAMEを使う
  • ELBはIPアドレスがコロコロ変わるので、CNAMEを使う。
mydomian.com   cname    aaaaaaaaaaa.ap-northeast-1.elb.amazonaws.com


方法2:Route53のALIASを使う

mydomain.com   alias   ELBサービス

手順

  • 「レコードセットの作成」ボタンをクリック
  • 名前に、ドメイン名(mydomain.com)
  • タイプに、「A-IPv4アドレス」
  • エイリアスに、「はい」
  • エイリアス先に、ELBを選択
  • 「作成」ボタンをクリック


クライアントのIPアドレス取得(X-Forwarded-For)

バックエンドのサーバへの接続は、ソースIPがELBのIPアドレスになってしまう。
HTTP/HTTPSなら、X-Forwarded-Forで参照可能
多段の場合は、カンマ区切りで複数入ります。


ELBの冗長化

Amazon Route 53で、ELBに対してヘルスチェックを実施し、応答がないELBを切り離す。


参考




ELBとは(Elastic Load Balancing)

aws/elb/index.html.txt · 最終更新: 2023/08/06 23:56 by kurihara

ページ用ツール