Network Load Balancer のターゲットを登録する - Elastic Load Balancing

Network Load Balancer のターゲットを登録する

ターゲットがリクエストを処理する準備ができたら、そのターゲットを 1 つ以上のターゲットグループに登録します。ターゲットグループのターゲットタイプにより、ターゲットを登録する方法が決定されます。たとえば、インスタンス ID、IP アドレス、または Application Load Balancer を登録できます。登録処理が完了し、ターゲットが最初のヘルスチェックに合格すると、Network Load Balancer はすぐにターゲットへのリクエストのルーティングを開始します。登録プロセスが完了し、ヘルスチェックが開始されるまで数分かかることがあります。詳細については、「Network Load Balancer ターゲットグループのヘルスチェック」を参照してください。

現在登録されているターゲットの需要が上昇した場合、需要に対応するために追加ターゲットを登録できます。登録されたターゲットの需要が減少した場合は、ターゲットグループからターゲットの登録を解除できます。登録解除プロセスが完了し、ロードバランサーがターゲットへのリクエストのルーティングを停止するまで数分かかることがあります。その後需要が増加した場合は、登録解除したターゲットをターゲットグループに再度登録できます。ターゲットをサービスする必要がある場合は、そのターゲットを登録解除し、サービスの完了時に再度登録できます。

ターゲットを登録解除すると、Elastic Load Balancing は未処理のリクエストが完了するまで待機します。これは、Connection Drainingと呼ばれます。Connection Drainingの進行中、ターゲットのステータスは draining です。登録解除が完了すると、ターゲットのステータスは unused に変わります。詳細については、「登録解除の遅延」を参照してください。

インスタンス ID でターゲットを登録する場合は、Auto Scaling グループでロードバランサーを使用できます。Auto Scaling グループにターゲットグループをアタッチし、そのグループがスケールアウトすると、Auto Scaling グループによって起動されたインスタンスが自動的にターゲットグループに登録されます。Auto Scaling グループからロードバランサーをデタッチした場合、インスタンスはターゲットグループから自動的に登録解除されます。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループへのロードバランサーのアタッチ」を参照してください。

ターゲットセキュリティグループ

ターゲットグループにターゲットを追加する前に、ターゲットに関連するセキュリティグループを Network Load Balancer からのトラフィックを受け入れるように設定します。

ロードバランサーにセキュリティグループが関連付けられている場合のターゲットセキュリティグループに関する推奨事項
  • クライアントトラフィックを許可するには: ロードバランサーに関連付けられたセキュリティグループを参照するルールを追加します。

  • プライベートリンクのトラフィックを許可するには: AWS PrivateLink 経由で送信されるトラフィックのインバウンドルールを評価するためにロードバランサーを設定した場合は、トラフィックポートでロードバランサーセキュリティグループからのトラフィックを受け入れるルールを追加します。それ以外の場合は、トラフィックポートのロードバランサーのプライベート IP アドレスからのトラフィックを受け入れるルールを追加します。

  • ロードバランサーのヘルスチェックを受け入れるには: ヘルスチェックポートのロードバランサーセキュリティグループからのヘルスチェックトラフィックを受け入れるルールを追加します。

ロードバランサーがセキュリティグループに関連付けられていない場合のターゲットセキュリティグループの推奨事項
  • クライアントトラフィックを許可するには: ロードバランサーがクライアント IP アドレスを保持している場合は、承認されたクライアントの IP アドレスからのトラフィックをトラフィックポートで受け付けるルールを追加します。それ以外の場合は、トラフィックポートのロードバランサーのプライベート IP アドレスからのトラフィックを受け入れるルールを追加します。

  • プライベートリンクのトラフィックを許可するには: トラフィックポートのロードバランサーのプライベート IP アドレスからのトラフィックを受け入れるルールを追加します。

  • ロードバランサーのヘルスチェックを受け入れるには: ヘルスチェックポートのロードバランサーのプライベート IP アドレスからのヘルスチェックトラフィックを受け入れるルールを追加します。

クライアント IP 保存の仕組み

preserve_client_ip.enabled 属性を true に設定しない限り、Network Load Balancer はクライアント IP アドレスを保持しません。また、デュアルスタックの Network Load Balancer を使用すると、IPv4 アドレスを IPv6 に変換するときに、クライアント IP アドレスが保存されます。ただし、IPv6 アドレスを IPv4 に変換する場合、送信元 IP は常に Network Load Balancer のプライベート IP アドレスです。

