高可用性

Elastic Load Balancing では、単一のアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンにある複数のターゲット (Amazon EC2 インスタンス、コンテナ、IP アドレスなど) にトラフィックを自動的に分散します。

ヘルスチェック

Elastic Load Balancing では、異常なターゲットを検出すると、それらのターゲットに対するトラフィックの送信を中止し、残りの正常なターゲットに負荷を分散できます。

セキュリティ機能

Amazon Virtual Private Cloud (Amazon VPC) を使用して、ロードバランサーに関連付けられているセキュリティグループを作成および管理することで、詳細なネットワークとセキュリティのオプションを提供できます。また、内部的な (インターネットに接続しない) ロードバランサーを作成することもできます。

TLS ターミネーション

Elastic Load Balancing では、証明書管理および SSL/TLS 復号が統合されているため、ロードバランサーの SSL 設定を集中管理し、CPU に負荷のかかる作業をアプリケーションからオフロードすることができます。

レイヤー 4 またはレイヤー 7 の負荷分散

レイヤー 7 固有の機能として、HTTP/HTTPS アプリケーションの負荷分散が可能です。TCP プロトコルのみに依存するアプリケーションには、厳密なレイヤー 4 の負荷分散を使用できます。

運用のモニタリング

Elastic Load Balancing は、Amazon CloudWatch メトリクスと統合されており、リクエストのトレース機能を提供します。これにより、アプリケーションのパフォーマンスをリアルタイムでモニタリングできます。

製品の比較

アプリケーションのニーズに応じて、最適なロードバランサーを選択できます。柔軟なアプリケーション管理が必要な場合は、Application Load Balancer の使用を推奨します。非常に高度なパフォーマンスと静的 IP がアプリケーションで必要な場合は、Network Load Balancer の使用を推奨します。EC2-Classic ネットワーク内で構築された既存のアプリケーションがある場合は、Classic Load Balancer を使用する必要があります。

特徴

Application Load Balancer

Network Load Balancer

Classic Load Balancer

プロトコル

HTTP、HTTPS

TCP

TCP、SSL/TLS、HTTP、HTTPS

プラットフォーム

VPC

VPC

EC2-Classic、VPC

ヘルスチェック

CloudWatch メトリクス

ログ記録

ゾーンごとのフェイルオーバー

Connection Draining (登録解除の遅延)

同一のインスタンスで複数ポートに負荷分散

 

WebSocket 対応

 

IP アドレスをターゲットに設定
 

ロードバランサーの削除防止

 

パスベースのルーティング

 

 

ホストベースのルーティング

 

 

ネイティブ HTTP/2 対応

 

 

設定可能なアイドル接続のタイムアウト
 

クロスゾーン負荷分散

SSL のオフロード

 

Server Name Indication (SNI)    

スティッキーセッション

 

バックエンドサーバーの暗号化

 

静的 IP アドレス

 

 

Elastic IP アドレス

 

 

送信元 IP アドレスの保持

 

 

リソースベースの IAM
アクセス許可
タグベースの IAM アクセス許可  
低速開始
   
ユーザ認証    
リダイレクト    
固定レスポンス    

