Elastic Load Balancing
Network Load Balancer

Network Load Balancer

ロードバランサーは、クライアントにとって単一の通信先として機能します。クライアントはロードバランサーにリクエストを送信し、ロードバランサーは 1 つ以上のアベイラビリティーゾーンにあるターゲット (EC2 インスタンスなど) にそれらのリクエストを送信します。

ロードバランサーを設定するには、ターゲットグループを作成し、ターゲットグループにターゲットを登録します。有効な各アベイラビリティーゾーンに少なくとも 1 つの登録済みターゲットがあるようにする場合、ロードバランサーが最も効果的です。さらに、リスナーを作成してクライアントからの接続リクエストがないかチェックし、リクエストをクライアントからターゲットグループ内のターゲットにルーティングします。

Network Load Balancerは VPC ピアリング、AWS マネージド VPN、およびサードパーティーの VPN ソリューションを経由した接続をサポートします。

ロードバランサーの状態

ロードバランサーの状態は次のいずれかです。

provisioning

ロードバランサーはセットアップ中です。

active

ロードバランサーは完全にセットアップされており、トラフィックをルーティングする準備ができています。

failed

ロードバランサークラウドをセットアップできませんでした。

ロードバランサーの属性

ロードバランサーの属性は以下のとおりです。

deletion_protection.enabled

削除保護が有効化されているかどうかを示します。デフォルト: false

load_balancing.cross_zone.enabled

クロスゾーン負荷分散が有効かどうかを示します。デフォルト: false

アベイラビリティーゾーン

ロードバランサーを作成するときに、ロードバランサーの 1 つまたは複数のアベイラビリティーゾーンを有効にします。Network Load Balancer を作成した後で、アベイラビリティーゾーンを有効または無効にすることはできません。ロードバランサーで複数のアベイラビリティーゾーンを有効にすると、アプリケーションの耐障害性が向上します。

アベイラビリティゾーンを有効にする場合、このアベイラビリティゾーンから 1 つのサブネットを指定します。Elastic Load Balancing はアベイラビリティーゾーンにロードバランサーノードを作成し、サブネットのネットワークインターフェイスを作成します (「ELB net」で始まり、ロードバランサーの名前を含む記述)。アベイラビリティーゾーンの各ロードバランサーノードは、このネットワークインターフェイスを使用して静的 IP アドレスを取得します。このネットワークインターフェイスは表示できますが、変更することはできません。

インターネット向けのロードバランサーを作成する場合は、必要に応じて 1 つの Elastic IP アドレスをサブネットごとに関連付けることができます。ロードバランサーの作成後に、サブネットの Elastic IP アドレスを追加または変更することはできません。

要件

  • 指定するサブネットには最低 8 個の利用可能な IP アドレスが必要です。

  • 別の AWS アカウントと共有していたサブネットを指定することはできません。

  • 制約のあるアベイラビリティゾーンにあるサブネットを指定することはできません。エラーメッセージは、「'network' タイプを使用したロードバランサーは az_name でサポートされていません」です。制約されていない別のアベイラビリティゾーンにあるサブネットを指定し、クロスゾーン負荷分散を使用して、制約されているアベイラビリティゾーンのターゲットにトラフィックを分散することはできます。

クロスゾーン負荷分散

デフォルトでは、各ロードバランサーノードは、アベイラビリティーゾーン内の登録済みターゲット間でのみトラフィックを分散します。クロスゾーン負荷分散を有効にすると、各ロードバランサーノードは、有効なすべてのアベイラビリティーゾーンの登録済みターゲットにトラフィックを分散します。詳細については、Elastic Load Balancing ユーザーガイドの「クロスゾーン負荷分散」を参照してください。

コンソールを使用してクロスゾーン負荷分散を有効にするには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。

  3. ロードバランサーを選択します。

  4. [Description]、[Edit attributes] を選択します。

  5. [ロードバランサー属性の編集] ページで、[クロスゾーン負荷分散] の [有効] を選択し、[保存] を選択します。

AWS CLI を使用してクロスゾーン負荷分散を有効にするには

load_balancing.cross_zone.enabled 属性を指定して modify-load-balancer-attributes コマンドを使用します。

削除保護

ロードバランサーが誤って削除されるのを防ぐため、削除保護を有効にできます。デフォルトでは、ロードバランサーで削除保護が無効になっています。

ロードバランサーの削除保護を有効にした場合、ロードバランサーを削除する前に無効にする必要があります。

コンソールを使用して削除保護を有効にするには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。

  3. ロードバランサーを選択します。

  4. [Description]、[Edit attributes] を選択します。

  5. [ロードバランサー属性の編集] ページで、[削除保護] の [有効] を選択し、[保存] を選択します。

コンソールを使用して削除保護を無効にするには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [LOAD BALANCING] で [Load Balancers] を選択します。

  3. ロードバランサーを選択します。

  4. [Description]、[Edit attributes] を選択します。

  5. [Edit load balancer attributes] ページで、[Enable delete protection] をクリアし、[Save] を選択します。

AWS CLI を使用して削除保護を有効または無効にするには

deletion_protection.enabled 属性を指定して modify-load-balancer-attributes コマンドを使用します。

接続のアイドルタイムアウト

クライアントがNetwork Load Balancerを通じて行うリクエストごとに、その接続の状態が追跡されます。アイドルタイムアウトよりも長い時間、クライアントからもターゲットからもその接続経由でデータが送信されない場合、接続は閉じられます。アイドルタイムアウト期間の経過後にクライアントがデータを送信した場合、TCP RST パケットを受信して、接続が無効になったことを示します。

Elastic Load Balancing はアイドルタイムアウト値を 350 秒に設定します。この値を変更することはできません。TCP リスナーのターゲットは、TCP キープアライブパケットを使用してアイドルタイムアウトをリセットできます。TCP キープアライブパケットは、TLS リスナーのターゲットではサポートされていません。