Application Load Balancer を Network Load Balancer のターゲットとして使用する - エラスティックロードバランシング

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

Application Load Balancer を Network Load Balancer のターゲットとして使用する

1 つの Application Load Balancer を含むターゲットグループをターゲットとして作成し、そのグループにトラフィックを転送するように Network Load Balancer を設定できます。このシナリオでは、トラフィックがターゲットに到達するとすぐに、Application Load Balancer がロードバランシングの決定を引き継ぎます。この設定では、両方のロードバランサーの機能が組み合わされて以下のような利点が生まれます。

  • Application Load Balancer のレイヤー 7 リクエストベースのルーティング機能をエンドポイントサービス (AWS PrivateLink) や静的 IP アドレスなど、Network Load Balancer がサポートする機能と組み合わせて使用できます。

  • この構成は、シグナリングに HTTP を使用するメディアサービスや、コンテンツをストリーミングするための RTP など、マルチプロトコルに 1 つのエンドポイントを必要とするアプリケーションに使用できます。

この機能は、内部またはインターネット向けの Network Load Balancer のターゲットとしての内部またはインターネット向けの Application Load Balancer とともに使用できます。

考慮事項
  • ターゲットグループごとに登録できる Application Load Balancer は 1 つだけです。

  • Application Load Balancer を Network Load Balancer のターゲットとして関連付けるには、ロードバランサーが同じアカウント内の同じ VPC に存在する必要があります。

  • Application Load Balancer は、最大 2 つの Network Load Balancer のターゲットとして関連付けることができます。これを行うには、Application Load Balancer を Network Load Balancer ごとに個別のターゲットグループに登録します。

  • Network Application Load Balancer Load Balancer は、Network Load Balancer あたりのアベイラビリティーゾーンあたりのターゲットの最大数を 50 減らします。両方のロードバランサーのクロスゾーンロードバランシングを無効にして、レイテンシーを最小限に抑え、リージョン内データ転送の料金を回避できます。詳細については、「Network Load Balancer のクォータ」を参照してください。

  • ターゲットグループタイプが alb の場合、ターゲットグループの属性を変更することはできません。これらの属性は常にデフォルト値を使用します。

  • Application Load Balancer をターゲットとして登録すると、すべてのターゲットグループから登録を解除するまで Application Load Balancer を削除することはできません。

  • Network Load Balancer と Application Load Balancer 間の通信は常に IPv4 を使用します。

前提条件

ターゲットとして使用する Application Load Balancer がまだない場合は、ロードバランサー、リスナー、およびそのターゲットグループを作成します。詳細については、「Application Load Balancer ユーザーガイド」の「Application Load Balancer の作成」を参照してください。

ステップ 1: タイプのターゲットグループを作成する alb

タイプのターゲットグループを作成しますalb。Application Load Balancer は、ターゲットグループを作成するときにターゲットとして登録できます。

Console
Application Load Balancer のターゲットグループをターゲットとして作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

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

  3. [ターゲットグループの作成] を選択します。

  4. 基本設定ペインで、ターゲットタイプを選択する で、Application Load Balancer を選択します。

  5. [ターゲットグループ名] に、ターゲットグループの名前を入力します。

  6. [Protocol] (プロトコル) では TCP だけが選択できます。ターゲットグループのポートを選択します。このターゲットグループのポートは、Application Load Balancer のリスナーポートと一致する必要があります。このターゲットグループに別のポートを選択した場合は、Application Load Balancer のリスナーポートを更新して一致させることができます。

  7. VPC の場合は、ターゲットグループの Virtual Private Cloud (VPC) を選択します。これは、Application Load Balancer で使用されるのと同じ VPC である必要があります。

  8. [Health checks] (ヘルスチェック) で、[Health check protocol] (ヘルスチェックプロトコル) として [HTTP] または [HTTPS] を選択します。ヘルスチェックは Application Load Balancer に送信され、指定されたポート、プロトコル、および ping パスを使用してターゲットに転送されます。ヘルスチェックのポートとプロトコルに一致するポートとプロトコルがあるリスナーが Application Load Balancer にあり、これらのヘルスチェックを受信できることを確認します。

  9. (オプション) タグ を展開します。タグごとに、新しいタグを追加を選択し、タグキーとタグ値を入力します。

  10. [次へ] を選択します。

  11. Application Load Balancer を登録する準備ができたら、今すぐ登録を選択し、必要に応じてデフォルトポートを上書きして、Application Load Balancer を選択します。Application Load Balancer には、ターゲットグループと同じポートにリスナーが必要です。このロードバランサーでリスナーを追加または編集してターゲットグループポートと一致するか、前のステップに戻り、ターゲットグループのポートを変更できます。

    Application Load Balancer をターゲットとして登録する準備ができていない場合は、後で登録を選択し、後でターゲットを登録します。詳細については、「ターゲットの登録」を参照してください。

  12. [ターゲットグループの作成] を選択します。

