ターゲットとしての Application Load Balancer - Elastic Load Balancing

ターゲットとしての Application Load Balancer

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

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

  • この構成は、シグナリングに HTTP を使用するメディアサービスや、コンテンツをストリーミングするための RTP など、マルチプロトコル接続を使用する用途に適しています。

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

ステップ 1: Application Load Balancer を作成する

開始する前に、このApplication Load Balancer がトラフィックをルーティングするターゲットグループを構成します。ターゲットグループに含めるインスタンスを含む Virtual Private Cloud (VPC) があること、およびターゲットが使用する各アベイラビリティーゾーンに少なくとも 1 つのパブリックサブネットがあることを確認します。

コンソールを使用してApplication Load Balancer を作成するには

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

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

  3. [Create Load Balancer] を選択します。

  4. [Application Load Balancer] で [作成] を選択します。

  5. [Create Application Load Balancer] (Application Load Balancer の作成) ページで、[Name] (名前)、[Scheme] (スキーム)、および [IP address type] (IP アドレスタイプ) などの [Basic configuration] (基本構成) の情報を指定します。

  6. [Listener] (リスナー) セクションでは、HTTP または HTTPS リスナーを任意のポートに作成できます。ただし、このリスナーのポート番号は、この Application Load Balancer が存在するターゲットグループのポートと一致する必要があります。

  7. [Availability Zones] (アベイラビリティーゾーン) で次の操作を行います。

    1. [VPC] で、Application Load Balancer のターゲットとして含めたインスタンスまたは IP アドレスを含む Virtual Private Cloud (VPC) を選択します。ステップ 3: Network Load Balancer を作成し、Application Load Balancer をターゲットとして設定する の Network Load Balancer に使用するのと同じ VPC を使用する必要があります。

    2. 2 つ以上のアベイラビリティーゾーンおよび対応するサブネットを選択します。可用性、スケーリング、パフォーマンスを最適化するために、これらのアベイラビリティーゾーンが Network Load Balancer に対して有効になっているアベイラビリティーゾーンと一致していることを確認します。

  8. 新しいセキュリティグループを作成するか、既存のセキュリティグループを選択することによって、ロードバランサーにセキュリティグループを割り当てることができます。

    選択したセキュリティグループは、このロードバランサーのリスナーポートへのトラフィックを許可するルールを含む必要があります。クライアントのコンピューターの CIDR ブロック (IP アドレス範囲) をセキュリティグループのインバウンドルールのトラフィックソースとして使用できます。これにより、クライアントは、この Application Load Balancer を介してトラフィックを送信できます。Network Load Balancer のターゲットとしての Application Load Balancer のセキュリティグループの設定の詳細については、Application Load Balancer ユーザーガイドの「Application Load Balancer のセキュリティグループ」を参照してください。

  9. [Configure Routing] (ルーティングの設定) で、このApplication Load Balancer に対して設定したターゲットグループを選択します。使用可能なターゲットグループがない場合に新しいターゲットグループを設定するには、Application Load Balancer ユーザーガイドの「ターゲットグループの作成」を参照してください。

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

AWS CLI を使用して Application Load Balancer を作成するには

create-load-balancer コマンドを使用します。

ステップ 2: Application Load Balancer を含むターゲットグループをターゲットとして作成する

ターゲットグループを作成すると、新規または既存の Application Load Balancer をターゲットとして登録できます。ターゲットグループごとに追加できる Application Load Balancer は 1 つだけです。最大 2 つの Network Load Balancer のターゲットとして、同じ Application Load Balancer を別のターゲットグループで使用することもできます。

新しいコンソールを作成してターゲットグループを作成し、Application Load Balancer をターゲットとして登録するには

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

    この機能を使用するには、[New EC2 Experience] (新しい EC2 エクスペリエンス) を有効にする必要があります。ナビゲーションペインの左上にあるトグルボタンを使用して新しいコンソールに切り替えます。

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

  3. [Create target group] を選択します。

  4. リポジトリの [Specify group details] (グループ詳細の指定) ページの [Basic configuration] (基本的設定) で、[Application Load Balancer] を選択します。

  5. [Target group name] (ターゲットグループ名) に Application Load Balancer ターゲットグループの名前を入力します。

  6. [Protocol] (プロトコル) では TCP だけが選択できます。ターゲットグループのポートを選択します。このターゲットグループポートは、Application Load Balancer のリスナーポートと一致する必要があります。または、このポートと一致するように Application Load Balancer のリスナーポートを追加または編集できます。

  7. VPC には、ターゲットグループに含める Application Load Balancer を含む Virtual Private Cloud (VPC) を選択します。

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

    [Advanced health check settings] (ヘルスチェックの詳細設定) では、[Unhealthy threshold] (非正常のしきい値)、[Timeout] (タイムアウト)、および [Success codes] (成功コード) は変更できません。詳細については、「ターゲットグループのヘルスチェック」を参照してください。

  9. (オプション) 必要に応じて 1 つまたは複数のタグを追加します。

  10. [Next] を選択します。

  11. [Register targets] (ターゲットの登録) ページで、ターゲットとして登録する Application Load Balancer を選択します。リストから選択する Application Load Balancer には、作成するターゲットグループと同じポート上のリスナーが必要です。このロードバランサーのリスナーを追加または編集してターゲットグループのポートと一致させるか、前の手順に戻ってターゲットグループに指定したポートを変更することができます。ターゲットとして追加する Application Load Balancer がわからない場合や、この時点で追加しない場合は、後で Application Load Balancer を追加できます。

  12. [Create target group] を選択します。

