ターゲットグループへのターゲットの登録
ターゲットがリクエストを処理する準備ができたら、そのターゲットを 1 つ以上のターゲットグループに登録します。ターゲットグループのターゲットタイプにより、ターゲットを登録する方法が決定されます。たとえば、インスタンス ID、IP アドレス、または Application 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 に、または IPv6 アドレスを IPv4 に変換するときに、クライアントIPアドレスが保持されます。
ロードバランサープライベート IP アドレスを見つけるには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[ネットワークインターフェイス] を選択します。
-
検索フィールドに、Network Load Balancer の名前を入力します。ロードバランサーのサブネットあたり 1 つのネットワークインターフェイスがあります。
-
各ネットワークインターフェイスの [詳細] タブで、[プライベート IPv4 アドレス] からアドレスをコピーします。
詳細については、「Network Load Balancer のセキュリティグループ」を参照してください。
ネットワーク ACL
EC2 インスタンスをターゲットとして登録する場合は、インスタンスのサブネットのネットワーク ACL をチェックして、リスナーポートとヘルスチェックポートの両方でトラフィックを許可していることを確認する必要があります。VPC のデフォルトネットワークアクセスコントロールリスト (ACL) では、すべてのインバウンドトラフィックとアウトバウンドトラフィックが許可されます。カスタムネットワーク ACL を作成する場合は、適切なトラフィックを許可していることを確認してください。
インスタンスのサブネットに関連付けられているネットワーク ACL では、インターネット向けロードバランサーの次のトラフィックを許可する必要があります。
Inbound | |||
---|---|---|---|
送信元 | プロトコル | ポート範囲 | コメント |
クライアント IP アドレス |
リスナー |
リスナー |
Allow client traffic (インスタンス target type) |
VPC CIDR |
リスナー |
リスナー |
Allow client traffic (ip target type) |
VPC CIDR |
ヘルスチェック |
ヘルスチェック |
Allow health check traffic from the load balancer |
Outbound | |||
送信先 | プロトコル | ポート範囲 | コメント |
クライアント IP アドレス |
リスナー |
リスナー |
Allow responses to clients (インスタンス target
type) |
VPC CIDR |
リスナー |
リスナー |
Allow responses to clients (ip target type) |
VPC CIDR |
ヘルスチェック |
1024-65535 | Allow health check traffic |
ロードバランサーのサブネットに関連付けられているネットワーク ACL では、インターネット向けロードバランサーの次のトラフィックを許可する必要があります。
Inbound | |||
---|---|---|---|
送信元 | プロトコル | ポート範囲 | コメント |
クライアント IP アドレス |
リスナー |
リスナー |
Allow client traffic (インスタンス target type) |
VPC CIDR |
リスナー |
リスナー |
Allow client traffic (ip target type) |
VPC CIDR |
ヘルスチェック |
1024-65535 | Allow health check traffic |
Outbound | |||
送信先 | プロトコル | ポート範囲 | コメント |
クライアント IP アドレス |
リスナー |
リスナー |
Allow responses to clients (インスタンス target
type) |
VPC CIDR |
リスナー |
リスナー |
Allow responses to clients (ip target type) |
VPC CIDR |
ヘルスチェック |
ヘルスチェック |
Allow health check traffic |
VPC CIDR |
ヘルスチェック |
1024-65535 | Allow health check traffic |
内部ロードバランサーの場合、インスタンスおよびロードバランサーノードのサブネットのネットワーク ACL は、リスナーポートおよび一時ポートにおいて、VPC CIDR とやり取りされるインバウンドトラフィックとアウトバウンドトラフィックの両方を許可する必要があります。
共有サブネット
参加者は共有 VPC に Network Load Balancer を作成できます。参加者は、自分と共有されていないサブネットで実行するターゲットを登録することはできません。
ターゲットの登録または登録解除
各ターゲットグループでは、ロードバランサーが有効になっている各アベイラビリティーゾーンで少なくとも 1 つのターゲットが登録されている必要があります。
ターゲットグループのターゲットの種類により、ターゲットグループにターゲットを登録する方法が決定されます。詳しくは、「[Target type (ターゲットタイプ)]」を参照してください。
要件と考慮事項
-
インスタンスで使用されているインスタンスタイプが C1、CC1、CC2、CG1、CG2、CR1、G1、G2、HI1、HS1、M1、M2、M3、T1 のいずれかである場合、インスタンス ID でインスタンスを登録することはできません。
-
IPv6 ターゲットグループにインスタンス ID でターゲットを登録する場合、ターゲットにはプライマリ IPv6 アドレスが割り当てられている必要があります。詳細については、「Linux インスタンス用 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
である必要があります。
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 リスナーを使用するデュアルスタックロードバランサーにのみ関連付けることができます。
AWS CLI を使用してターゲットを登録または登録解除する
ターゲットを追加するには register-targets コマンドを使用し、ターゲットを削除するには deregister-targets コマンドを使用します。