すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:HTTPS リスナーの追加

最終更新日:Apr 01, 2026

サービスでユーザー情報や ID 情報などの機密データを転送する場合や、セキュリティを強化したい場合は、HTTPS リクエストを処理するために HTTPS リスナーを作成します。

前提条件

Classic Load Balancer (CLB) インスタンスを作成します。詳細については、「CLB インスタンスの作成と管理」をご参照ください。

制限事項

HTTPS リスナーを設定する場合、バックエンドプロトコルは HTTP のみをサポートします。したがって、バックエンドサーバーを HTTPS ポート (通常は 443) ではなく、HTTP ポート (通常は 80) でリッスンするように設定する必要があります。また、HTTP ポートで HTTP から HTTPS へのリダイレクトを設定することはできません。

注意事項

  • HTTPS リスナーのデフォルトのセッションチケットの有効期間は 300 秒です。

  • HTTPS リスナーが生成する実際のトラフィックは、TLS ハンドシェイクのため、請求されるトラフィックよりわずかに高くなります。

  • 新規接続数が多い場合、ハンドシェイクのトラフィックが著しくなることがあります。

操作手順

ステップ 1:リスナーの設定

  1. Classic Load Balancer (CLB) コンソールにログインします。

  2. 上部のナビゲーションバーで、インスタンスがデプロイされているリージョンを選択します。

  3. [インスタンス] ページで、ターゲットインスタンスを見つけ、次のいずれかの方法でリスナーを設定します。

    • [操作] 列で、[リスナーの設定] をクリックします。

    • インスタンス ID をクリックします。インスタンス詳細ページで、[リスナー] タブをクリックし、[リスナーの作成] をクリックします。

  4. [プロトコルとリスナー] ウィザードで、次のパラメーターを設定し、[次へ] をクリックします。

    設定

    説明

    リスナープロトコルの選択

    リスナーのプロトコルを選択します。

    この例では、[HTTPS] が選択されています。

    メキシコリージョンの CLB インスタンスは HTTPS リスナーをサポートしていません。Application Load Balancer (ALB) インスタンスまたは他のリージョンの CLB インスタンスを使用することを推奨します。

    バックエンドプロトコル

    リスナープロトコルが [HTTPS] の場合、[バックエンドプロトコル] は [HTTP] になります。

    リスニングポート

    リクエストを受信し、バックエンドサーバーに転送するポートです。有効な値:1~65535。

    タグ

    [タグキー] と [タグ値] を選択または入力します。

    高度な設定

    [編集] をクリックして詳細設定を展開します。

    転送ルール

    スケジューリングアルゴリズムを選択します。デフォルトは [ラウンドロビン (RR)] です。

    • [重み付きラウンドロビン]:重みが大きいバックエンドサーバーほど多くのリクエストを受信します。

    • [ラウンドロビン]:リクエストはバックエンドサーバーに順番に分散されます。

    スケジューリングアルゴリズムとそのユースケースの詳細については、「スケジューリングアルゴリズム」をご参照ください。

    セッション維持の有効化

    セッション維持はデフォルトで無効になっています。

    セッション維持を有効にすると、ロードバランサーは同じクライアントからのリクエストを同じバックエンドサーバーに転送します。

    [クッキーの処理モード]:

    • [クッキーの追加]:Cookie のタイムアウト期間のみを指定する必要があります。

      この Cookie を含むクライアントからの後続のリクエストは、同じバックエンドサーバーに転送されます。

      [セッション維持タイムアウト]:[クッキーの追加] を選択した場合は、セッション維持のタイムアウト期間を入力します。

    • [クッキーの上書き]:HTTP または HTTPS 応答に挿入する Cookie を指定できます。バックエンドサーバーで Cookie の有効期限を管理する必要があります。

      ロードバランサーがカスタム Cookie を検出すると、元の Cookie を書き換えます。クライアントが次に新しい Cookie を含むリクエストを送信すると、ロードバランサーはそのリクエストを以前に記録されたバックエンドサーバーに転送します。

      [クッキー名]:[クッキーの上書き] を選択した場合は、Cookie 名を入力します。

    HTTP2.0 を有効化

    HTTP/2 はデフォルトで有効になっています。

    HTTP/2 は多重化という機能を導入しています。CLB インスタンスのフロントエンドプロトコルで HTTP/2 を有効にすると、CLB インスタンスは単一の TCP 接続を使用して複数の HTTP リクエストと応答を同時に送信できます。これにより、転送パフォーマンスが向上します。

    アクセス制御の有効化

    アクセス制御はデフォルトで無効になっています。

    アクセス制御を有効にした後、アクセス制御メソッドとアクセス制御リスト (ACL) を選択して、リスナーのホワイトリストまたはブラックリストとして機能させます。

    • [ホワイトリスト]:選択した ACL 内の IP アドレスまたは CIDR ブロックからのリクエストのみが転送されます。ホワイトリストは、特定の IP アドレスからのみアクセスを許可したいシナリオに適しています。ホワイトリストを設定すると、サービスにリスクが生じる可能性があります。

      ホワイトリストを有効にしても ACL に IP アドレスを追加しない場合、リスナーはすべてのリクエストを転送します。

    • [ブラックリスト]:選択した ACL 内の IP アドレスまたは CIDR ブロックからのリクエストは転送されません。ブラックリストは、特定の IP アドレスからのアクセスのみを拒否したいシナリオに適しています。

      ブラックリストを有効にしても ACL に IP アドレスを追加しない場合、リスナーはすべてのリクエストを転送します。

    説明

    IPv6 インスタンスは IPv6 アクセス制御リスト (ACL) にのみ関連付けることができ、IPv4 インスタンスは IPv4 ACL にのみ関連付けることができます。ACL の設定方法の詳細については、「アクセス制御リストの作成」をご参照ください。

    ピーク帯域幅の上限を有効化

    帯域幅課金のロードバランサーインスタンスの場合、各リスナーに最大帯域幅を設定してトラフィックを制限できます。すべてのリスナーの合計帯域幅は、インスタンスの帯域幅を超えることはできません。

    この機能はデフォルトで無効になっています。デフォルトでは、リスナーはインスタンスの合計帯域幅を共有します。リスナーが帯域幅を共有する方法の詳細については、「CLB インスタンスの帯域幅の共有」をご参照ください。

    重要
    • 合計帯域幅が 5 Mbit/s のインターネット向け CLB インスタンスに 2 つのリスナーがあり、リスナー A に 5 Mbit/s 全てを割り当て、リスナー B を未設定のままにした場合、リスナー B はアクセスできなくなります。帯域幅の割り当ては慎重に行ってください。

    • プライベート向け CLB インスタンスに 3 つのリスナーがあり、リスナー A と B に合計 5,120 Mbit/s を割り当てた場合、リスナー C はアクセスできなくなります。帯域幅の割り当ては慎重に行ってください。

    • トラフィック課金インスタンスの場合、リスナーの帯域幅はデフォルトで制限されません。

    接続アイドルのタイムアウト時間

    データが転送されない場合に、CLB インスタンスとクライアント間の TCP 接続を開いたままにできる最大時間です。有効な値:1~60 秒。デフォルト値:15 秒。

    タイムアウト期間内にリクエストが受信されない場合、ロードバランサーは現在の接続を閉じます。次のリクエストが到着すると、新しい接続が確立されます。

    説明

    この設定はリスナー全体に適用されます。特定のバックエンドサーバーに異なる接続タイムアウトを設定するには、そのサーバー用に別のリスナーを設定し、新しいリスナーで目的のタイムアウトを設定する必要があります。

    接続要求のタイムアウト時間

    バックエンドサーバーがタイムアウト期間内に応答しない場合、ロードバランサーはクライアントに HTTP 504 エラーを返します。

    有効な値:1~180 秒。デフォルト値:60 秒。より長いリクエストタイムアウトが必要な場合は、最大 3,600 秒のタイムアウト期間をサポートする ALB の使用を推奨します。

    Gzip 圧縮の有効化

    この機能を有効にして、特定のタイプのファイルを圧縮します。Gzip 圧縮はデフォルトで有効になっています。

    Gzip は次のファイルタイプをサポートしています:text/xmltext/plaintext/cssapplication/javascriptapplication/x-javascriptapplication/rss+xmlapplication/atom+xml、および application/xml

    追加のHTTPヘッダー

    追加したいカスタム HTTP ヘッダーフィールドを選択します:

    • X-Forwarded-For ヘッダーを追加して、クライアントの実際の IP アドレスを取得します。

      説明

      デフォルトでは、CLB のレイヤー 7 リスナーは X-Forwarded-For ヘッダーを使用してクライアントの IP アドレスを保持します。このヘッダーは無効にできません。複数の IP アドレスが保持されている場合、最初のものがクライアントの IP アドレスです。詳細な設定については、「レイヤー 7 リスナーがクライアントの IP アドレスを保持し、バックエンドサーバーに渡すようにする」をご参照ください。

    • SLB-ID ヘッダーを追加して、ロードバランサーのインスタンス ID を取得します。

    • SLB-IP ヘッダーを追加して、ロードバランサーインスタンスの IP アドレスを取得します。

    • X-Forwarded-Proto ヘッダーを追加して、ロードバランサーのリスナープロトコルを取得します。

    クライアント IP の取得

    この機能は、クライアントの実際の IP アドレスを取得するためにデフォルトで有効になっています。

    作成後に自動的に有効化する

    デフォルトで有効になっており、設定後にリスナーを自動的に開始します。

