【AWSロードバランサー】SAAでも頻繁に出題されるNLBを5分でおさらい

はじめに

今回はNLB(ネットワークロードバランサー)について解説していきます。

「Classic Load Balancer (CLB)」 ,「 Application Load Balancer (ALB)」に次ぐ新たなロードバランサとして、
「Network Load Balancer (NLB)」がリリースされました!

新しいネットワークロードバランサー

NLBは各所で待望の固定IPを持つL4のロードバランサになります。
この記事では概要を整理していきます。

本記事の概要

  • NLBの概要に関してざっくり解説します
  • 本記事はこれからNLBを検討されている方、SAAに向けて学習している方が対象です
  • 最後にSAAで頻繁に出るALBとNLBの選択問題について解説します

NLBの概要

■Pre-warming申請不要
CLBやALBでは大規模なアクセスが予期される場合、AWSサポートへ「Pre-warming申請」を行う必要がありました。
NLBでは事前の「Pre-warming」が不要となります。

■静的なIPアドレスを持てる
NLB自体が固有のIPアドレスを持つことが可能です。

■ゾーナリティ
サブネットごとのIPアドレスはパフォーマンス向上により、以下を可能にします。

  • レイテンシの低減
  • 分離と耐久性により可用性が向上
  • NLBの利用によってクライアントアプリケーションを透過的にする

■Source Address Preservation
ALBやCLBを使用した場合は「X-Forwarded-For」でアクセス元IPアドレスを判断していました。
NLBでは、送信元IPアドレスと送信元ポートの書き換えを行わないため、パケットからの情報でアクセス元が判断可能になります。

■長時間接続
NLBはフォルトトレランス機能を内蔵したコネクション処理を持ち、数カ月から数年のオープンなコネクションを処理できるとのことです。

■フェイルオーバーに対応
Route 53のヘルスチェック機能を利用することでリージョン内及びリージョンを跨いだフェイルオーバーに対応可能です。

NLBの留意点

■NLBにはSSLアクセラレーション機能がない
(対応策) httpsを使用する場合はEC2でSSLターミネートが必要です。

■NLBにセキュリティグループ機能がない
(対応策) ターゲットにするEC2側でアクセス元を許可が必要です。

■ヘルスチェック元の許可としてVPCのCIDRを許可が必要

ALBとの違い

SAAの問題として、「ELB」を使用するか「NLB」を使用するかの選択問題が出題されます。
ここで大事なのは、どのレイヤーで活用するか?IPを固定するか?になります。

  • ELB:L7(アプリケーション層)、可変のIP
  • NLB:L4(トランスポート層)、固定のIP

アプリケーション層で、負荷分散をしたい場合→ELB
Firewallの制約等で、ELBのIPアドレスの固定が必要な場合→NLB

とはいえ、肌感覚になりますが、ALBを問われている問題の方が多いような気もします、、、

AWSで提供されている既存のロードバランサとの比較は公式でもまとめられています。
機能のアップデートに合わせて適宜更新されていくと思われるのでマメにチェックしたいですね。

Elastic Load Balancing の特徴

おわりに

いかがでしたでしょうか。
今回はNLBの解説をしていきましたが、SAAの問題でも頻繁にでる問題なのでぜひ覚えてもらいたいサービスになります。

次回もお楽しみに!