Application Load Balancer のターゲットグループにターゲットを登録する - エラスティックロードバランシング

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Application Load Balancer のターゲットグループにターゲットを登録する

ターゲットグループにターゲットを登録します。ターゲットグループを作成するときは、そのターゲットの種類を指定します。ターゲットの種類は、ターゲットの登録方法を決定します。たとえば、インスタンス ID、IP アドレス、または Lambda 関数を登録できます。詳細については、「Application Load Balancer のターゲットグループ」を参照してください

現在登録されているターゲットの需要が上昇した場合、需要に対応するために追加ターゲットを登録できます。ターゲットがリクエストを処理する準備ができたら、ターゲットグループに登録します。登録処理が完了し、ターゲットが最初のヘルスチェックに合格するとすぐに、ロードバランサーはターゲットへのリクエストのルーティングを開始します。

登録済みターゲットの需要が低下した場合や、ターゲットを保守する必要がある場合、ターゲットグループから登録解除できます。登録解除するとすぐに、ロードバランサーはターゲットへのリクエストのルーティングを停止します。ターゲットがリクエストを受信する準備ができたら、ターゲットグループに再度登録することができます。

ターゲットを登録解除すると、ロードバランサーは未処理のリクエストが完了するまで待機します。これは、Connection Drainingと呼ばれます。Connection Drainingの進行中、ターゲットのステータスは draining です。

IP アドレスで登録されたターゲットを登録解除する場合、同じ IP アドレスを再び登録するには、登録解除の遅延が完了するまで待機する必要があります。

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

ターゲットでアプリケーションをシャットダウンするときは、まずターゲットグループからターゲットを登録解除し、既存の接続をドレインする時間を確保する必要があります。登録解除ステータスをモニタリングするには、describe-target-health CLI コマンドを使用するか、 のターゲットグループビューを更新します AWS Management Console。ターゲットの登録が解除されたことを確認したら、アプリケーションの停止または終了に進むことができます。このシーケンスにより、トラフィックの処理中にアプリケーションが終了すると、ユーザーが 5XX エラーを経験することを防ぎます。

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

EC2 インスタンスをターゲットとして登録した場合、インスタンスのセキュリティグループにより、ロードバランサーがリスナーポートとヘルスチェックポートの両方でインスタンスとの通信が許可されるようにする必要があります。

推奨ルール
Inbound
送信元 ポート範囲 コメント
ロードバランサーのセキュリティグループ インスタンスリスナー Allow traffic from the load balancer on the instance listener port
ロードバランサーのセキュリティグループ ヘルスチェック Allow traffic from the load balancer on the health check port

また、パス MTU 検出をサポートするため、インバウンド ICMP トラフィックを許可することをお勧めします。詳細については、「Amazon EC2 ユーザーガイド」の「パス MTU 検出」を参照してください。

共有サブネット

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

ターゲットの登録

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

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

要件と考慮事項
  • インスタンスの登録時の状態は running である必要があります。

  • ターゲットインスタンスは、ターゲットグループに指定した Virtual Private Cloud (VPC) に存在する必要があります。

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

  • IPv4 ターゲットグループの IP アドレスでターゲットを登録する場合、登録する 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)

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

  • 別の Application Load Balancer の IP アドレスを同じ VPC に登録することはできません。もう一方の Application Load Balancer が、ロードバランサー VPC にピアリング接続されている VPC に含まれている場合は、その IP アドレスを登録できます。

Console
ターゲットを登録するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

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

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

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

  5. [Register targets] を選択します。

  6. ターゲットグループのターゲットタイプが の場合instance、使用可能なインスタンスを選択し、必要に応じてデフォルトのポートを上書きしてから、以下で保留中として含めるを選択します。

  7. ターゲットグループのターゲットタイプが の場合ip、IP アドレスごとにネットワークを選択し、IP アドレスとポートを入力し、以下で保留中として含めるを選択します。

  8. ターゲットグループのターゲットタイプが の場合lambda、Lambda 関数を選択するか、その ARN を入力します。詳細については、「Lambda 関数をターゲットとして 使用する」を参照してください。

  9. 保留中のターゲットの登録を選択します。

AWS CLI
ターゲットを登録するには

register-targets コマンドを使用します。次の の例では、インスタンス ID でターゲットを登録します。ポートが指定されていないため、ロードバランサーはターゲットグループポートを使用します。

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890

次の の例では、IP アドレスでターゲットを登録します。ポートが指定されていないため、ロードバランサーはターゲットグループポートを使用します。

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=10.0.50.10 Id=10.0.50.20

次の例では、Lambda 関数をターゲットとして登録します。

aws elbv2 register-targets \ --target-group-arn target-group-arn \ --targets Id=lambda-function-arn
CloudFormation
ターゲットを登録するには

AWS::ElasticLoadBalancingV2::TargetGroup リソースを更新して、新しいターゲットを含めます。次の の例では、インスタンス ID で 2 つのターゲットを登録します。

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: instance VpcId: !Ref myVPC Targets: - Id: !GetAtt Instance1.InstanceId Port: 80 - Id: !GetAtt Instance2.InstanceId Port: 80

ターゲットの登録解除

アプリケーションの需要が低下した場合や、ターゲットを保守する必要がある場合、ターゲットグループからターゲットを登録解除することができます。ターゲットを登録解除するとターゲットグループから削除されますが、ターゲットにそれ以外の影響は及びません。

Console
ターゲットの登録を解除するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

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

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

  4. ターゲット タブで、削除するターゲットを選択します。

  5. [Deregister] (登録解除) を選択します。

  6. 確認を求めるメッセージが表示されたら、[Deregister] を選択します。

AWS CLI
ターゲットの登録を解除するには

deregister-targets コマンドを使用します。次の の例では、インスタンス ID で登録された 2 つのターゲットを登録解除します。

aws elbv2 deregister-targets \ --target-group-arn target-group-arn \ --targets Id=i-1234567890abcdef0 Id=i-0abcdef1234567890