ステップ 2:SSL 証明書の設定

  1. [SSL 証明書] ステップで、[サーバー証明書の選択] ドロップダウンリストからアップロード済みのサーバー証明書を選択します。また、[サーバー証明書の作成] をクリックして新しい証明書をアップロードまたは購入することもできます。証明書の詳細については、「証明書の作成」をご参照ください。

  2. (オプション) [詳細設定] の横にある [編集] をクリックして、相互認証を有効にするか、TLS セキュリティポリシーを設定します。

    1. [相互認証を有効化] を有効にし、アップロード済みの CA 証明書を選択するか、CA 証明書を作成します。詳細については、「プライベート CA の購入と有効化」をご参照ください。

    2. [TLS セキュリティポリシー] を選択します。

    説明
    • 高性能インスタンスのみが TLS セキュリティポリシーをサポートします。

    • TLS セキュリティポリシーには、HTTPS でサポートされる TLS プロトコルバージョンと暗号スイートが含まれています。詳細については、「TLS セキュリティポリシー」をご参照ください。

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

重要

HTTPS リスナーはプライマリ/セカンダリサーバーグループをサポートしていません。

  1. [バックエンドサーバー] ステップで、[デフォルトのサーバーグループ] を選択し、[さらに追加] をクリックします。

  2. [サーバーの選択] ステップで、追加したいバックエンドサーバーを選択し、[次のステップ] をクリックします。

  3. [ポート/重み] ステップで、各サーバーの重みを設定し、[追加] をクリックします。

    説明
    • デフォルトの重みは 100 です。重みが大きいバックエンドサーバーほど多くのリクエストを受信します。

    • 重みが 0 のサーバーは新しいリクエストを受信しません。

  4. 各バックエンドサーバー (Elastic Compute Service (ECS) インスタンス) がリクエストを受信するポートを設定し、[次のステップ] をクリックします。ポート番号は 1~65535 の範囲でなければなりません。

    説明

    同じ CLB インスタンスのバックエンドサーバーは同じポートを使用できます。

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