AWS CLI
タイプのターゲットグループを作成するには alb

create-target-group コマンドを使用します。プロトコルは TCP で、ポートは Application Load Balancer のリスナーポートと一致する必要があります。

aws elbv2 create-target-group \ --name my-target-group \ --protocol TCP \ --port 80 \ --target-type alb \ --vpc-id vpc-1234567890abcdef0 \ --tags Key=department,Value=123
CloudFormation
タイプのターゲットグループを作成するには alb

AWS::ElasticLoadBalancingV2::TargetGroup タイプのリソースを定義します。プロトコルは TCP で、ポートは Application Load Balancer のリスナーポートと一致する必要があります。

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: TCP Port: 80 TargetType: alb VpcId: !Ref myVPC Tags: - Key: 'department' Value: '123' Targets: - Id: !Ref myApplicationLoadBalancer Port: 80

ステップ 2: Network Load Balancer を作成し、ルーティングを設定する

Network Load Balancer を作成するときに、Application Load Balancer にトラフィックを転送するようにデフォルトのアクションを設定できます。

Console
Network Load Balancer を作成するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインの [ロードバランシング] で [ロードバランサー] を選択します。

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

  4. [Network Load Balancer] で、[Create] (作成) を選択します。

  5. 基本的な設定

    1. [ロードバランサー名] に、Network Load Balancer の名前を入力します。

    2. [スキーム] で、[インターネット向け] または [内部] を選択します。インターネット向け Network Load Balancer は、クライアントからインターネット経由でリクエストをターゲットにルーティングします。内部 Network Load Balancer は、プライベート IP アドレスを使用してターゲットにリクエストをルーティングします。

    3. ロードバランサーの IP アドレスタイプで、クライアントが IPv4IPv4 アドレスを使用して Network Load Balancer と通信する場合は IPv4 を選択し、クライアントが IPv4 アドレスと IPv6 アドレスの両方を使用して Network Load Balancer と通信する場合はデュアルスタックを選択します。

  6. ネットワークマッピング

    1. VPC の場合は、Application Load Balancer に使用したのと同じ VPC を選択します。インターネット向けロードバランサーでは、インターネットゲートウェイを持つ VPCs のみが選択できます。

    2. アベイラビリティーゾーンとサブネットの場合は、少なくとも 1 つのアベイラビリティーゾーンを選択し、ゾーンごとに 1 つのサブネットを選択します。Application Load Balancer で有効になっているのと同じアベイラビリティーゾーンを選択することをお勧めします。これにより、可用性、スケーリング、パフォーマンスが最適化されます。

      (オプション) 静的 IP アドレスを使用するには、各アベイラビリティーゾーンの [IPv4 settings] (IPv4 の設定) で [Use an Elastic IP address] (Elastic IP アドレスを使用する) を選択します。静的 IP アドレスを使用すると、ファイアウォールの許可リストに特定の IP アドレスを追加することや、クライアントで IP アドレスをハードコードすることができます。

  7. セキュリティグループ

    ロードバランサー VPC のデフォルトのセキュリティグループを事前に選択します。必要に応じて、追加のセキュリティグループを選択できます。ニーズに合ったセキュリティグループがない場合は、新しいセキュリティグループを作成して今すぐ作成します。詳細については、「Amazon VPC ユーザーガイド」の「セキュリティグループの作成」を参照してください。

    警告

    この時点で Network Load Balancer にセキュリティグループを関連付けていない場合、後で関連付けすることはできません。

  8. リスナーとルーティング

    1. デフォルトは、ポート 80 で TCP トラフィックを受け付けるリスナーです。トラフィックを Application Load Balancer ターゲットグループに転送できるのは TCP リスナーだけです。[プロトコル] は [TCP] のままにしておく必要がありますが、[ポート は必要に応じて変更できます。

      この構成では、Application Load Balancer で HTTPS リスナーを使用して TLS トラフィックを終了できます。

    2. デフォルトアクションでは、前のステップで作成したターゲットグループを選択します。

    3. (オプション) リスナータグを追加を選択し、タグキーとタグ値を入力します。

  9. ロードバランサータグ

    (オプション) Load Balancer タグを展開します。新しいタグを追加を選択し、タグキーとタグ値を入力します。詳細については、「タグ」を参照してください。

  10. [概要]

    設定を確認し、ロードバランサーの作成を選択します。

AWS CLI
Network Load Balancer を作成するには

create-load-balancer コマンドを使用します。Application Load Balancer で有効になっているのと同じアベイラビリティーゾーンを使用することをお勧めします。

aws elbv2 create-load-balancer \ --name my-load-balancer \ --type network \ --scheme internal \ --subnets subnet-1234567890abcdef0 subnet-0abcdef1234567890 \ --security-groups sg-1111222233334444
TCP リスナーを追加するには

create-listener コマンドを使用して TCP リスナーを追加します。TCP リスナーのみが Application Load Balancer にトラフィックを転送できます。デフォルトのアクションには、前のステップで作成したターゲットグループを使用します。

aws elbv2 create-listener \ --load-balancer-arn load-balancer-arn \ --protocol TCP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=target-group-arn
CloudFormation
Network Load Balancer を作成するには

AWS::ElasticLoadBalancingV2::LoadBalancer タイプのリソースと、AWS::ElasticLoadBalancingV2::Listener タイプのリソースを定義します。TCP リスナーのみが Application Load Balancer にトラフィックを転送できます。デフォルトのアクションには、前のステップで作成したターゲットグループを使用します。

Resources: myLoadBalancer: Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer' Properties: Name: my-load-balancer Type: network Scheme: internal Subnets: - !Ref subnet-AZ1 - !Ref subnet-AZ2 SecurityGroups: - !Ref mySecurityGroup myTCPListener: Type: 'AWS::ElasticLoadBalancingV2::Listener' Properties: LoadBalancerArn: !Ref myLoadBalancer Protocol: TCP Port: 80 DefaultActions: - Type: forward TargetGroupArn: !Ref myTargetGroup

前のステップで設定した Network Load Balancer をプライベート接続のエンドポイントとして使用するために、 AWS PrivateLinkを有効にすることができます。これにより、ロードバランサーへのプライベート接続がエンドポイントサービスとして確立されます。

Network Load Balancer を使用して VPC エンドポイントサービスを作成するには
  1. ナビゲーションペインで、[ロードバランサー] を選択します。

  2. Network Load Balancer の名前を選択して、その詳細ページを開きます。

  3. [Integrations] (統合) タブで、[PC エンドポイントサービス (AWS PrivateLink)] を展開します。

  4. [エンドポイントサービスの作成] を選択して、[エンドポイントサービス] ページを開きます。残りの手順については、AWS PrivateLink ガイドの「エンドポイントサービスを作成する」を参照してください。