本ドキュメントでは、TCP リスナーを Server Load Balancer (SLB) インスタンスに追加する方法について説明します。 HTTP プロトコルからのリクエストを転送するために HTTP リスナーを追加することができます。
始める前に
SLB インスタンスを作成します。 詳細については、「SLB インスタンスの作成」をご参照ください。
ステップ 1 リスナーの設定ウィザードを開く
リスナーの設定ウィザードを開くには、次の手順に従ってください。
- 左側のナビゲーションウィンドウで、[インスタンス] > [Server Load Balancer] を選択します。
- 目的とする SLB インスタンスのリージョンを選択します。
- 以下のいずれかの方法を選択して、リスナー設定ウィザードを開きます。
- [Server Load Balancer] ページで、目的とする SLB インスタンスを見つけ、[操作] 列の [リスナーの設定] をクリックします。
- [Server Load Balancer]ページで、目的の SLB インスタンスの ID をクリックします。 [リスナー] タブで、[リスナーの追加] をクリックします。
- [Server Load Balancer] ページで、目的とする SLB インスタンスを見つけ、[操作] 列の [リスナーの設定] をクリックします。
ステップ 2 HTTP リスナーの設定
HTTP リスナーを設定するには、次の手順に従ってください。
- [プロトコルとリスナー] ページで、次の情報に従って 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 アドレスを取得します。 作成済みのリスナーの自動有効化 リスナーを設定した後で、リスナーを有効にするかどうかを選択します。 リスナーはデフォルトで有効になっています。 - [次へ] をクリックします。
ステップ 3 バックエンドサーバーの追加
リスナーを設定したら、バックエンドサーバーを処理リクエストに追加する必要があります。 SLB インスタンス用に設定されたデフォルトのサーバーグループを使用するか、リスナー用に VServer グループまたはアクティブ/スタンバイサーバーグループを設定できます。 詳細は、「バックエンドサーバーの概要」をご参照ください。
このページの例では、デフォルトのサーバーグループを使用します。
- [デフォルトのサーバーグループ] を選択し、[さらに追加] をクリックします。
- 追加する ECS インスタンスを選択して、 [次へ:重みとポートの設定] をクリックします。
- 追加したバックエンドサーバー (ECS インスタンス) に、ポートと重みを設定します。
- ポート
リクエストを受け取るためにバックエンドサーバーで開かれたポートです。 ポート番号の範囲は 1~65535 です。 バックエンドサーバーのポートは、SLB インスタンスと同じにすることができます。
- 重み付け
バックエンドサーバーの重みです。 重みの大きいバックエンドサーバーは、より多くのリクエストを受信します。注 重みが 0 に設定されている場合、そのバックエンドサーバーにリクエストは送信されません。
- ポート
- [次へ] をクリックします。
ステップ 4 ヘルスチェックの設定
SLB は、ヘルスチェックを実行して、バックエンドサーバーのサービスの可用性を確認します。 ヘルスチェック機能によって、サービスの全体的な可用性が向上し、バックエンドサーバーから障害の影響を受けなくなります。 [変更] をクリックして、ヘルスチェックの設定情報を変更します。 詳細は、「ヘルスチェックの概要」をご参照ください。
ステップ 5 設定情報の送信
リスナーの設定情報を送信するには、次の手順に従ってください。
- [送信]ページで、リスナーの設定情報をチェックします。 [変更] をクリックして、設定情報を変更できます。
- [送信]をクリックします。
- [送信] ページで、設定完了後に [OK] をクリックします。
設定完了後、作成したリスナーを [リスナー] ページで確認できます。