重要

Application Load Balancer を削除する必要がある場合は、ターゲットとしてターゲットグループに登録されている Application Load Balancer は削除できないことに注意してください。削除するには、最初にすべてのターゲットグループから登録を解除する必要があります。

AWS CLI を使用してターゲットグループを作成し、Application Load Balancer をターゲットとして登録するには

create-target-group コマンドと register-targets コマンドを使用します。

ステップ 3: Network Load Balancer を作成し、Application Load Balancer をターゲットとして設定する

コンソールを使用して Network Load Balancer を作成し、コンソールを使用して Application Load Balancer をターゲットとして設定するには、以下のステップに従います。

新しいコンソールを使用して Network Load Balancer とリスナーを作成するには

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

    この機能を使用するには、[New EC2 Experience] (新しい EC2 エクスペリエンス) を有効にする必要があります。ナビゲーションペインの左上にあるトグルボタンを使用して新しいコンソールに切り替えます。

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

  3. [Create Load Balancer] を選択します。

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

  5. 基本的な設定

    [Create Network Load Balancer] (Network Load Balancer の作成) ページで、[Name] (名前)、[Scheme] (スキーム)、および [IP address type] (IP アドレスタイプ) などの [Basic configuration] (基本構成) の情報を指定します。

  6. [Network and Security]

    1. [VPC] で、Application Load Balancer ターゲットに使用したのと同じ VPC を選択します。[スキーム] で [インターネット向け] を選択した場合は、インターネットゲートウェイを持つ VPC だけを選択できます。

    2. [マッピング] で、1 つまたは複数のアベイラビリティーゾーンと対応するサブネットを選択します。可用性、スケーリング、パフォーマンスを最適化するために、Application Load Balancer ターゲットと同じアベイラビリティーゾーンを選択することをお勧めします。

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

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

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

      この設定では、Application Load Balancer の HTTPS リスナーを使用して TLS プロトコルを終了できます。

    2. [Default action] (デフォルトアクション) で、トラフィックを転送する Application Load Balancer ターゲットグループを選択します。ターゲットグループがリストに表示されない場合、または (別の Network Load Balancer によってすでに使用されていて) 選択できない場合は、「ステップ 2: Application Load Balancer を含むターゲットグループをターゲットとして作成する」の手順に従って新しい Application Load Balancer ターゲットグループを作成できます。

  8. タグ (オプション) を追加し、設定を確認して [Create load balancer] (ロードバランサーを作成) を選択します。

重要

1 つの Application Load Balancer は、最大 2 つの Network Load Balancer のターゲットとして関連付けることができます。その場合、別々のターゲットグループに存在する Application Load Balancer を 2 つの異なる Network Load Balancers に割り当てる必要があります。

Network Load Balancer の背後に配置する各 Application Load Balancer のターゲットの 50(クロスゾーン負荷分散が無効の場合)または 100(クロスゾーンロードバランシングが有効になっている場合)の最大数が減少することに注意してください。レイテンシーを最小限に抑え、リージョン内データ転送の料金を回避するために、クロスゾーン負荷分散を無効にしたままにすることをお勧めします。ベースライン制限については、「Network Load Balancer のクォータ」を参照してください。

AWS CLI を使用して Network Load Balancer を作成するには

create-load-balancer コマンドを使用します。

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

Network Load Balancer で AWS PrivateLink を有効にするには

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

  2. ロードバランサーのリストページで、AWS PrivateLink を有効にする Network Load Balancer を選択します。

  3. ロードバランサーの詳細セクション (リストの下) で [Integrated services] (統合サービス) タブを選択します。

  4. [VPC Endpoint Services (AWS PrivateLink)] (VPC エンドポイントサービス) までスクロールします。

  5. [Create Endpoint Services] (エンドポイントサービスの作成) を選択します。残りのステップについては、のAWS PrivateLink ガイドの「インターフェイスエンドポイントの VPC エンドポイントサービス設定を作成する」を参照してください。