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

始める前に

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

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

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

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

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

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

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

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

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

    値の範囲:1〜65535

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

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

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

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

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

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

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

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

    HTTP/2 の有効化 HTTP2.0 を有効にするかどうかを選択します。
    アクセス制御の有効化 アクセス制御機能を有効にするかしないかを選択します。
    アクセス制御方法

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

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

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

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

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

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

    リスニング帯域幅を設定するかしないかを選択します。

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

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

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

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

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

    リクエストタイムアウト リクエストタイムアウト時間を指定します。 値の範囲: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 SSL 証明書の設定

HTTPS リスナーを追加するには、次の表に示すように、サーバー証明書または CA 証明書をアップロードする必要があります。

証明書 説明 片方向認証に必須 双方向認証に必須
サーバー証明書 サーバーの識別に使用されます。

クライアントはこれを通して、サーバーから送信された証明書が信頼できるセンターにより発行されているか否かをチェックします。

はい。

サーバー証明書を、 SLB の証明書管理システムにアップロードする必要があります。

はい。

サーバー証明書を、 SLB の証明書管理システムにアップロードする必要があります。

クライアント証明書 クライアントの識別に使用されます。

クライアントユーザーは、サーバーと通信する際に、実 ID を証明することができます。 自己署名 CA 証明書でクライアント証明書に署名できます。

いいえ。 はい。

クライアント証明書を、クライアントにインストールする必要があります。

CA 証明書 サーバーは、安全な接続を開始する前に、CA 証明書で、クライアント証明書の署名を認証の一部として認証します。 認証に失敗した場合、接続が拒否されます。 いいえ。 はい。

サーバー証明書を、 SLB の証明書管理システムにアップロードする必要があります。

証明書をアップロードする前に、以下の点に注意してください。
  • アップロードされる証明書は、PEM 形式である必要があります。 詳細については、「証明書の要件」をご参照ください。
  • 証明書が SLB にアップロードされた後、SLBは証明書を管理でき、バックエンド ECS インスタンスに証明書をバインドする必要はありません。
  • 証明書のアップロード、読み込み、および検証に時間がかかるため、HTTPS リスナーを有効にするには、通常 1~3 分かかります。 通常、有効までにかかる時間は 1 分ですが、最長 3 分となります。
  • HTTPS リスナーで使用される ECDHE アルゴリズムクラスターは、前方秘匿性(forward secrecy)に対応していますが、DHE アルゴリズムクラスターで必要なセキュリティ拡張パラメーターファイル (PEM 証明書ファイル内の BEGIN DH PARAMETERS フィールドを含む文字列など) のアップロードには対応していません。 詳細については、「証明書の要件」をご参照ください。
  • 現時点では、SLB HTTPS リスナーは、 SNI (Server Name Indication) に対応していません。 その代わりに TCP リスナーを使用して、バックエンド ECS インスタンスで SNI を設定することができます。
  • HTTPS リスナーのセッションチケット保持時間は 300 秒です。
  • 実際のトラフィック量は、プロトコルのハンドシェイクにトラフィックが使用されるため、課金されたトラフィック量より多くなります。
  • 新しい接続が大量に確立された場合、HTTPS リスナーはより多くのトラフィックを消費します。
  1. アップロード済みのサーバー証明書を選択するか、[サーバー証明書の作成] をクリックしてサーバー証明書をアップロードします。
    詳細については、「証明書の作成」をご参照ください。
  2. HTTPS 相互認証の有効化には、[変更] をクリックします。
  3. アップロード済みの CA 証明書を選択するか、[CA 証明書の作成] をクリックして、CA 証明書をアップロードします。
    自己署名 CA 証明書を使用できます。 詳細については、「証明書の作成」をご参照ください。

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

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

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

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

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

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

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

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

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

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

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

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