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

Server Load Balancer:HTTP リクエストの HTTPS リスナーへのリダイレクト

最終更新日:Mar 01, 2026

HTTPS は、データ転送を保護するために使用されるプロトコルです。サービスを HTTPS にアップグレードする必要がある場合、Application Load Balancer (ALB) インスタンスを使用すると、ユーザー側で変更を加えることなく、HTTP リクエストを HTTPS リスナーにリダイレクトできます。

ソリューション概要

ALB は、HTTP から HTTPS へのリダイレクト機能を提供します。リスナーの転送ルールを設定することで、HTTP リクエストが HTTPS リスナーにリダイレクトされ、データ転送の暗号化が保証され、中間者攻撃やデータ漏洩が防止され、現代のセキュリティ基準に準拠したネットワークアーキテクチャの構築に役立ちます。

主な利点

  • 柔軟な設定:パス、HTTP ヘッダー、その他のパラメーターに基づいてカスタムリダイレクトルールをサポートし、複雑な利用シーンの要件を満たします。

  • ステータスコードの設定:301 (恒久的なリダイレクト) や 302 (一時的なリダイレクト) など、リダイレクト用にさまざまな HTTP ステータスコードをサポートします。

  • パフォーマンスの最適化:リダイレクト作業をロードバランサーに任せることで、バックエンドサーバーはリダイレクトを処理することなくコアビジネスの処理に集中でき、全体的な効率が向上します。

利用シーン

  • HTTPS へのアップグレード:既存のウェブサイトやアプリケーションを HTTP から HTTPS にアップグレードして、ユーザーとサーバー間の通信セキュリティを向上させます。

  • ドメイン変更/サイト移行:ウェブサイトを新しいドメインに移行する際に、リダイレクトを使用してユーザーアクセスの継続性を維持し、トラフィックの損失を防ぎます。

  • HTTP ヘッダーに基づくリダイレクト:HTTP ヘッダー情報 (言語、デバイスタイプなど) に基づいてユーザーリクエストを異なる HTTPS アプリケーションにリダイレクトし、パーソナライズされたサービスを提供します。

利用例

ある企業がシンガポールリージョンで ALB インスタンスを購入し、ビジネスを展開してサービスを提供しています。この企業は、データ暗号化を実装し、ユーザーエクスペリエンスの円滑さと多様性を向上させるために、ドメイン名を変更せずに HTTP プロトコルから HTTPS プロトコルに変更したいと考えています。

前提条件

操作手順

このトピックでは、ALB を介して HTTP リクエストを HTTPS リスナーにリダイレクトする 2 つの方法について説明します。必要に応じて選択できます:

  • すべての HTTP リクエストを HTTPS にリダイレクトする:ALB 宛てのすべての HTTP リクエストを無条件に HTTPS にリダイレクトします。サイト全体で HTTPS を有効にする、または全体的なセキュリティポリシーを実装するなど、すべてのアクセスで HTTPS を使用する必要がある利用シーンに適しています。

  • HTTP ヘッダーに基づいてリクエストを HTTPS にリダイレクトする:HTTP リクエストヘッダー (言語、デバイスタイプなど) に基づいて条件付きで判断し、特定の条件を満たすリクエストのみをリダイレクトします。条件に基づいてリダイレクト先を区別する必要がある利用シーンに適しています。たとえば、ユーザーの言語設定に基づいて異なる言語バージョンのウェブサイトにリダイレクトしたり、デバイスタイプ (モバイル、タブレット、PC) やブラウザのバージョンに基づいてモバイルまたはデスクトップの HTTPS バージョンにリダイレクトしたりできます。

すべての HTTP リクエストの HTTPS へのリダイレクト

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

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

  2. ALB の インスタンス ページで、対象インスタンスの ID をクリックします。

  3. リスナー タブで、[リスナーの作成] をクリックします。

  4. Server Load Balancer を設定 ページで、次の設定を完了します。

    ここでは、このトピックに関連するパラメーターのみをリストします。その他の HTTPS リスナーのパラメーターについては、デフォルト値を保持するか、実際のニーズに応じて設定してください。

    1. [リスナーの設定] ステップで、リスナープロトコルの選択[HTTPS] に、リスナーポート[443] に設定し、次へ をクリックします。

      添加HTTPS监听

    2. [SSL 証明書の設定] ステップで、作成したサーバー証明書を選択し、TLS セキュリティポリシーを選択します。その後、[次へ] をクリックします。

    3. [サーバーグループの選択] ステップで、作成したサーバーグループを選択し、バックエンドサーバー情報を確認してから、[次へ] をクリックします。

    4. [設定の確認] ステップで、設定情報を確認し、[送信] をクリックします。

