本ドキュメントでは、TCP リスナーを Server Load Balancer (SLB) インスタンスに追加する方法について説明します。 HTTP プロトコルからのリクエストを転送するために HTTP リスナーを追加することができます。

始める前に

SLB インスタンスを作成します。 詳細については、「SLB インスタンスの作成」をご参照ください。

ステップ 1 リスナーの設定ウィザードを開く

リスナーの設定ウィザードを開くには、次の手順に従ってください。

  1. 左側のナビゲーションウィンドウで、[インスタンス] > [Server Load Balancer] を選択します。
  2. 目的とする SLB インスタンスのリージョンを選択します。
  3. 以下のいずれかの方法を選択して、リスナー設定ウィザードを開きます。
    • [Server Load Balancer] ページで、目的とする SLB インスタンスを見つけ、[操作] 列の [リスナーの設定] をクリックします。リスナー設定ウィザード
    • [Server Load Balancer]ページで、目的の SLB インスタンスの ID をクリックします。 [リスナー] タブで、[リスナーの追加] をクリックします。リスナーの追加

ステップ 2 HTTP リスナーの設定

HTTP リスナーを設定するには、次の手順に従ってください。

  1. [プロトコルとリスナー] ページで、次の情報に従って HTTP リスナーを設定します。
    設定項目 説明
    リスナープロトコルの選択 リスナープロトコルのタイプを選択します。

    この例では、[HTTP] を選択します。

    リスニングポート リスニングポートは、リクエストを受信したり、バックエンドサーバーへリクエストを転送したりするために使用されます。

    値の範囲:1〜65535

    リスニングポートは、SLB インスタンスで一意である必要があります。
    詳細設定
    スケジューリングアルゴリズム SLB は 3 つのスケジューリングアルゴリズムに対応しています。ラウンドロビン、重み付けラウンドロビン (WRR)、重み付け最小接続数 (WLC) です。
    • 重み付けラウンドロビン (WRR):重みの大きなバックエンドサーバーは、より多くのリクエストを受信します。
    • ラウンドロビン (RR):リクエストは、バックエンドサーバーへ均等かつ順次に配信されます。
    • 重み付け最小接続 (WLC):重みの大きなサーバーは、より多くのリクエストを受信します。 2 つのバックエンドサーバーの重み値が同じ場合は、接続数が少ないバックエンドサーバーがポーリングされる可能性が高くなります。
    リダイレクション HTTP リスナーのトラフィックを HTTPS リスナーに転送するかどうかを選択します。
    リダイレクション機能を有効にする前に、HTTPS リスナーが作成されていることを確認してください。
    セッション維持

    セッション維持を有効にするかどうかを選択します。

    セッション維持を有効にした場合、同一のクライアントからのセッションリクエストはすべて、同一のバックエンドサーバーに送信されます。

    HTTP セッション維持は、Cookie に基づいています。 次の 2 つの方法がサポートされています。

    • Cookie の挿入 : Cookie のタイムアウト時間を指定するだけです。

      SLB はバックエンドサーバーからの最初のレスポンスに Cookie を追加します (HTTP/HTTPS レスポンスパケットに SERVERID を挿入します)。 次のリクエストには Cookie が含まれ、リスナーはリクエストを同じバックエンドサーバーに配信します。

    • Cookie の上書き:必要に応じて HTTP/HTTPS レスポンスに挿入される Cookie を設定できます。 バックエンドサーバー上の Cookie のタイムアウト時間とライフサイクルを維持する必要があります。

      SLB は新しい Cookie が設定されたことを検出すると元の Cookie を上書きします。 次回クライアントが新しい Cookie で SLB にアクセスすると、リスナーはそのリクエストを前回記録されたバックエンドサーバーに配信します。 詳細については、「セッション維持」をご参照ください。

    アクセス制御の有効化 アクセス制御機能を有効にするかどうかを選択します。
    アクセス制御方法

    アクセス制御機能を有効にした後、アクセス制御方法を選択します。

    • ホワイトリスト:選択したアクセス制御リストに記載されている IP アドレスや CIDR ブロックからのリクエストのみが転送されます。 特定の IP アドレスからのアクセスのみをアプリケーションで許容するシナリオに利用します。

      ホワイトリストを有効にすると、ビジネス上のリスクが発生します。 ホワイトリストの設定後、リスト内の IP アドレスのみがリスナーにアクセスできます。 対応するアクセス制御リストに IP アドレスを 1 つも追加せずにホワイトリストを有効化すると、すべてのリクエストが転送されます。

    • ブラックリスト:選択したアクセス制御リストに記載されている IP アドレスや CIDR ブロックからのリクエストは転送されません。 特定の IP アドレスからのアクセスのみをアプリケーションで拒否するシナリオに利用します。

      対応するアクセス制御リストに IP アドレスを 1 つも追加せずにブラックリストを有効化すると、すべてのリクエストが転送されます。

    アクセス制御リスト ホワイトリストまたはブラックリストとして、アクセス制御リストを選択します。
    IPv6 インスタンスは IPv6 アクセス制御リストのみをバインドでき、IPv4 インスタンスは IPv4 アクセス制御リストのみをバインドできます。 詳細は、「アクセス制御リストの作成」をご参照ください。
    ピーク帯域幅制限の有効化

    リスナー帯域幅を設定するかどうかを選択します。

    SLB インスタンスが帯域幅に基づいて課金される場合、リスナーを通過するトラフィックを制限するために、異なるリスナーに対して異なるピーク帯域幅を設定できます。 SLB インスタンス内のすべてのリスナーのピーク帯域幅の合計は、そのインスタンスの帯域幅を超えることはできません。

    デフォルトでは、すべてのリスナーが SLB インスタンスの帯域幅を共有します。

    トラフィックに基づいて課金されるインスタンスには、デフォルトでピーク帯域幅制限がありません。
    アイドルタイムアウト 接続のアイドルタイムアウトを指定します。 値の範囲:1〜60。 単位:秒

    指定されたタイムアウト期間中にリクエストが受信されない場合、SLB は一時的に接続を終了し、次のリクエストが受信されると接続を再開します。

    この機能は現在、すべてのリージョンで使用できます。
    HTTP/2.0 リクエストには対応していません。
    リクエストタイムアウト リクエストタイムアウト時間を指定します。 値の範囲:1〜180。 単位:秒

    指定されたタイムアウト期間中にバックエンドサーバーから応答がない場合、SLB は待機を停止し、HTTP 504 エラーコードをクライアントに送信します。

    この機能は現在、すべてのリージョンで使用できます。

    Gzip 圧縮の有効化 特殊形式のファイルを圧縮するための Gzip 圧縮を有効にするかどうかを選択します。

    現在、Gzip は次の各ファイルタイプに対応しています。text/xml、text/plain、text/css、application/javascript、application/x-javascript、application/rss+xml、application/atom+xml、application/xml

    HTTP ヘッダーフィールドの追加 追加したいカスタム HTTP ヘッダーを選択します。
    • X-Forwarded-For フィールドを使用して、クライアントの送信元 IP アドレスを取得します。
    • X-Forwarded-Proto フィールドを使用して、SLB インスタンスで使用されるリスナープロトコルを取得します。
    • SLB-IP フィールドを使用して、SLB インスタンスのパブリック IP アドレスを取得します。
    • SLB-ID フィールドを使用して、SLB インスタンスの ID を取得します。
    クライアント送信元 IP アドレスの取得 HTTP リスナーは、X-Forwarded-For を使用してクライアントの物理 IP アドレスを取得します。
    作成済みのリスナーの自動有効化 リスナーを設定した後で、リスナーを有効にするかどうかを選択します。 リスナーはデフォルトで有効になっています。
  2. [次へ] をクリックします。

