支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • AWS ELBについての概要を説明

AWS ELBについて

ELB(Elastic Load Balancing)の概要について記載します。

ELBとは

AWSが提供する負荷分散サービスです。受信したアプリケーションまたはネットワークトラフィックを、Amazon EC2 インスタンス、コンテナ、IP アドレス、複数のアベイラビリティーゾーンなど、複数のターゲットに分散する事で、可用性と耐障害性を向上させる事ができます。

ELBの主要機能

・負荷分散:インスタンスだけでなく、コンテナやIPアドレスなどに対しても負荷分散が可能です。

・ヘルスチェック:サーバ等の異常を検知して通信を停止、正常なサーバへ通信を分散します。

・TLS ターミネーション:サーバではなく、負荷分散装置によるTLSの暗号化が可能です。

・スティッキーセッション:同一ユーザーの通信を全て同じインスタンスで処理するように設定できます。

・運用のモニタリング:Amazon CloudWatch によってメトリクスをモニタリングできます。

・ログ記録
:アクセスログを有効にする事で、ロードバランサーに送信されるすべてのリクエストを記録できます。

ELBの種類

ELBには、3 種類のロードバランサーがあり、アプリケーションのニーズに応じて、適切なロードバランサーを選択する必要があります。

●ALB(Application Load Balancer):アプリケーション層(レイヤー7)で動作する機能で、HTTP リクエストの負荷分散する必要がある場合に利用します。以下に特徴を記載します。
・HTTP/2、WebSocketのサポート。
・コンテンツベースで異なるターゲットグループへのリクエストルーティング。
URL の内容に基づいて適切なサービスにリクエストをルーティングできるパスベースルーティング。
・IP アドレスによるターゲットの登録をサポート。
・ターゲットとしての Lambda 関数の登録をサポート。
企業 ID またはソーシャル ID を通じてアプリケーションのユーザー認証が可能です。

●NLB(Network Load Balancer):トランスポート層(レイヤー4)で動作する機能で、非常に高いパフォーマンス/低レイテンシーのアプリケーションに対して利用します。以下に特徴を記載します。
1 秒間に数百万件のリクエストを処理できます。
・ロードバランサーの静的 IP アドレスのサポート。
・IP アドレスによるターゲット登録のサポート。
・1つのECUインスタンス上で複数のアプリケーションへのルーティングリクエストのサポート。
複数のポートを使用して、各インスタンスまたは IP アドレスを同じターゲットグループに登録する事が可能です。

●CLB(Classic Load Balancer):アプリケーション層、トランスポート層の両方に対応している標準的な機能が搭載されたELB。EC2 Classic ネットワーク内に構築されているアプリケーションの場合に利用します。

負荷分散

インスタンスに対して負荷分散する。ALBとNLBでは単一インスタンスの複数ポート間での負荷分散や、コンテナ、IPアドレスへの負荷分散も可能です。

ヘルスチェック

・ALBでは200~499 の詳細なエラーコードの表示設定、EC2 インスタンスで実行される各サービスのトラフィックに関する情報の監視が可能です。
・NLBではネットワークとアプリケーションターゲット両方のヘルスチェックをサポートしています。NLB API の「理由コード」と、ターゲットのヘルスチェックにアタッチされた Amazon CloudWatch メトリクスを使用することで、エラーが発生した理由を把握できます。

TLSターミネーション

TLS トラフィックの復号化/暗号化をオフロードすることによって、CPUに掛かる負荷を低減できるため、ワークロードを安全に保ちながらバックエンドアプリケーションサーバーのパフォーマンスを最適化できます。

スティッキセッション

ロードバランサーが生成する Cookie を使用して、スティッキーセッションをサポートします。同一ユーザから同一のターゲットにリクエストを受信し、Cookie を使用してセッションのコンテキストを復元できます。維持設定はターゲットグループレベルで定義可能です。

運用のモニタリング

CloudWatch により、リクエスト数、エラー数、エラータイプ、リクエストレイテンシ、アクティブなフローの数、正常なホストの数、新しいフローの数、処理されたバイト数などのメトリクスがレポート可能です。

ログ記録

ロードバランサーに送信されるリクエストについては、リクエストを受け取った時刻、クライアントの IP アドレス、レイテンシー、リクエストのパス、サーバーレスポンスなどのアクセスログ情報を確認できます。

最後に

ELBに関して、大まかな機能の概要と3種類の特徴について説明しました。少しでも製品の理解や選択の手助けになればと思います。実際に利用する際は公式HPの製品の比較を参考にして、種類別で使用できるプロトコルや機能の詳細を確認していただければ適切な選択ができるかと思います。