ステップ 2:リスナー転送ルールの設定

  1. リスナー タブで、HTTP リスナーを見つけ、操作 列の [転送ルールの表示/変更] をクリックします。

  2. 転送ルール タブで、新しいルールの追加 をクリックします。

  3. 転送ルールの追加 セクションで、次の表に従ってパラメーターを設定し、[OK] をクリックします。

    ここでは、このトピックに関連するパラメーターのみをリストします。その他の転送ルールのパラメーターについては、デフォルト値を保持するか、実際のニーズに応じて設定してください。

    パラメーター

    説明

    転送条件

    [パス] を選択し、/* と入力します。

    転送操作

    [リダイレクト] を選択します。

    • [プロトコル]:この例では、[HTTPS] を選択します。

    • [ポート]:作成した HTTPS リスナーのポート番号を入力します。この例では、443 と入力します。

    • [ステータスコード]:この例では、デフォルト値の [301] を保持します。

    HTTP全部重定向HTTPS

ステップ 3:結果の検証

パブリックネットワークにアクセスできる任意の端末をテストクライアントとして使用し、ALB への HTTP リクエストが HTTPS にリダイレクトされるかどうかをテストします。

  1. 端末のコマンドラインインターフェイスを開きます。

  2. curl -v -L http://<カスタムドメイン名> を実行します。

    次の図に示すように、ステータスコード 301 が受信され、ALB へのリクエストが HTTPS にリダイレクトされ、応答サーバーが ECS01 であることを示します。

    ECS01-1

    ECS01-2

    コマンドを再度実行すると、応答サーバーが ECS02 に変わります。

    ECS02-1

    ECS02-2

HTTP ヘッダーに基づくリクエストのリダイレクト

次のセクションでは、Accept-Language ヘッダーの値が zh-CN,zh である HTTP リクエストを HTTPS にリダイレクトする方法を示します。

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

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

  2. ALB の インスタンス ページで、対象インスタンスの ID をクリックします。

  3. リスナー タブで、[リスナーの作成] をクリックします。

  4. Server Load Balancer を設定 ページで、次の設定を完了します。

    ここでは、このトピックに関連するパラメーターのみをリストします。その他の HTTPS リスナーのパラメーターについては、デフォルト値を保持するか、実際のニーズに応じて設定してください。

    1. [リスナーの設定] ステップで、リスナープロトコルの選択[HTTPS] に、リスナーポート[443] に設定し、次へ をクリックします。

      添加HTTPS监听

    2. [SSL 証明書の設定] ステップで、作成したサーバー証明書を選択し、TLS セキュリティポリシーを選択します。その後、[次へ] をクリックします。

    3. [サーバーグループの選択] ステップで、作成したサーバーグループを選択し、バックエンドサーバー情報を確認してから、[次へ] をクリックします。

    4. [設定の確認] ステップで、設定情報を確認し、[送信] をクリックします。

ステップ 2:リスナー転送ルールの設定

  1. リスナー タブで、HTTP リスナーを見つけ、操作 列の [転送ルールの表示/変更] をクリックします。

  2. 転送ルール タブで、新しいルールの追加 をクリックします。

  3. 転送ルールの追加 セクションで、次の表に従ってパラメーターを設定し、[OK] をクリックします。

    ここでは、このトピックに関連するパラメーターのみをリストします。その他の転送ルールのパラメーターについては、デフォルト値を保持するか、実際のニーズに応じて設定してください。

    パラメーター

    説明

    転送条件

    [HTTP ヘッダー] を選択します。

    • [キー]:この例では、Accept-Language と入力します。

    • [値]:この例では、zh-CN,zh と入力します。

    転送操作

    [リダイレクト] を選択します。

    • [プロトコル]:この例では、[HTTPS] を選択します。

    • [ドメイン名]:カスタムドメイン名を入力します。

    • [ポート]:作成した HTTPS リスナーのポート番号を入力します。この例では、443 と入力します。

    • ステータスコード: この例では、[302]を選択します。

    基于HTTP标头重定向至HTTPS

ステップ 3:結果の検証

パブリックネットワークにアクセスできる任意の端末をテストクライアントとして使用し、ALB への HTTP リクエストが HTTPS にリダイレクトされるかどうかをテストします。

  1. 端末のコマンドラインインターフェイスを開きます。

  2. curl -v -L -H "Accept-Language: zh-CN,zh" http://<カスタムドメイン名> を実行します。

    次の図に示すように、ステータスコード 302 が受信され、ALB へのリクエストが HTTPS にリダイレクトされ、応答サーバーが ECS01 であることを示します。

    ECS01-1

    ECS01-2

    コマンドを再度実行すると、応答サーバーが ECS02 に変わります。

    ECS02-1

    ECS02-2

リダイレクトのステータスコード

ALB リダイレクトのデフォルトの HTTP ステータスコードは 301 です。必要に応じて、別の HTTP ステータスコードを指定できます。次の表に、ALB がサポートする HTTP ステータスコードを示します:

HTTP ステータスコード

説明

301

恒久的なリダイレクトを示します。リクエストされたリソースは新しい URL に恒久的に移動されます。クライアントからのすべてのリクエストで新しい URL を使用することが推奨されます。

302

一時的なリダイレクトを示します。リクエストされたリソースは一時的に移動されます。クライアントは元の URL を引き続き使用できます。

303

302 に似ており、一時的なリソースの移動を示します。元のリクエストメソッドに関係なく、クライアントはリダイレクトされたリクエストに GET メソッドを使用する必要があります。

307

302 に似ており、一時的なリソースの移動を示しますが、クライアントは元のリクエストメソッドを維持する必要があります (たとえば、POST リクエストはリダイレクト後も POST のままであり、POST から GET へのリダイレクトは許可されません)。

308

301 に似ており、恒久的なリソースの移動を示しますが、クライアントは元のリクエストメソッドを維持する必要があります (たとえば、POST リクエストはリダイレクト後も POST のままであり、POST から GET へのリダイレクトは許可されません)。

HTTP ステータスコードの詳細については、「HTTP/1.1 Standard (RFC 7231)」をご参照ください。

関連ドキュメント

  • ビジネスのセキュリティ要件が高い場合は、次の ALB 機能について詳しく学んでください:

    • データ転送のためのエンドツーエンドの HTTPS 暗号化の設定:ALB はエンドツーエンドの HTTPS 暗号化を提供し、クライアントと ALB 間、および ALB とバックエンドサーバー間の暗号化通信を可能にし、機密性の高いビジネスのセキュリティを強化します。

    • HTTPS リスナーでの相互認証の設定:ALB は HTTPS 相互認証をサポートしています。接続を確立する前に、クライアントとサーバーの両方が互いの ID を検証する必要があります。両者が認証に成功した場合にのみ、安全な通信チャネルが確立され、データ転送が行われます。これにより、承認されたクライアントのみがサービスにアクセスできるようになり、中間者攻撃や不正アクセスなどのセキュリティリスクを効果的に低減します。

  • リスナーの転送条件とアクションの詳細については、「リスナーの転送ルールの管理」をご参照ください。

  • ALB リスナーの転送ルールは、次の特定の要件も満たすことができます:

    • 本番トラフィックのステージング環境へのミラーリング:ALB が提供するトラフィックミラーリング機能を使用して、本番トラフィックをステージング環境のバックエンドサーバーにミラーリングし、テスト目的で使用します。ALB は、ビジネスへの影響を防ぐために、テスト用のバックエンドサーバーから受信した応答を自動的に破棄します。

    • ALB を使用したカナリアリリースの実装:ALB リスナーに条件ベースまたはサーバーグループの重みベースの転送ルールを設定して、リクエストの一部を毎回新しいバージョンのアプリケーションにルーティングします。このプロセス中に、新しいバージョンの安定性を検証します。