ステップ 3 バックエンドサーバーの追加

リスナーを設定したら、バックエンドサーバーを処理リクエストに追加する必要があります。 SLB インスタンス用に設定されたデフォルトのサーバーグループを使用するか、リスナー用に VServer グループまたはアクティブ/スタンバイサーバーグループを設定できます。 詳細は、「バックエンドサーバーの概要」をご参照ください。

このページの例では、デフォルトのサーバーグループを使用します。

  1. [デフォルトのサーバーグループ] を選択し、[さらに追加] をクリックします。
    デフォルトサーバーの追加
  2. 追加する ECS インスタンスを選択して、 [次へ:重みとポートの設定] をクリックします。
    重みの設定
  3. 追加したバックエンドサーバー (ECS インスタンス) に、ポートと重みを設定します。
    • ポート

      リクエストを受け取るためにバックエンドサーバーで開かれたポートです。 ポート番号の範囲は 1~65535 です。 バックエンドサーバーのポートは、SLB インスタンスと同じにすることができます。

    • 重み付け
      バックエンドサーバーの重みです。 重みの大きいバックエンドサーバーは、より多くのリクエストを受信します。
      重みが 0 に設定されている場合、そのバックエンドサーバーにリクエストは送信されません。
      重みの設定
  4. [次へ] をクリックします。

ステップ 4 ヘルスチェックの設定

SLB は、ヘルスチェックを実行して、バックエンドサーバーのサービスの可用性を確認します。 ヘルスチェック機能によって、サービスの全体的な可用性が向上し、バックエンドサーバーから障害の影響を受けなくなります。 [変更] をクリックして、ヘルスチェックの設定情報を変更します。 詳細は、「ヘルスチェックの概要」をご参照ください。

ステップ 5 設定情報の送信

リスナーの設定情報を送信するには、次の手順に従ってください。

  1. [送信]ページで、リスナーの設定情報をチェックします。 [変更] をクリックして、設定情報を変更できます。
  2. [送信]をクリックします。
  3. [送信] ページで、設定完了後に [OK] をクリックします。

    設定完了後、作成したリスナーを [リスナー] ページで確認できます。