コンソールを使用してロードバランサーのプライベート IP アドレスを見つけるには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[ネットワークインターフェイス] を選択します。

  3. 検索フィールドに、Network Load Balancer の名前を入力します。ロードバランサーのサブネットあたり 1 つのネットワークインターフェイスがあります。

  4. 各ネットワークインターフェイスの [詳細] タブで、[プライベート IPv4 アドレス] からアドレスをコピーします。

詳細については、「Network Load Balancer のセキュリティグループを更新する」を参照してください。

ネットワーク ACL

EC2 インスタンスをターゲットとして登録する場合は、インスタンスのサブネットのネットワーク ACL をチェックして、リスナーポートとヘルスチェックポートの両方でトラフィックを許可していることを確認する必要があります。VPC のデフォルトネットワークアクセスコントロールリスト (ACL) では、すべてのインバウンドトラフィックとアウトバウンドトラフィックが許可されます。カスタムネットワーク ACL を作成する場合は、適切なトラフィックを許可していることを確認してください。

インスタンスのサブネットに関連付けられているネットワーク ACL では、インターネット向けロードバランサーの次のトラフィックを許可する必要があります。

インスタンスサブネットの推奨ルール
Inbound
送信元 プロトコル ポート範囲 コメント
クライアント IP アドレス リスナー ターゲットポート Allow client traffic (IP Preservation: ON)
VPC CIDR リスナー ターゲットポート Allow client traffic (IP Preservation: VOFF)
VPC CIDR ヘルスチェック ヘルスチェック Allow health check traffic
Outbound
送信先 プロトコル ポート範囲 コメント
クライアント IP アドレス リスナー 1024-65535 Allow return traffic to client (IP Preservation: ON)
VPC CIDR リスナー 1024-65535 Allow return traffic to client (IP Preservation: VOFF)
VPC CIDR ヘルスチェック 1024-65535 Allow health check traffic

ロードバランサーのサブネットに関連付けられているネットワーク ACL では、インターネット向けロードバランサーの次のトラフィックを許可する必要があります。

ロードバランサーサブネットの推奨ルール
Inbound
送信元 プロトコル ポート範囲 コメント
クライアント IP アドレス リスナー リスナー Allow client traffic
VPC CIDR リスナー 1024-65535 Allow response from target
VPC CIDR ヘルスチェック 1024-65535 Allow health check traffic
Outbound
送信先 プロトコル ポート範囲 コメント
クライアント IP アドレス リスナー 1024-65535 Allow responses to clients
VPC CIDR リスナー ターゲットポート Allow requests to targets
VPC CIDR ヘルスチェック ヘルスチェック Allow health check to targets

内部ロードバランサーの場合、インスタンスおよびロードバランサーノードのサブネットのネットワーク ACL は、リスナーポートおよび一時ポートにおいて、VPC CIDR とやり取りされるインバウンドトラフィックとアウトバウンドトラフィックの両方を許可する必要があります。

共有サブネット

参加者は共有 VPC に Network Load Balancer を作成できます。参加者は、自分と共有されていないサブネットで実行するターゲットを登録することはできません。

Network Load Balancer の共有サブネットは、以下を除くすべての AWS リージョンでサポートされています。

  • アジアパシフィック (大阪) ap-northeast-3

  • アジアパシフィック (香港) ap-east-1

  • 中東 (バーレーン) me-south-1

  • AWS 中国 (北京) cn-north-1

  • AWS 中国 (寧夏) cn-northwest-1

ターゲットの登録または登録解除

各ターゲットグループでは、ロードバランサーが有効になっている各アベイラビリティーゾーンで少なくとも 1 つのターゲットが登録されている必要があります。

ターゲットグループのターゲットの種類により、ターゲットグループにターゲットを登録する方法が決定されます。詳しくは、「[Target type (ターゲットタイプ)]」を参照してください。

