このトピックでは、Global Accelerator (GA) インスタンスを使用して、複数の証明書を設定することにより、HTTPSを介して複数のドメイン名を高速化する方法について説明します。
シナリオ
このトピックの例は、次のシナリオに基づいています。 ある企業は、本社のために米国 (シリコンバレー) リージョンに2つのサーバーを展開しました。 異なるドメイン名を使用してインターネットに接続するサービスを提供するwebアプリケーションは、両方のサーバーにデプロイされます。 会社のほとんどの従業員は、中国 (香港) リージョンからwebアプリケーションにアクセスする必要があります。 同社は次の課題に直面しています。
インターネットを介して確立されるネットワーク接続は不安定です。 ネットワーク遅延、ネットワークジッタ、およびパケット損失などのネットワーク問題が頻繁に発生する可能性があります。
複数のサーバーは、2つのドメイン名を通じてインターネット接続サービスを提供します。 会社は両方のドメイン名に対してコンテンツ配信の高速化を設定する必要があり、コストが増加します。
この問題を解決するには、GAをデプロイし、HTTPSリスナーを設定します。 HTTPSリスナーは、複数のHTTPSドメイン名へのアクセスを高速化できる次の機能をサポートしています。
HTTPSリスナーを複数の証明書と複数のドメイン名に関連付けることができます。
ドメイン名ベースの転送ルールをサポートします。これは、リクエストをドメイン名と照合し、照合結果に基づいてリクエストをバックエンドサーバーに転送するために使用されます。
リクエスト暗号化をサポートし、データ伝送のセキュリティを向上させます。
次の表に、企業のwebサーバーと、企業がGAを使用してwebアプリケーションを高速化した後にHTTPSリスナーによって使用される転送ルールを示します。
設定アイテム | ドメイン名1 ( | ドメイン名2 ( |
リスナープロトコル | HTTPS | |
リスナーポート | 443 | |
証明書 | デフォルト証明書 (証明書A) | 追加証明書 (証明書B) |
転送ルール | デフォルトの転送ルール | カスタム転送ルール |
エンドポイントグループ | デフォルトのエンドポイントグループ | 仮想エンドポイントグループ |
サーバー | サーバー1 | サーバー2 |
サービスプロトコル | HTTP | HTTPS |
サービスポート | 80 | 443 |
サーバーパブリックIPアドレス | 47.XX.XX.62 | 47.XX.XX.34 |
証明書は、クライアントからGAに送信されるデータを暗号化するために使用されます。 バックエンドサーバーにインストールされている証明書を使用して、GAからバックエンドサーバーに送信されるデータを暗号化できます。 GAインスタンスの証明書は、バックエンドサーバーの証明書と同じにすることができます。
前提条件
SSL証明書が購入され、SSL証明書を申請するための申請書が提出されます。 詳細については、「SSL証明書の購入」および「証明書申請書の送信」をご参照ください。
証明書がバックエンドサーバーにアップロードされます。 詳細については、「クラウドアシスタントを使用したECSインスタンスへのアップロード」をご参照ください。
ポート80を使用するHTTPサービスはサーバー1にデプロイされ、ポート443を使用するHTTPSサービスはサーバー2にNGNIXを使用してデプロイされます。
バックエンドドメイン名1 (
xxx test.cloud
) およびバックエンドドメイン名2 (xxx test.fun
) をバックエンドサーバーのパブリックIPアドレスにマッピングするAレコードが作成されます。
この例では、NGINXを使用してバックエンドサービスをデプロイし、Alibaba Cloud DNSを使用してDNSレコードを設定します。
NGINXのデプロイ方法の詳細については、「手順2: NGINXのインストール」をご参照ください。
DNSレコードの設定方法については、「DNSレコードの追加」をご参照ください。 サードパーティDNSサービスを使用する場合は、サービスプロバイダーが提供するユーザーガイドを参照してください。
手順
このトピックでは、従量課金の標準Global Acceleratorインスタンスを使用して、HTTPS経由で複数のドメイン名を高速化するようにGlobal Acceleratorを設定する方法を示します。 従量課金制の標準Global Acceleratorインスタンスを作成する前に、次の情報に注意してください。
従量課金Global Acceleratorインスタンスは、データ転送課金方式を使用します。 基本帯域幅プランを従量課金 GA インスタンスに関連付ける必要はありません。 Global Acceleratorネットワークを介したデータ転送の課金は、Cloud Data Transfer (CDT) によって管理されます。 詳細については、「データ転送量課金」をご参照ください。
従量課金制のGlobal Acceleratorインスタンスを初めて使用するときは、 従量課金GAアクティベーションページをクリックし、プロンプトに従ってGlobal Acceleratorをアクティブにします。
手順1: インスタンスに関する基本情報の設定
GAコンソールにログインします。
インスタンス ページで、[GAインスタンスの作成] をクリックします。 ビジネス要件に基づいて、[従量課金標準インスタンス] または [サブスクリプション標準インスタンス] を選択します。
この例では、従量課金標準インスタンスが選択されています。
[基本インスタンス設定] ステップで、次のパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
GAインスタンス名
GAインスタンスの名前を入力します。
インスタンスの課金方法
デフォルトでは、従量課金が選択されています。
従量課金の標準Global Acceleratorインスタンスのインスタンス料金、容量単位 (CU) 料金、およびデータ転送料金が課金されます。
インスタンス料金とCU料金の詳細については、「従量課金GAインスタンスの課金」をご参照ください。
データ転送料金の詳細については、「データ転送課金」をご参照ください。
リソースグループ
標準のGlobal Acceleratorインスタンスが属するリソースグループを選択します。
リソースグループは、現在のAlibaba Cloudアカウントでリソース管理に作成する必要があります。 詳細については、「リソースグループの作成」をご参照ください。
ステップ2: アクセラレーションエリアの設定
アクセラレーションリージョンを指定し、各アクセラレーションリージョンに帯域幅を割り当てます。Global Accelerator
[アクセラレーションエリアの設定] ステップで、パラメーターを設定し、[次へ] をクリックします。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
アクセラレーションエリア | ドロップダウンリストから1つ以上のリージョンを選択し、[追加] をクリックします。 この例では、アジア太平洋セクションの中国 (香港) リージョンが選択されています。 |
帯域幅の割り当て | |
最大帯域幅 | アクセラレーションリージョンの最大帯域幅を指定します。 各アクセラレーションリージョンは、2〜10,000 Mbit/sの帯域幅範囲をサポートします。 最大帯域幅は帯域幅スロットリングに使用されます。 データ転送料金はCDTによって管理されます。 この例では、デフォルト値200 Mbit/sが使用されます。 重要 最大帯域幅に小さな値を指定すると、スロットリングが発生し、パケットがドロップされる可能性があります。 ビジネス要件に基づいて最大帯域幅を指定します。 |
IP プロトコル | Global Acceleratorへの接続に使用するIPバージョンを選択します。 この例では、デフォルト値IPv4が選択されています。 |
ISP 回線タイプ | Global AcceleratorインスタンスのISP回線タイプを選択します。 この例では、BGP (Multi-ISP) が選択されています。 |
手順3: リスナーの設定
リスナーは接続要求をリッスンし、指定したポートとプロトコルに基づいてエンドポイントに要求を配信します。 各リスナーはエンドポイントグループに関連付けられています。 ネットワークトラフィックを分散するリージョンを指定することで、エンドポイントグループをリスナーに関連付けることができます。 エンドポイントグループをリスナーに関連付けると、ネットワークトラフィックはエンドポイントグループ内の最適なエンドポイントに分散されます。
リスナーの設定 ステップで、次のパラメーターを設定し、[次へ] をクリックします。
パラメーター | 説明 |
リスナー名 | リスナーの名前を入力します。 |
ルーティングタイプ | ルートタイプを選択します。 この例では、[インテリジェントルーティング] が選択されています。 |
プロトコル | リスナーのプロトコルを選択します。 この例では、HTTPSが選択されています。 |
ポート | リスナーがリクエストを受信してエンドポイントに転送するポートを指定します。 有効な値: 1 ~ 65499 この例では、値は443に設定されています。 |
サーバー証明書 | 取得したサーバー証明書を選択します。 この例では、証明書Aが選択されている。 |
TLSセキュリティポリシー | サービスに必要なTLSセキュリティポリシーを選択します。 TLSセキュリティポリシーには、HTTPSで使用できるTLSプロトコルバージョンと暗号スイートが含まれています。 TLSセキュリティポリシーの詳細については、「TLSセキュリティポリシー」をご参照ください。 この例では、デフォルトのポリシーtls_cipher_policy_1_0が使用されています。 |
クライアントのアフィニティ | クライアントアフィニティを有効にするかどうかを指定します。 クライアントアフィニティが有効になっている場合、クライアントがステートフルアプリケーションに接続するときに、同じクライアントからのリクエストが同じエンドポイントに転送されます。 この例では、[ソースIP] が選択されています。 |
カスタムHTTPヘッダー | 追加するHTTPヘッダーを選択します。 この例では、デフォルト設定を使用します。 |
手順4: エンドポイントグループとエンドポイントの設定
エンドポイントグループの設定 ステップで、エンドポイントグループを設定し、エンドポイントグループにエンドポイントを追加し、[次へ] をクリックします。
このトピックでは、主要なパラメーターのみについて説明します。 詳細については、「インテリジェントルーティングリスナーのエンドポイントグループの追加と管理」をご参照ください。
パラメーター
説明
リージョン
エンドポイントグループがデプロイされているリージョンを選択します。
この例では、US (シリコンバレー) が選択されています。
エンドポイント設定
エンドポイントは、クライアント要求の宛先である。 エンドポイントを追加するには、次のパラメーターを設定します。
バックエンドサービスタイプ: Alibaba CloudパブリックIPアドレスを選択します。
バックエンドサービス: 高速化するバックエンドサービスのIPアドレスを入力します。 この例では、サーバー1のパブリックIPアドレスである47.XX. XX.62が入力されます。
重み: エンドポイントの重みを入力します。 有効な値:0~255 。 Global Acceleratorは、エンドポイントの重みに基づいてネットワークトラフィックをエンドポイントにルーティングします。 この例では、デフォルト値255が使用されます。
警告エンドポイントの重みを0に設定すると、Global Acceleratorはエンドポイントへのネットワークトラフィックの配信を停止します。 作業は慎重に行ってください。
クライアント IP の保持
デフォルトでは、HTTPSリスナーのクライアントIPアドレス保存が有効になっています。 この機能により、バックエンドサーバー上のクライアントIPアドレスを表示できます。 HTTPリスナーは、X-Forwarded-For HTTPヘッダーからクライアントIPアドレスを取得できます。 詳細については、「クライアントIPアドレスの保存」をご参照ください。
バックエンドサービスプロトコル
バックエンドサーバーが使用するプロトコルを選択します。
この例では、デフォルト値HTTPが使用されます。
ポートマッピング
リスナーポートがエンドポイントがサービスを提供するポートと同じでない場合は、このパラメーターを設定する必要があります。
リスナーポート現在のリスナーのポートを入力します。 この例では、値は443に設定されています。
エンドポイントポートエンドポイントがサービスを提供するポートを入力します。 この例では、80が使用されます。
トラフィック配分率
エンドポイントグループのトラフィック分散率を指定します。
有効値: 0~100。
この例では、デフォルト値100が使用されます。
ヘルスチェック
ヘルスチェック機能を有効にするか無効にするかを指定します。
この機能を有効にすると、ヘルスチェックを使用してエンドポイントのステータスを確認できます。 ヘルスチェック機能の詳細については、「ヘルスチェックの有効化と管理」をご参照ください。
この例では、ヘルスチェック機能は無効です。
[設定の確認] ステップで、設定を確認し、[送信] をクリックします。
説明Global Acceleratorインスタンスの作成には3〜5分かかります。
(オプション) GAインスタンスを作成した後、[インスタンス] ページでインスタンスIDをクリックして、インスタンスの設定を表示できます。 インスタンスの詳細ページで、インスタンス情報 、リスナー 、アクセラレーションエリア などのタブをクリックして、詳細を表示できます。
仮想エンドポイントグループを設定します。
インスタンスの詳細ページで、リスナー タブをクリックします。
[リスナー] タブで、管理するリスナーを見つけ、デフォルトのエンドポイントグループ 列のエンドポイントグループIDをクリックします。
[エンドポイントグループ] タブで、仮想エンドポイントグループ セクションの 仮想エンドポイントグループの追加 をクリックします。
エンドポイントグループの追加 ページで、次の情報に基づいてパラメーターを設定し、[作成] をクリックします。
仮想エンドポイントグループの設定は、次のパラメーターを除いて、手順4-1で作成したデフォルトのエンドポイントグループの設定と同じです。
バックエンドサービスタイプ: Alibaba CloudパブリックIPアドレスを選択します。
バックエンドサービス: サーバー2のパブリックIPアドレスである47.XX. XX.34を入力します。
バックエンドサービスプロトコル: [HTTPS] を選択します。
ポートマッピング: ポートマッピングを追加する必要はありません。
リスナーポートが、エンドポイントがサービスを提供するポートと同じ場合、ポートマッピングを追加する必要はありません。 Global Acceleratorは、クライアント要求をエンドポイントのリスナーポートに自動的に転送します。
ステップ5: 追加の証明書を関連付ける
追加の証明書をリスナーに関連付けることで、複数のドメイン名をHTTPSリスナーに関連付けることができます。 追加の証明書と転送ルールに基づいて、GAは異なるドメイン名宛てのリクエストを異なる仮想エンドポイントグループに配信できます。
次の操作を実行して、証明書BをHTTPSリスナーに関連付け、ドメイン名2 (xxx test.fun
) をHTTPSリスナーに関連付けます。
[リスナー] タブで、追加のSSL証明書を関連付けるHTTPSリスナーを見つけ、リスナーIDをクリックします。
リスナーの詳細ページで、証明書タブをクリックします。
証明書タブで、追加の証明書セクションの証明書の関連付けをクリックします。
[証明書の関連付け] ダイアログボックスで、追加の証明書を設定し、[OK] をクリックします。
証明書: 関連付ける証明書を選択します。 この例では、証明書Bが使用される。
関連するドメイン名: Global Acceleratorを使用して高速化するドメイン名を1つ以上選択します。 証明書は、選択したドメイン名に関連付けられます。 この例では、ドメイン名2である
xxx test.fun
が選択されています。
ステップ6: 転送ルールの追加
HTTPSリスナーがリクエストを受信すると、転送ルールの条件を満たすリクエストを関連するエンドポイントグループに転送します。 リクエストがカスタム転送ルールと一致しない場合、HTTPSリスナーはデフォルト転送ルールのデフォルトエンドポイントグループにリクエストを転送します。
次の操作を実行して、Server 2に関連付けられている仮想エンドポイントグループにカスタム転送ルールを追加できます。 これにより、xxx test.fun
宛てのリクエストをサーバー2に転送できます。
[リスナー] タブで、追加のSSL証明書を関連付けるHTTPSリスナーを見つけ、リスナーIDをクリックします。
リスナーの詳細ページで、転送ルール タブをクリックします。
転送ルール タブで、転送ルールの追加 をクリックします。
転送ルールの追加 セクションで、パラメーターを設定し、[OK] をクリックします。 次の表にパラメーターを示します。OK
パラメーター
説明
名前
転送ルールの名前を入力します。
If (すべての条件に一致)
転送ルールの一致条件を選択します。
この例では、ホストが選択され、xxxtest.funドメイン名が入力されます。
次に
転送アクションを選択します。
この例では、[転送] が選択され、[手順4: エンドポイントグループとエンドポイントの設定] で作成した仮想エンドポイントグループが選択されています。
ステップ7: CNAMEレコードの設定
ドメイン名1およびドメイン名2宛てのリクエストをGAに転送する前に、xxx test.cloud
およびxxx test.fun
をGAインスタンスのCNAMEレコードにマッピングする必要があります。
Alibaba Cloud DNSコンソールにログインします。
ドメイン名がAlibaba Cloudドメインを使用して登録されていない場合は、ドメイン名をAlibaba Cloud DNSに追加する必要があります。
説明ドメイン名がAlibaba Cloudドメインを使用して登録されていない場合、DNSレコードを設定する前にドメイン名をAlibaba Cloud DNSに追加する必要があります。 詳細については、「ドメイン名の管理」トピックの「ドメイン名の追加」セクションをご参照ください。 ドメイン名がAlibaba Cloudドメインを使用して登録されている場合は、この手順をスキップします。
[ドメイン名の解決] ページで、ドメイン名1 (
xxx test.cloud
) を見つけ、[操作] 列の [DNS設定] をクリックします。[DNS設定] ページでAレコードを見つけ、[操作] 列の [変更] をクリックします。
[DNSレコードの変更] パネルで、[レコードタイプ] を [CNAME] に設定し、[レコード値] を Global Accelerator インスタンスに割り当てられたCNAMEに設定し、[OK] をクリックします。
Global Acceleratorインスタンスに割り当てられているCNAMEは、[インスタンス] ページで表示できます。
ドメイン名2のAレコード (
xxx test.fun
) を変更し、ドメイン名のCNAMEレコードを追加します。
クライアントが存在するリージョンに基づいて解決結果を返す場合は、Alibaba Cloud DNSがEnterprise Standard EditionまたはEnterprise Ultimate Editionにアップグレードされていることを確認してください。 詳細は、「更新とアップグレード」をご参照ください。
アップグレードが完了したら、既存のAレコードのデフォルトのISP行を特定のリージョンのISP行に変更し、Webサイトのドメイン名をGlobal Acceleratorインスタンスに割り当てられたCNAMEにマップするCNAMEレコードを追加できます。
ステップ8: 接続をテストする
両方のドメイン名を使用して、米国 (シリコンバレー) リージョンにデプロイされているwebアプリケーションへの接続をテストします。 次に、ドメイン名へのアクセスが高速化されているかどうかを確認します。
この例では、Alibaba Cloud Linux 3オペレーティングシステムが使用されています。 接続のテストに使用されるコマンドは、使用するオペレーティングシステムによって異なります。 詳細については、オペレーティングシステムのユーザーガイドを参照してください。
テスト結果は、実際のワークロードによって変わります。 Global Accelerator
ネットワーク接続のテストTest the network connectivity
中国 (香港) リージョンのオンプレミスマシンでCLIを開きます。
次のコマンドを実行して、ドメイン名1 (
xxx test.cloud
) とドメイン名2 (xxx test.fun
) をpingし、CNAMEレコードが有効かどうかを確認します。ping <Website domain name>
出力のCNAMEがGAによって割り当てられたCNAMEと同じ場合、CNAMEレコードが有効になります。
ドメイン名1 (
xxx test.cloud
) およびドメイン名2 (www) に対して次のコマンドを実行します。 ネットワーク接続をテストするxxx test.cloud
:curl -v https://<The domain name> --resolve <The domain name>:<The listener port>:<The accelerated IP address>
この例では、ドメイン名1 (
xxx test.cloud
) のテスト結果が使用されます。 応答にサーバー証明書情報とHTTPS応答情報が含まれている場合、ドメイン名にアクセスできます。
加速パフォーマンスのテスト
アクセラレーションのパフォーマンスを確認する方法の詳細については、「即時検出を実行してGAのアクセラレーションのパフォーマンスをテストする」をご参照ください。