Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

ロードバランサーの種類

Elastic Load Balancing は、次のタイプのロードバランサーをサポートしています。Application Load Balancer、ネットワークロードバランサー、および Classic Load Balancer です。Amazon ECS サービスでは、ロードバランサーのいずれかのタイプを使用できます。Application Load Balancer は、HTTP/HTTPS (またはレイヤー 7) トラフィックをルーティングするために使用されます。ネットワークロードバランサー と Classic Load Balancer は、TCP またはレイヤー 4 トラフィックをルーティングするために使用されます。

Application Load Balancer

Application Load Balancer では、アプリケーションレイヤー (HTTP/HTTPS) でルーティング決定を行い、パスベースのルーティングをサポートします。また、クラスター内の各コンテナインスタンスの 1 つまたは複数のポートにリクエストをルーティングできます。Application Load Balancer では、動的ホストポートマッピングをサポートしています。たとえば、タスクのコンテナの定義で NGINX コンテナポートにポート 80、ホストポートにポート 0 を指定している場合、ホストポートはコンテナインスタンスの一時ポート範囲から動的に選択されます (最新の Amazon ECS-optimized AMI での 32768~61000 など)。タスクの起動時に、NGINX コンテナは、インスタンス ID およびポートの組み合わせとして Application Load Balancer で登録されます。トラフィックは、コンテナに対応するインスタンス ID およびポートに分散されます。この動的なマッピングにより、同じコンテナインスタンスの単一のサービスから複数のタスクを持つことができます。詳細については、Application Load Balancer 用ユーザーガイド を参照してください。


                Application Load Balancer

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

ネットワークロードバランサー により、トランスポートレイヤー (TCP/SSL) でルーティングの決定が行われます。毎秒数百万のリクエストを処理できます。ロードバランサーは、接続を受信すると、フローハッシュルーティングアルゴリズムを使用してデフォルトルールのターゲットグループからターゲットを選択します。リスナー構成で指定されたポート上の選択したターゲットへの TCP 接続を開こうとします。ヘッダーを変更せずにリクエストを転送します。 ネットワークロードバランサー では、動的ホストポートマッピングをサポートしています。たとえば、タスクのコンテナの定義で NGINX コンテナポートにポート 80、ホストポートにポート 0 を指定している場合、ホストポートはコンテナインスタンスの一時ポート範囲から動的に選択されます (最新の Amazon ECS-optimized AMI での 32768~61000 など)。タスクの起動時に、NGINX コンテナは、インスタンス ID およびポートの組み合わせとして ネットワークロードバランサー で登録されます。トラフィックは、コンテナに対応するインスタンス ID およびポートに分散されます。この動的なマッピングにより、同じコンテナインスタンスの単一のサービスから複数のタスクを持つことができます。詳細については、Network Load Balancer 用ユーザーガイド を参照してください。


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

Classic Load Balancer

Classic Load Balancer では、トランスポートレイヤー (TCP/SSL) またはアプリケーションレイヤー (HTTP/HTTPS) のいずれかでルーティング決定を行います。Classic Load Balancer では現在、ロードバランサーのポートとコンテナインスタンスのポートとの間の一定の関係が必要です。たとえば、ロードバランサーのポート 80 をコンテナインスタンスのポート 3030 に、またロードバランサーのポート 4040 をコンテナインスタンスのポート 4040 にマッピングできます。ただし、ロードバランサーのポート 80 を 1 つのコンテナインスタンスのポート 3030 および別のコンテナインスタンスのポート 4040 にマッピングすることはできません。この静的マッピングでは、少なくとも Classic Load Balancer を使用する単一のサービスの必要数と同じ数のコンテナインスタンスがクラスターに存在する必要があります。詳細については、『クラシックロードバランサー 用ユーザーガイド』を参照してください。


                Classic Load Balancer