このトピックでは、Application Load Balancer (ALB) インスタンスのHTTPSリスナーを有効にして、異なるドメイン名宛てのHTTPSリクエストを異なるバックエンドサーバーに転送する方法について説明します。
サンプルシナリオ
このトピックでは、Classic Load Balancer (CLB) インスタンスのHTTPSリスナーに複数の証明書を設定して、転送ルールに基づいてHTTPSリクエストを異なるバックエンドサーバーに転送する方法について説明します。
このチュートリアルで使用される設定は以下のとおりです。
リスナーのデフォルト証明書は、ドメイン名
aliyundoc.com
に関連付けられています。 デフォルトのバックエンドサーバーグループはRS1です。リスナーの追加の証明書example1は、ドメイン名
www.example.com
に関連付けられています。https://www.example.com
向けのリクエストは、バックエンドサーバグループRS1に転送される。リスナーの追加の証明書example2は、ドメイン名
www.example.org
に関連付けられています。https://www.example.org
向けのリクエストは、バックエンドサーバRS2に転送される。
前提条件
CLBインスタンスが作成されます。 詳細については、「SLB インスタンスの作成」をご参照ください。
RS1という名前のvServerグループとRS2という名前の別のvServerグループが作成されます。 詳細については、「VServer グループの作成」をご参照ください。
ECS01はRS1に加えられ、ECS02はRS2に加えられる。 アプリケーションはECS01およびECS02にデプロイされます。
ドメイン名が登録され、ドメイン名のためにインターネットコンテンツプロバイダ (ICP) 番号が取得される。 詳細については、「Alibaba Cloudへのドメイン名の登録」および「概要」をご参照ください。
必要な証明書がデプロイされます。 証明書をサードパーティのサービスプロバイダーから購入した場合は、証明書管理サービスにアップロードする必要があります。 さらに、証明書がドメイン名に関連付けられていることを確認してください。 証明書の申請方法の詳細については、「証明書の申請」をご参照ください。 この例では、次の証明書が使用されます。
ドメイン名
aliyundoc.com
に関連付けられているデフォルトの証明書。ドメイン名
www.example.com
に関連付けられている追加の証明書example1。ドメイン名
www.example.org
に関連付けられている追加の証明書example2。
説明CLBインスタンスに証明書をデプロイします。 それ以外の場合、証明書は有効になりません。 詳細については、「証明書の作成」をご参照ください。
ステップ1: HTTPSリスナーの作成
にログインします。CLBコンソール.
上部のナビゲーションバーで、CLBインスタンスが作成されたリージョンを選択します。
インスタンス管理 ページで、管理するCLBインスタンスを見つけ、[操作] 列の [リスナーの設定] をクリックします。
プロトコルとリスナー ステップで、パラメーターを設定し、[次へ] をクリックします。
次のセクションでは、いくつかのパラメータについて説明します。 ビジネス要件に基づいて他のパラメーターを設定します。
[リスナープロトコルの選択]: この例ではHTTPSが選択されています。
リスナーポート: この例では、ポート443が選択されています。
[証明書管理サービス] ステップで、アップロードした証明書を選択し、[次へ] をクリックします。 この例では、デフォルトの証明書が選択されています。
バックエンド サーバー ステップで、VServer Group を選択し、サーバーグループ ドロップダウンリストからRS1を選択します。
他のパラメーターのデフォルト値を維持し、[次へ] をクリックします。 確認ステップで、[送信] をクリックします。
ステップ2: 証明書の追加
インスタンス管理 ページで、管理するCLBインスタンスのIDをクリックします。
リスナー タブで、管理するHTTPSリスナーを見つけ、[操作] 列の
を選択します。[追加の証明書の管理] パネルで、[追加の証明書の追加] をクリックして証明書を追加します。
[追加の証明書] を
www.example.com
に設定し、[サーバー証明書] ドロップダウンリストからwww.example.com
に関連付けられている証明書を選択し、[OK] をクリックします。[追加の証明書] を
www.example.org
に設定し、[サーバー証明書] ドロップダウンリストからwww.example.org
に関連付けられている証明書を選択し、[OK] をクリックします。
説明証明書のドメイン名は、追加の証明書のドメイン名と同じである必要があります。
ステップ3: 転送ルールの追加
インスタンス管理 ページで、管理するCLBインスタンスのIDをクリックします。
リスナー タブで、管理するリスナーを見つけ、[操作] 列の 転送ルールの設定 をクリックします。
ルール パネルで、転送ルールを作成するパラメーターを設定します。
この例では、ドメイン名ベースの転送ルールが作成されます。 URLベースの転送ルールは作成されません。
[ドメイン名] を [
www.example.com
] に設定し、vServerグループを選択して、さらに追加 をクリックします。[ドメイン名] を [
www.example.org
] に設定し、vServerグループを選択して、さらに追加 をクリックします。
転送ルールを作成したら、ルール パネルを閉じます。
ステップ4: ドメイン名解決の設定
各www.example.com
にAレコードを追加し、CLBインスタンスのパブリックIPアドレスにマップするようにwww.example.org
します。
CLB コンソールにログインします。
上部のナビゲーションバーで、CLBインスタンスがデプロイされているリージョンを選択します。
管理するCLBを見つけ、IPアドレスをコピーします。
Aレコードを追加するには、次の手順を実行します。
Alibaba Cloud DNS コンソールにログオンします。
[ドメイン名の解決] ページで、ドメイン追加 をクリックします。
ドメイン追加 ダイアログボックスで、ホストのドメイン名を入力し、[OK] をクリックします。
重要Aレコードを作成する前に、TXTレコードを使用してドメイン名の所有権を確認する必要があります。
管理するドメイン名を見つけて、[操作] 列の [設定] をクリックします。
[DNS 設定] ページで、[レコードの追加] をクリックします。
[DNSレコードの追加] パネルで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
データ型
ドロップダウンリストからAを選択します。
ホスト
ドメイン名のプレフィックスを入力します。
DNSリクエストソース
[デフォルト] を選択します。
レコード値
CLBインスタンスのIPアドレスを入力します。
TTL
DNSサーバーにキャッシュされるCNAMEレコードの有効期限 (TTL) 値を選択します。 この例では、デフォルト値が使用されます。
ステップ5: 結果を確認する
ブラウザからwww.example.com
とwww.example.org
にアクセスして、ALBにアクセスできるかどうかをテストします。 この例では、静的Webページは、RS1およびRS2のバックエンドサーバーのそれぞれに作成されます。
ブラウザを使用して、追加の証明書example1に関連付けられているドメイン名
www.example.com
にアクセスします。 リクエストは、転送ルールに基づいてRS1のECS01に転送されます。 次の図は、テスト結果を示しています。追加証明書example2に関連付けられているドメイン名
www.example.org
にブラウザからアクセスします。 リクエストは、転送ルールに基づいてRS2のECS02に転送されます。 次の図は、テスト結果を示しています。
ドメイン名にアクセスできない場合は、ブラウザを再起動してキャッシュをクリアし、再試行してください。
関連ドキュメント
同じドメイン名の異なるURL宛てのリクエストを異なるバックエンドサーバーグループに転送する方法の詳細については、「同じドメイン名で異なるURL宛てのリクエストを転送する」をご参照ください。
ドメイン名ベースの転送ルールとURLベースの転送ルールの詳細については、「ドメイン名またはURLに基づくリクエストの転送」をご参照ください。