CLB はヘルスチェックを使用してバックエンドサーバーの可用性を判断します。これにより、フロントエンドサービスの全体的な可用性が向上し、異常なバックエンドサーバーがサービスに影響を与えるのを防ぎます。

説明

プライマリ/セカンダリサーバーグループのリスナーのヘルスチェックを無効にすることはできません。

  1. (オプション) [ヘルスチェック] ステップで、[変更] をクリックしてヘルスチェック設定を変更し、[次のステップ] をクリックします。詳細については、「CLB ヘルスチェックの設定と管理」をご参照ください。

  2. [Configuration Review] ステップで、リスナーの設定を確認し、変更が必要な場合は [変更] をクリックします。

  3. 設定を確認した後、[送信] をクリックします。リスナーが作成された後、[OK] をクリックします。

    設定が完了すると、新しいリスナーが [リスナー] タブに表示されます。

よくある質問

エンドツーエンドの HTTPS 暗号化のサポート

いいえ。HTTPS リスナーを設定する場合、バックエンドプロトコルは HTTP のみサポートします。CLB インスタンスが HTTPS リクエストを受信すると、リクエストを復号し、HTTP 経由でバックエンドサーバーにデータを転送します。これにより、バックエンドサーバーの設定が簡素化され、バックエンドサーバーでの TLS ハンドシェイクによるパフォーマンスのオーバーヘッドを回避できます。

