追加証明書とドメインベースの転送ルールを使用し、単一の ALB リスナーを介して、複数のドメイン名への HTTPS リクエストを異なるバックエンドサーバーにルーティングします。
シナリオ例
ALB は、受信した HTTPS リクエストのドメイン名と適切な証明書を照合し、HTTPS 認証を完了した後、転送ルールに基づいてリクエストを正しいバックエンドサーバーにルーティングします。
このトピックでは、次の設定を例として使用します。
-
リスナーのデフォルト証明書
defaultは、ドメイン名aliyundoc.comに関連付けられています。デフォルトサーバーグループは RS1 です。 -
追加証明書
example1は、ドメイン名www.example.comに関連付けられています。https://www.example.comへのリクエストは、サーバーグループ RS1 にルーティングされます。 -
もう 1 つの追加証明書
example2は、ドメイン名www.example.orgに関連付けられています。https://www.example.orgへのリクエストは、サーバーグループ RS2 にルーティングされます。
前提条件
-
Application Load Balancer (ALB) インスタンスを作成済みであること。詳細については、「ALB インスタンスの作成と管理」をご参照ください。
-
2 つのサーバーグループ RS1 と RS2 を作成済みであること。詳細については、「サーバーグループの作成と管理」をご参照ください。
-
サーバーグループにバックエンドサーバーを追加済みであること:RS1 に ECS インスタンス ECS01 を、RS2 に ECS インスタンス ECS02 を追加し、両方の ECS インスタンスにアプリケーションをデプロイ済みであること。
-
ドメイン名を登録し、ICP 备案を取得済みであること。詳細については、「Alibaba Cloud でのドメイン名の登録」および「ICP 备案プロセス」をご参照ください。
-
Certificate Management Service で必要な証明書を購入またはアップロードし、それぞれのドメイン名に関連付けていること。証明書の作成方法の詳細については、「商用証明書を使用してウェブサイトの HTTPS を有効にする」をご参照ください。このトピックでは、次の証明書が必要です。
-
ドメイン名
aliyundoc.comに関連付けられたdefaultという名前のデフォルト証明書。 -
ドメイン名
www.example.comに関連付けられたexample1という名前の追加証明書。 -
ドメイン名
www.example.orgに関連付けられたexample2という名前の追加証明書。
-
手順1:HTTPSリスナーの追加
-
Application Load Balancer コンソールにログインします。
-
上部メニューで、ALB インスタンスがデプロイされているリージョンを選択します。
-
左側のナビゲーションペインで、インスタンス を選択します。
-
インスタンス ページで、目的のインスタンスを見つけ、操作 列の リスナーの作成 をクリックします。
-
リスナーの設定 ページで、次のパラメーターを設定し、その他のパラメーターはデフォルト値のままにして、次へ をクリックします。
パラメーター
説明
[リスナープロトコルの選択]
[HTTPS] を選択します。
[リスナーポート]
ポートを 443 に設定します。
-
SSL 証明書の設定 ページで、次のパラメーターを設定します。その他のパラメーターはデフォルト値のままにして、次へ をクリックします。
パラメーター
説明
[サーバー証明書]
準備したデフォルト証明書
defaultを選択します。 -
サーバーグループの選択 ページで、次のパラメーターを設定し、その他のパラメーターはデフォルト値のままにして、次へ をクリックします。
パラメーター
説明
[サーバーグループ]
作成したサーバーグループ RS1 を選択します。
-
設定の確認 ページで、設定内容を確認し、送信 をクリックします。
手順2:追加証明書の追加
-
インスタンス ページで、目的のインスタンスを探し、その ID をクリックします。
-
リスナー タブをクリックします。 HTTPS リスナーを見つけ、操作 列の 証明書の管理 をクリックします。
-
証明書 タブをクリックし、次に EV 証明書の追加 をクリックします。
-
新たな証明書の追加 ダイアログボックスで、証明書
example1を選択し、OK をクリックします。この手順を繰り返して、追加証明書example2を追加します。
手順3:転送ルールの設定
-
インスタンス ページで、目的のインスタンスを見つけ、その ID をクリックします。
-
リスナー タブをクリックします。HTTPS リスナーを見つけ、操作 列の 転送ルールの表示 / 変更 をクリックします。
-
転送ルール タブで、新しいルールの追加 をクリックします。
-
以下の 2 つの転送ルールを設定し、OK をクリックします。
-
ドメイン名 が
www.example.comの場合、RS1 に 転送 します。[ウェイト] を 100 に設定します。 -
ドメイン名 が
www.example.orgの場合、 RS2 に 転送 します。[ウェイト] を 100 に設定します。
-
手順4:名前解決の設定
www.example.com と www.example.org の CNAME レコードを追加して、ALB インスタンスのパブリック DNS 名を指すようにします。
-
Application Load Balancer コンソールにログインします。
-
上部メニューで、リージョンを選択します。
-
ターゲットの ALB インスタンスを見つけ、その ドメイン名 をコピーします。
-
以下の手順に従って、CNAME レコードを追加します。
説明ドメイン名が Alibaba Cloud に登録されていない場合は、DNS 設定を行う前に、まず Alibaba Cloud DNS コンソールにドメイン名を追加する必要があります。詳細については、「ドメイン管理」をご参照ください。ドメイン名が Alibaba Cloud に登録されている場合は、次の手順に進みます。
-
Alibaba Cloud DNS コンソールにログインします。
-
インターネットの権威ある DNS 解決 ページで、目的のドメイン名を見つけ、Actions 列の 解決設定 をクリックします。
-
解決設定 ページで、Add Record をクリックします。
-
Add Record パネルで、CNAME レコードの次のパラメーターを設定し、OK をクリックします。
パラメーター
説明
[Record Type]
ドロップダウンリストから [CNAME] を選択します。
[Hostname]
ドメイン名のプレフィックス (例:
www)。[Query Source]
デフォルト値のままにします。
[Record Value]
ドメイン名の CNAME アドレスを入力します。これは、コピーしたALB インスタンスの DNS 名です。
[TTL]
DNS レコードが DNS サーバーにキャッシュされる期間。デフォルト値のままにします。
説明-
新しい CNAME レコードはすぐに有効になります。変更された CNAME レコードの伝播時間は、ローカル DNS サーバーにキャッシュされたレコードの TTL に依存します。デフォルトの TTL は 10 分です。
-
レコードを追加する際に競合が発生した場合は、別のホスト名を使用してください。詳細については、「DNS レコードの競合ルール」をご参照ください。
-
-
手順5:設定の確認
設定完了後、ブラウザで https://www.example.com と https://www.example.org を入力し、転送ルールが正しく機能することを確認します。この例では、各バックエンドサーバーにシンプルな静的ウェブページがデプロイされていることを前提としています。
-
ブラウザで
https://www.example.comを入力します。リクエストはサーバーグループ RS1 の ECS01 にルーティングされます。ページにはHello World ! This is ECS01.と表示されます。 -
ブラウザで
https://www.example.orgを入力します。リクエストはサーバーグループ RS2 の ECS02 にルーティングされます。ページにはHello World ! This is ECS02.と表示されます。
テストが失敗した場合は、ブラウザキャッシュをクリアして再度テストしてみてください。
関連ドキュメント
転送ルールの詳細については、「ドメインベースおよびパスベースの転送ルールの設定」をご参照ください。