要件と考慮事項
  • インスタンスで使用されているインスタンスタイプが C1、CC1、CC2、CG1、CG2、CR1、G1、G2、HI1、HS1、M1、M2、M3、T1 のいずれかである場合、インスタンス ID でインスタンスを登録することはできません。

  • IPv6 ターゲットグループにインスタンス ID でターゲットを登録する場合、ターゲットにはプライマリ IPv6 アドレスが割り当てられている必要があります。詳細については、「Amazon EC2 ユーザーガイド」の「IPv6 アドレス」を参照してください。

  • インスタンス ID でターゲットを登録する場合、インスタンスは Network Load Balancer と同じ Amazon VPC にある必要があります。ロードバランサー VPC (同じリージョンまたは異なるリージョン) とピア接続されている VPC にインスタンスがある場合、そのインスタンスをインスタンス ID で登録することはできません。このようなインスタンスは IP アドレスで登録できます。

  • ターゲットを IP アドレスで登録し、その IP アドレスがロードバランサーと同じ VPC にある場合、ロードバランサーは、到達可能なサブネットからターゲットがアクセスしていることを確認します。

  • UDP および TCP_UDP ターゲットグループの場合、インスタンスがロードバランサー VPC の外部に存在するか、インスタンスタイプとして C1、CC1、CC2、CG1、CG2、CR1、G1、G2、HI1、HS1、M1、M2、M3、T1 のいずれかを使用しているときは、IP アドレスでインスタンスを登録しないでください。ロードバランサー VPC の外部に存在するか、サポートされていないインスタンスタイプを使用するターゲットは、ロードバランサーからのトラフィックを受信できても、応答できない場合があります。

インスタンス ID によるターゲットの登録または登録解除

インスタンスの登録時の状態は running である必要があります。

コンソールを使用してターゲットをインスタンス ID で登録または登録解除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [ Load Balancing (ロードバランシング) ] で [ Target Groups (ターゲットグループ) ] を選択します。

  3. ターゲットグループの名前を選択して、その詳細ページを開きます。

  4. [Targets] タブを選択します。

  5. インスタンスを登録するには、[ターゲットの登録] を選択します。1 つ以上のインスタンスを選択し、必要に応じてデフォルトのインスタンスポートを入力して、[保留中として以下を含める] を選択します。インスタンスの追加が完了したら、[保留中のターゲットの登録] を選択します。

    [Note:] (メモ:)

    • IPv6 ターゲットグループに登録する場合、インスタンスにプライマリ IPv6 アドレスが割り当てられている必要があります。

    • AWS GovCloud (US) Region はコンソールでのプライマリ IPv6 アドレスの割り当てをサポートしていません。AWS GovCloud (US) Region でプライマリ IPv6 アドレスを割り当てるには、API を使用する必要があります。

  6. インスタンスを登録解除するには、インスタンスを選択して [登録解除] を選択します。

IP アドレスによるターゲットの登録または登録解除

IPv4 ターゲット

登録する IP アドレスは、次のいずれかの CIDR ブロックからのものである必要があります。

  • ターゲットグループの VPC のサブネット

  • 10.0.0.0/8 (RFC 1918)

  • 100.64.0.0/10 (RFC 6598)

  • 172.16.0.0/12 (RFC 1918)

  • 192.168.0.0/16 (RFC 1918)

ターゲットグループの作成後に IP アドレスのタイプを変更することはできません。

参加者として共有 Amazon VPC で Network Load Balancer を起動した場合、登録できるのは、共有されているサブネット内のターゲットだけです。

IPv6 ターゲット
  • 登録する IP アドレスは、VPC CIDR ブロック内、またはピア接続された VPC CIDR ブロック内にある必要があります。

  • ターゲットグループの作成後に IP アドレスのタイプを変更することはできません。

  • IPv6 ターゲットグループは、TCP または TLS リスナーを使用するデュアルスタックロードバランサーにのみ関連付けることができます。

コンソールを使用してターゲットを IP アドレスで登録または登録解除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインの [ Load Balancing (ロードバランシング) ] で [ Target Groups (ターゲットグループ) ] を選択します。

  3. ターゲットグループの名前を選択して、その詳細ページを開きます。

  4. [Targets] タブを選択します。

  5. IP アドレスを登録するには、[ターゲットの登録] を選択します。IP アドレスごとにネットワーク、アベイラビリティーゾーン、IP アドレス (IPv4 または IPv6)、ポートを選択し、[Include as pending below] (保留中として以下を含める) を選択します。アドレスの指定が終了したら、[保留中のターゲットの登録] を選択します。

  6. IP アドレスの登録を解除するには、IP アドレスを選択して [登録解除] を選択します。登録済みの IP アドレスが多い場合は、フィルタを追加したりソート順を変更したりすると便利です。

AWS CLI を使用してターゲットを登録または登録解除する

ターゲットを追加するには register-targets コマンドを使用し、ターゲットを削除するには deregister-targets コマンドを使用します。