次のいずれかの方法で、サービスのエンドツーエンドの HTTPS を実装できます:

  • ALB インスタンスを作成し、HTTPS リスナーを設定してエンドツーエンドの HTTPS を実装します。詳細については、「エンドツーエンドの HTTPS 暗号化の設定」をご参照ください。

  • CLB インスタンスに TCP リスナーを設定し、バックエンドサーバーに SSL 証明書を設定します。

HTTPS の推奨ポート

HTTPS リスナーはどのポートでも使用できますが、標準ポートである 443 を推奨します。

サポートされる証明書タイプ

PEM 形式のサーバー証明書と CA 証明書をアップロードできます。

サーバー証明書をアップロードするには、証明書の内容と秘密鍵の両方が必要です。CA 証明書の場合は、証明書の内容のみが必要です。

Keytool 証明書のサポート

はい。

証明書をアップロードする前に、証明書を PEM 形式に変換する必要があります。詳細については、「証明書形式の変換」をご参照ください。

PKCS#12 (PFX) 証明書のサポート

はい。

証明書をアップロードする前に、証明書を PEM 形式に変換する必要があります。詳細については、「証明書形式の変換」をご参照ください。

KeyEncryption エラーの原因

このエラーは、秘密鍵が無効であることが原因で発生します。詳細については、「証明書の要件と形式変換」をご参照ください。

サポートされる SSL プロトコルバージョン

TLSv1.0、TLSv1.1、TLSv1.2、および TLSv1.3。

HTTPS セッションチケットの有効期間

HTTPS セッションチケットの有効期間は 300 秒です。

DH PARAMETERS を含む証明書のサポート

HTTPS リスナーは前方秘匿性のために ECDHE 暗号スイートを使用するため、DHE 暗号スイートをサポートしていません。したがって、BEGIN DH PARAMETERS フィールドを含む PEM 証明書をアップロードすることはできません。

SNI のサポート

はい。CLB の HTTPS リスナーは SNI をサポートしています。詳細については、「CLB インスタンスの追加ドメイン名の追加と管理」をご参照ください。

WebSocket Secure (WSS) のサポート

はい。CLB の HTTPS リスナーは、デフォルトで WebSocket Secure (WSS) プロトコルをサポートしています。詳細については、「CLB を使用して WebSocket 経由のリアルタイムメッセージングを有効にする」チュートリアルをご参照ください。

HTTP から HTTPS へのリダイレクト

まず HTTPS リスナーを作成します。次に、HTTP リスナーを作成する際に、[リダイレクション] を有効にします。詳細については、「CLB を使用して HTTP リクエストを HTTPS にリダイレクトする」をご参照ください。

関連トピック