AWSとNLBの基本から特性までわかりやすく解説するブログ

目次

はじめに

概要

本記事はAWSのNetwork Load Balancer(NLB)に関する基礎知識をまとめた読み物です。NLBの仕組み、特徴、代表的な用途、他のロードバランサーとの比較、実装上のポイントをわかりやすく解説します。記事後半では関連するGateway Load Balancerの役割にも触れます。

本記事の目的

NLBがどのような場面で有効かを明確にすることが目的です。具体例を交え、性能や運用上の特徴(低レイテンシー、静的IP対応、TLS処理など)を実務で使える視点で説明します。

対象読者

クラウドの基本を知っているエンジニアや運用担当者、ロードバランサー選定に関わる方が対象です。初心者にも配慮し専門用語は最小限にします。

読み進め方

まずNLBの概要と種類を確認し、その後にNLBの詳しい特性、最後にGateway Load Balancerの役割を説明します。実装のヒントも随所に載せますので、具体的な導入検討に役立ててください。

AWS Elastic Load Balancerの概要と種類

概要

Elastic Load Balancing(ELB)は、受け取ったトラフィックを複数のサーバーやコンテナに自動で振り分けるサービスです。たとえば、閲覧者が増えたWebサイトのアクセスを複数のサーバーに分配し、応答速度を保つ役割を果たします。可用性を高めるために複数のアベイラビリティーゾーンで動作し、ヘルスチェックで故障を検知します。

主な種類と使い分け

  • Application Load Balancer(ALB)
  • HTTP/HTTPS向けで、URLやヘッダーで細かく振り分けます。例:特定のAPIだけ別のグループに送る。
  • Network Load Balancer(NLB)
  • TCP/UDPの接続を高速・低遅延で処理します。例:ゲームサーバーやリアルタイム通信。
  • Gateway Load Balancer(GWLB)
  • サードパーティのネットワークアプライアンスと連携し、トラフィックを透過的に送ります。例:ファイアウォールやIDS/IPSの前段に配置。
  • Classic Load Balancer(CLB)
  • 旧世代で簡易的な振り分け向けです。新規構築はALB/NLBの利用を推奨します。

AWSサービスとの連携

Auto Scalingで負荷に応じて背後のサーバーを増減させ、ECSではコンテナに直接接続します。証明書管理(ACM)やCloudFormationとの組み合わせで運用の自動化も進められます。

Network Load Balancerの詳細な特性

基本的な特性

Network Load Balancer(NLB)はTCP/UDPトラフィックを効率よく振り分けます。接続はEC2インスタンス、コンテナ、マイクロサービスのいずれにも直接ルーティングできます。低レイテンシーが求められるリアルタイム系のサービスに向いています。

TLS終端とクライアントIPの保持

NLBはTLS終端(ロードバランサー側で暗号を解除)を行えます。終端するとロードバランサーがターゲットへ新しい接続を作るため、そのままではクライアントIPが失われます。クライアントIPを残したい場合はProxy Protocol v2を有効にし、アプリ側でヘッダを読み取る方法が実用的です。例:オンラインゲームや決済ゲートウェイでIPを記録する場合。

高可用性と静的IP

各アベイラビリティゾーンに専用のネットワークインタフェースを割り当て、障害時も他のゾーンで処理を継続します。静的IP(Elastic IP)を割り当てられるため、ファイアウォール設定や相手先の許可リスト管理が簡単です。

運用のポイント

  • ヘルスチェックを適切に設定し、サービス停止を早く検知する。
  • ターゲットグループはプロトコルに応じて作成し、ポート管理を明確にする。
  • 大量接続時は同時接続数とスループットの監視を行う。

利用シーンの例

  • リアルタイム通信(ゲーム、音声)
  • 高頻度API(金融、取引)
  • 固定IPが必要なサーバとの接続

これらを踏まえ、NLBは低レイテンシーと可用性を重視する場合に有効な選択肢です。

Gateway Load Balancerの役割と機能

概要

Gateway Load Balancer(GWLB)は、ファイアウォールやIDS/IPSなどの仮想アプライアンス(仮想設備)に対して、ネットワークトラフィックを効率よく配分するためのサービスです。例えば、外部からの通信を複数の仮想ファイアウォールに均等に振り分け、負荷分散や可用性を確保します。

主な機能

  • トラフィック分散:複数の仮想アプライアンス間で接続を振り分けます。例:100件のセッションを4台に分散します。
  • サービスチェイニング:トラフィックを順番に複数の検査装置へ渡せます。例:まずIDSで検査し、その後にファイアウォールで制御します。
  • ヘルスチェックとフェイルオーバー:アプライアンスの状態を監視し、故障時は健全な装置へ自動で切り替えます。

デプロイとスケーリングの仕組み

GWLBは仮想アプライアンスをターゲットとして登録します。需要が増えると、アプライアンスを追加登録することでスケールアウトできます。手動でも自動でもスケールできますので、突発的なトラフィック増にも対応しやすいです。

利点と利用上の注意点

利点は可用性の向上と運用の簡素化です。注意点としては、アプライアンス間でセッションの一致(ステートフル処理が必要な場合)が必須であり、設計段階で経路やヘルスチェックの設定を正しく行う必要があります。小規模環境では過剰になることもあるため、要件に応じて導入を検討してください。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次