Elastic Load Balancing の製品詳細

  • Application Load Balancer
  • Network Load Balancer
  • Classic Load Balancer
  • Application Load Balancer
  • Application Load Balancer は、リクエストレベル (レイヤー 7) で動作し、トラフィックをリクエストの内容に基づいて Amazon Virtual Private Cloud (Amazon VPC) 内の EC2 インスタンス、マイクロサービス、コンテナといったターゲットにルーティングします。HTTP トラフィックおよび HTTPS トラフィックの負荷分散に最適な Application Load Balancer は、マイクロサービスやコンテナベースのアプリケーションといった最新のアプリケーションアーキテクチャの配信をターゲットとした高度なリクエストルーティングを実現できます。Application Load Balancer では、最新の SSL/TLS 暗号化とプロトコルを常に使用することで、アプリケーションのセキュリティを簡素化し向上させます。

    主な特徴

    レイヤー 7 の負荷分散
    HTTP/HTTPS アプリケーションの負荷を分散し、X-Forwarded-For ヘッダーなどのレイヤー 7 固有の機能を使用できます。

    HTTPS サポート
    Application Load Balancer では、クライアントとロードバランサーの間の HTTPS ターミネーションをサポートしています。また、定義済みのセキュリティポリシーに対応する AWS Identity and Access Management (IAM) および AWS Certificate Manager を使用した SSL 証明書の管理も可能です。

    高可用性
    Application Load Balancer では、1 つ以上のアベイラビリティーゾーンを指定する必要があります。複数のアベイラビリティーゾーンにあるターゲット間で、受信トラフィックを分散できます。Application Load Balancer は、受信アプリケーショントラフィックに応じてリクエスト処理能力を自動的にスケールします。

    セキュリティ機能
    Amazon Virtual Private Cloud (Amazon VPC) を使用する場合、Elastic Load Balancing に関連付けられているセキュリティグループを作成および管理して、詳細なネットワークとセキュリティのオプションを提供できます。Application Load Balancer をインターネットに接続するよう設定することもできますし、パブリック IP アドレスを使用せずに内部的な (インターネットに接続しない) ロードバランサーを作成することもできます。

    コンテンツベースのルーティング
    アプリケーションが個別のサービスで構成されている場合、Application Load Balancer では、リクエストの内容に基づいてリクエストをサービスにルーティングできます。

    ホストベースのルーティング
    HTTP ヘッダーの Host フィールドに基づいてクライアントのリクエストをルーティングできます。これにより、同一のロードバランサーから複数のドメインへのルーティングが可能になります。

    パスベースのルーティング
    HTTP ヘッダーの URL パスに基づいてクライアントのリクエストをルーティングできます。

    コンテナ化されたアプリケーションのサポート
    Elastic Load Balancing では、単一の Amazon EC2 インスタンスにある複数のポート間で負荷を分散することで、コンテナサポートを強化しています。Amazon EC2 Container Service (ECS) との密接な統合により、コンテナを完全に管理できます。ECS では、ECS タスク定義でダイナミックポートを指定でき、EC2 インスタンスでスケジュールされている場合にコンテナに未使用のポートを付与できます。ECS スケジューラでは、このポートを使用してロードバランサーにタスクを自動的に追加します。

    HTTP/2 サポート
    HTTP/2 は HyperText Transfer Protocol (HTTP) の新しいバージョンで、単一の多重化された接続を使用して複数のリクエストを同一の接続で送信できるようにします。また、ヘッダーデータを圧縮してバイナリ形式で送信する機能と、クライアントへの SSL 接続もサポートしています。

    WebSocket サポート
    WebSocket を使用すると、エンドユーザーがサーバーにアップデートをリクエスト (またはポーリング) することなく、サーバーがエンドユーザーとリアルタイムでメッセージを交換できます。WebSocket プロトコルは、長時間維持される TCP 接続を経由して、クライアントとサーバーとの間で双方向通信チャンネルを提供します。

    ネイティブ IPv6 のサポート
    Application Load Balancer は、VPC 内でネイティブのインターネットプロトコルバージョン 6 (IPv6) をサポートします。クライアントは IPv4 または IPv6 経由で Application Load Balancer に接続できます。

    スティッキーセッション
    スティッキーセッションは、同一のクライアントから同一のターゲットにリクエストをルーティングするメカニズムです。Application Load Balancer では、ロードバランサーが生成する Cookie を使用して、スティッキーセッションをサポートします。スティッキーセッションを有効にすると、同一のターゲットでリクエストを受信し、Cookie を使用してセッションのコンテキストを復元できます。維持設定はターゲットグループレベルで定義されます。

    ヘルスチェック
    Application Load Balancer は正常なターゲットにのみトラフィックをルーティングします。Application Load Balancer を使用すると、アプリケーションの状態の詳細情報を次の 2 つの方法で取得できます。(1) ヘルスチェック機能が改善され、200~499 の詳細なエラーコードを設定できるようになりました。ヘルスチェックを使用すると、ロードバランサーの内側にある各サービスの状態をモニタリングできます。(2) 新しいメトリクスにより、EC2 インスタンスで実行される各サービスのトラフィックに関する情報が提供されます。

    運用のモニタリング
    Amazon CloudWatch により、リクエスト数、エラー数、エラータイプ、およびリクエストレイテンシーなどの Application Load Balancer のメトリクスがレポートされます。

    ログ記録

    アクセスログ機能を使用して、ロードバランサーに送信されるすべてのリクエストを記録し、ログを Amazon S3 に保存して分析に利用できます。ログは圧縮され、gzip ファイル拡張子が付けられます。圧縮されたログは、ストレージ領域および転送帯域幅の両方を節約し、アプリケーションのエラー診断やウェブトラフィックの分析に役立ちます。

    また、AWS CloudTrail を使用してアカウントの Application Load Balancer API コールを記録し、ログファイルを配信することもできます。API コール履歴を使用して、セキュリティ分析、リソース変更の追跡、コンプライアンスの監査を実行できます。

    削除保護
    Application Load Balancer で削除保護を有効にして、誤って削除されることを防止できます。

    リクエストトレーシング
    Application Load Balancer は、受信するすべてのリクエストに新しいカスタム識別子「X-Amzn-Trace-Id」HTTP ヘッダーを挿入します。リクエストトレーシングでは、ウェブサイトや分散アプリケーションを構成しているさまざまなサービス間をリクエストが移動するときに、一意の ID を使用してリクエストを追跡することができます。一意のトレース識別子を使用すると、個々のリクエスト単位で、アプリケーションスタックでのパフォーマンスやタイミングの問題を明らかにすることができます。

    ウェブアプリケーションファイアウォール
    AWS WAF を使用して、Application Load Balancer 上のウェブアプリケーションを保護できるようになりました。AWS WAF は、アプリケーションの可用性の低下、セキュリティ侵害、リソースの過剰消費といった一般的なウェブの脆弱性からウェブアプリケーションを保護するウェブアプリケーションファイアウォールです。

  • Network Load Balancer
  • Network Load Balancer は接続レベル (レイヤー 4) で動作し、接続を、IP プロトコルデータに基づいて Amazon Virtual Private Cloud (Amazon VPC) 内の Amazon EC2 インスタンス、マイクロサービス、コンテナといったターゲットにルーティングします。TCP トラフィックの負荷分散に最適な Network Load Balancer では、きわめて低いレイテンシーを維持しながら 1 秒間に数百万件ものリクエストを処理できます。Network Load Balancer は、アベイラビリティーゾーンごとに単一の静的 IP アドレスを使用しながら、突発的で不安定なトラフィックパターンに対処できるよう最適化されています。また、Auto Scaling、Amazon EC2 Container Service (ECS)、Amazon CloudFormation といった AWS の他のサービスと統合されています。

    主な特徴

    接続ベースの負荷分散
    TCP トラフィックの負荷を分散し、Amazon EC2 インスタンス、マイクロサービス、コンテナといったターゲットに接続をルーティングできます。

    高可用性
    Network Load Balancer は可用性に優れています。クライアントからの受信トラフィックを受け入れ、同じアベイラビリティーゾーン内の複数のターゲット間でトラフィックを分散します。また、ロードバランサーは、登録されているターゲットの状態をモニタリングし、正常なターゲットにのみトラフィックをルーティングします。ロードバランサーは異常なターゲットを検出すると、そのターゲットへのトラフィックのルーティングを中止し、残りの正常なターゲットにトラフィックを再ルーティングします。1 つのアベイラビリティーゾーン内のすべてのターゲットに異常がある場合は、別のアベイラビリティーゾーンにターゲットをセットアップしておけば、Network Load Balancer によって自動的にフェイルオーバーが実行され、そのアベイラビリティーゾーンの正常なターゲットにトラフィックがルーティングされます。

    高スループット
    Network Load Balancer は、トラフィックが増大した場合でも処理できるよう設計されており、1 秒間に数百万件ものリクエストでも負荷分散できます。また、突発的で不安定なトラフィックパターンにも対処できます。

    低レイテンシー
    Network Load Balancer では、レイテンシーの影響を受けやすいアプリケーションに対し、きわめて低いレイテンシーを維持できます。

    送信元 IP アドレスの保持
    Network Load Balancer ではクライアント側の送信元 IP が保持されるため、クライアントの IP アドレスをバックエンドで参照できます。この情報をアプリケーションで使用して、他の処理を実行できます。

    静的 IP のサポート
    Network Load Balancer では、アベイラビリティーゾーン (サブネット) ごとに 1 つの静的 IP が自動的に提供されます。これは、ロードバランサーのフロントエンド IP としてアプリケーションで使用可能です。

    Elastic I IP のサポート
    Network Load Balancer では、アベイラビリティーゾーン (サブネット) ごとに 1 つの Elastic IP を割り当てることもできます。これにより、独自の固定 IP が提供されます。

    ヘルスチェック
    Network Load Balancer では、ネットワークとアプリケーションターゲット両方のヘルスチェックをサポートしています。ネットワークレベルの状態は、通常のトラフィックに対するターゲットの総合的なレスポンスに基づいています。ターゲットが新しい接続に対して応答しなくなった場合や低速になった場合、ロードバランサーはそのターゲットに利用不可のマークを付けます。アプリケーションレベルのヘルスチェックを使用して、より詳細に確認することもできます。指定されたターゲットで特定の URL を定期的に調査することにより、実際のアプリケーションの状態を統合できます。迅速に診断して強力なデバッグを実施するために、ヘルスチェックを詳細に確認できます。また、Network Load Balancer API の「理由コード」と、ターゲットのヘルスチェックにアタッチされた Amazon CloudWatch メトリクスを使用することで、エラーが発生した理由を把握することもできます。

    DNS フェイルオーバー
    Network Load Balancer に登録されているターゲットの中で正常に動作しているものがない場合、または、指定されたゾーンの Network Load Balancer ノードで異常が発生している場合、トラフィックは Amazon Route 53 によって他のアベイラビリティーゾーンのロードバランサーノードに転送されます。

    Amazon Route 53 との統合
    Network Load Balancer が応答しない場合、Route 53 との統合により、使用できないロードバランサーの IP アドレスはサービスから削除され、トラフィックが別のリージョンの Network Load Balancer に転送されます。

    AWS のサービスとの統合
    Network Load Balancer は、Auto Scaling、Elastic Container Service (ECS)、CloudFormation、Elastic BeanStalk、CloudWatch、Config、CloudTrail、CodeDeploy といった AWS の他のサービスと統合されています。

    存続期間の長い TCP 接続
    Network Load Balancer は存続期間の長い TCP 接続をサポートしており、WebSocket タイプのアプリケーションに最適です。

    統一 API のサポート
    Network Load Balancer では、Application Load Balancer と同じ API を使用します。これにより、同一の Amazon EC2 インスタンスにある複数のポートで、ターゲットグループ、ヘルスチェック、負荷分散機能を使用し、コンテナ化されたアプリケーションをサポートできます。

    堅牢なモニタリングと監査
    Amazon CloudWatch では Network Load Balancer のメトリクスがレポートされます。CloudWatch により、アクティブなフローの数、正常なホストの数、新しいフローの数、処理されたバイト数などのメトリクスが提供されます。Network Load Balancer は、AWS CloudTrail とも統合されています。CloudTrail では、Network Load Balancer に対する API コールの追跡が行われます。

    高度なログ記録
    フローログ機能を使用して、ロードバランサーに送信されるすべてのリクエストを記録できます。フローログにより、VPC 内のネットワークインターフェイス間で送信される IP トラフィックに関する情報が取得されます。フローログのデータは、Amazon CloudWatch Logs を使用して保存されます。

    ゾーンごとの分離
    Network Load Balancer は、単一のゾーン内のアプリケーションアーキテクチャ向けに設計されています。アベイラビリティーゾーンで障害が発生した場合、他の正常なアベイラビリティーゾーンに対するフェイルオーバーを自動的に実行できます。AWS では、複数の AZ でロードバランサーとターゲットを設定して高可用性を実現することを推奨していますが、さらに単一のアベイラビリティーゾーンで Network Load Balancer を有効にすることで、ゾーンごとの分離を必要とするアーキテクチャをサポートできます。

  • Classic Load Balancer
  • Classic Load Balancer は、複数の Amazon EC2 インスタンスにおける基本的な負荷分散を提供し、リクエストレベルと接続レベルの両方で動作します。Classic Load Balancer は、EC2-Classic ネットワーク内に構築されたアプリケーションを対象としています。Virtual Private Cloud (VPC) を使用する場合、レイヤー 7 には Application Load Balancer を、レイヤー 4 には Network Load Balancer 使用することを推奨します。

    主な特徴

    高可用性
    単一のアベイラビリティーゾーンまたは複数のアベイラビリティーゾーンにある Amazon EC2 インスタンス間で受信トラフィックを分散できます。Classic Load Balancer は、受信するアプリケーショントラフィックに応じて、リクエスト処理能力を自動的にスケールします。

    ヘルスチェック
    Classic Load Balancer では、Amazon EC2 インスタンスの状態を検出できます。異常な EC2 インスタンスが検出されると、それらのインスタンスに対するトラフィックのルーティングを中止し、残りの正常な Amazon EC2 インスタンス間で負荷を分散します。

    セキュリティ機能
    Amazon Virtual Private Cloud (Amazon VPC) を使用する場合、Classic Load Balancer に関連付けられているセキュリティグループを作成および管理することで、詳細なネットワークとセキュリティのオプションを提供できます。また、パブリック IP アドレスを使用せずに、内部的な (インターネットに接続しない) ロードバランサーとして Classic Load Balancer を作成することもできます。

    SSL のオフロード
    Classic Load Balancer では SSL ターミネーションをサポートしています。これには、アプリケーションインスタンスからの SSL 復号のオフロード、SSL 証明書の集中管理、オプションのパブリックキー認証によるバックエンドインスタンスに対する暗号化が含まれます。柔軟な暗号化がサポートされているため、ロードバランサーがクライアントに提示する暗号やプロトコルを制御できます。

    スティッキーセッション
    Classic Load Balancer では、Cookie を使用して、特定の Amazon EC2 インスタンスにユーザーセッションを接続する機能をサポートしています。ユーザーがアプリケーションにアクセスし続ける限り、トラフィックは同じインスタンスにルーティングされます。

    IPv6 サポート
    Classic Load Balancer では、インターネットプロトコルバージョン 4 および 6 (IPv4 および IPv6) の両方を EC2-Classic ネットワークで使用できます。

    レイヤー 4 またはレイヤー 7 の負荷分散
    HTTP/HTTPS アプリケーションの負荷を分散し、X-Forwarded やスティッキーセッションなどのレイヤー 7 固有の機能を使用できます。TCP プロトコルのみに依存するアプリケーションには、厳格なレイヤー 4 負荷分散を使用することもできます。

    運用のモニタリング
    リクエスト数やリクエストレイテンシーなどの Classic Load Balancer のメトリクスは、Amazon CloudWatch によってレポートされます。

    ログ記録
    アクセスログ機能を使用して、ロードバランサーに送信されたすべてのリクエストを記録し、ログを Amazon S3 に保存して分析に利用できます。ログは、アプリケーションエラーの診断やウェブトラフィックの分析に役立ちます。AWS CloudTrail を使用してアカウントの Classic Load Balancer API コールを記録し、ログファイルを配信できます。API コール履歴を使用して、セキュリティ分析、リソース変更の追跡、コンプライアンスの監査を実行できます。

Product-Page_Standard-Icons_01_Product-Features_SqInk
開始方法を確認する

入門ガイドと動画リソースを探す

詳細 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
Product-Page_Standard-Icons_03_Start-Building_SqInk
AWS コンソールで構築を開始する

AWS コンソールで Elastic Load Balancing を開始する。

サインイン