Elastic Load Balancing(ELB)

Elastic Load Balancing(ELB)

 AWSのElastic Load Balancing(ELB)は、トラフィックの負荷分散を自動的に処理するためのマネージドサービスです。ELBは、アプリケーションやサービスへのリクエストを複数のバックエンドリソース(Amazon EC2インスタンス、コンテナ、IPアドレス、Lambda関数など)に分散し、可用性とスケーラビリティを向上させます。以下にELBの主な特徴と機能を詳しく解説します。

  1. ロードバランサータイプ
    • Application Load Balancer(ALB)
       アプリケーションレベル(HTTP/HTTPS)での負荷分散を実現します。リクエストの内容に基づいたルーティングやセッションの管理、SSL/TLS終端処理などの高度な機能を提供します。
    • Network Load Balancer(NLB)
       トランスポートレベル(TCP/UDP)での負荷分散を実現します。低レイテンシーで高いスループットを提供し、プロトコルレベルの情報を保持せず、パフォーマンスに重点を置いた負荷分散が可能です。
    • Classic Load Balancer(CLB)
       クラシックなロードバランサーで、レイヤー4(TCP/UDP)およびレイヤー7(HTTP/HTTPS)のトラフィックを処理します。新規のアプリケーションにはALBまたはNLBの使用が推奨されています。
  2. ヘルスチェック
     ELBは、バックエンドリソースのヘルスチェックを定期的に実行し、正常であるリソースにのみトラフィックをルーティングします。ヘルスチェックは、リソースの可用性を監視し、障害が検出された場合にトラフィックを切り替えるための重要な機能です。
  3. オートスケーリング統合
     ELBは、Amazon EC2 Auto Scalingと統合して自動スケーリングを実現します。トラフィックの増加に応じて自動的にリソースを増減させることで、負荷の変動に対応し、アプリケーションのパフォーマンスと可用性を確保します。
  4. リスナーとターゲットグループ
     ELBは、リスナーとターゲットグループの組み合わせによってリクエストの受け入れとルーティングを定義します。リスナーは、接続を受け入れるポートとプロトコルを設定し、ターゲットグループは、リクエストを受けるバックエンドリソースのセットを定義します。
  5. SSL/TLS終端処理
     ALBおよびNLBは、SSL/TLS終端処理をサポートし、リクエストを復号化してバックエンドリソースに渡します。これにより、アプリケーションの負荷を軽減し、セキュリティを向上させることができます。
  6. ログとモニタリング
     ELBは、リクエストレベルのログやアクセスログを生成し、CloudWatch LogsやCloudWatch Metricsと統合してトラフィックの監視やパフォーマンスの分析を行うことができます。

 ELBを使用することで、アプリケーションやサービスの可用性、スケーラビリティ、セキュリティが向上し、ユーザーへの高品質な体験を提供することができます。