ワークロードバランシングの証明書

最終公開日 : Oct 07, 2026
XenServer® と Workload Balancing は HTTPS を介して通信します。Workload Balancing の構成中に、ウィザードは 自己署名テスト証明書を自動的に作成します。この自己署名テスト証明書により、Workload Balancing は XenServer との TLS 接続を確立できます。デフォルトでは、Workload Balancing は XenServer とのこの TLS 接続を 自動的に作成します。Workload Balancing がこの TLS 接続を作成するために、設定中または設定後に 証明書の設定を行う必要はありません。
注:
自己署名証明書は、HTTPS 通信を容易にするためのプレースホルダーであり、信頼された認証局からのものではありません。 セキュリティ強化のため、信頼された認証局によって署名された証明書を使用することをお勧めします。
商用認証局によって署名されたものなど、別の認証局からの証明書を使用するには、 Workload Balancing と XenServer を設定してそれを使用する必要があります。
デフォルトでは、XenServer は Workload Balancing への接続を確立する前に、証明書の ID を検証します。 特定の証明書をチェックするように XenServer を設定するには、証明書の署名に使用されたルート証明書をエクスポートします。 証明書を XenServer にコピーし、Workload Balancing への接続が確立されたときに XenServer がそれをチェックするように設定します。 このシナリオでは、XenServer はクライアントとして機能し、Workload Balancing はサーバーとして機能します。
セキュリティ目標に応じて、次のいずれかを行うことができます。
  • 自己署名証明書を検証するように XenServer を設定する(/ja-jp/xenserver/8/wlb/certificates.html#configure-xenserver-to-verify-the-self-signed-certificate)。
  • 認証局証明書を検証するように XenServer を設定する(/ja-jp/xenserver/8/wlb/certificates.html#configure-xenserver-to-verify-a-certificate-authority-certificate)。
XenServer は、ワークロードバランシング仮想アプライアンスが TLS 経由で接続することを許可する前に、特定の証明書が存在することを確認します。この場合、実際の証明書(秘密鍵を持つ証明書)はワークロードバランシングサーバー上にあります。それを署名するために使用された証明書は XenServer プールコーディネーター上にあります。](/en-us/xenserver/8/media/wlb-certificates.png)
注:
証明書の検証は、不要な接続を防ぐために設計されたセキュリティ対策です。Workload Balancing の 証明書は厳格な要件を満たす必要があります。そうでない場合、証明書の検証は成功しません。証明書の 検証が失敗した場合、XenServer は接続を許可しません。
証明書の検証を成功させるには、XenServer が証明書を見つけることを期待する特定の場所に 証明書を保存する必要があります。

自動証明書インポート

XenCenter® 2025.1 以降および Workload Balancing 8.4.0 以降では、Workload Balancing への接続を最初に設定するときに、 XenCenter が Workload Balancing 証明書を自動的にインポートします。
XenCenter を実行している Windows システムが Workload Balancing 仮想アプライアンスにアクセスできない場合(たとえば、 Workload Balancing と XenServer 間の通信に使用されるポートが無効になっている場合)、証明書の自動インポートは利用できず、 代わりに Workload Balancing 証明書をプールに手動でインストールする必要があります。

自己署名証明書を検証するように XenServer を構成する

XenServer は、Workload Balancing が接続を許可される前に、 XenServer Workload Balancing の自己署名証明書が本物であることを検証するように構成できます。
重要:
XenServer Workload Balancing の自己署名証明書を検証するには、Workload Balancing のホスト名を使用して接続する必要があります。 Workload Balancing のホスト名を見つけるには、仮想アプライアンスで hostname コマンドを実行します。
自己署名証明書を検証するように XenServer を構成するには、次の手順を実行します。
  1. 自己署名証明書を Workload Balancing 仮想アプライアンスからプールコーディネーターにコピーします。 XenServer Workload Balancing の自己署名証明書は /etc/ssl/certs/server.pem に保存されています。 プールコーディネーターで次のコマンドを実行します。
    scp root@<wlb-ip>:/etc/ssl/certs/server.pem wlb.pem
  2. wlb-ip の信頼性を確立できないというメッセージが表示された場合は、yes と入力して続行します。
  3. プロンプトが表示されたら、Workload Balancing 仮想アプライアンスのルートパスワードを入力します。 証明書は現在のディレクトリにコピーされます。
  4. 証明書をインストールします。証明書をコピーしたディレクトリで次のコマンドを実行します。
    xe pool-certificate-install filename=wlb.pem
  5. プールコーディネーターで次のコマンドを実行して、証明書が正しくインストールされたことを確認します。
    xe pool-certificate-list
    証明書が正しくインストールされている場合、このコマンドの出力にはエクスポートされたルート証明書が含まれます。 このコマンドを実行すると、インストールした証明書を含む、インストールされているすべての TLS 証明書が一覧表示されます。
  6. コーディネーターからプール内のすべてのホストに証明書を同期するには、 プールコーディネーターで次のコマンドを実行します。
    xe pool-certificate-sync
    コーディネーターで pool-certificate-sync コマンドを実行すると、証明書と証明書失効リストが すべてのプールホストでコーディネーターと同期されます。このアクションにより、 プール内のすべてのホストが同じ証明書を使用するようになります。
    このコマンドからは出力がありません。ただし、このコマンドが正常に動作しなかった場合、次の手順は機能しません。
  7. XenServerに、Workload Balancing仮想アプライアンスに接続する前に証明書を検証するよう指示します。次のコマンドを プールコーディネーターで実行します。
    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    ヒント:
    Tabキーを押すと、プールのUUIDが自動的に入力されます。
  8. (オプション) この手順が正常に機能したことを確認するには、次の手順を実行します。
    1. 証明書がプール内の他のホストに同期されたかどうかをテストするには、それらのホストでpool-certificate-list コマンドを実行します。
    2. XenServerが証明書を検証するように設定されているかどうかをテストするには、param-name=wlb-verify-certパラメーターを指定してpool-param-getコマンドを 実行します。例:
      xe pool-param-get param-name=wlb-verify-cert uuid=uuid_of_pool

XenServerが認証局証明書を検証するように構成する

信頼された認証局によって署名された証明書をXenServerが検証するように構成できます。
信頼された認証局証明書の場合、XenServerは、公開鍵を含む.pem形式のエクスポートされた証明書または証明書チェーン(中間 およびルート証明書)を必要とします。
Workload Balancingで信頼された認証局証明書を使用する場合は、次のタスクを実行します。
これらのタスクを開始する前に、以下を確認してください。
  • XenServerプールコーディネーターのIPアドレスを把握していること。
  • XenServerはWorkload Balancingのホスト名を解決できます。(たとえば、プールコーディネーターのXenServerコンソールからWorkload Balancingの FQDNにpingを試すことができます。)

認証局から署名付き証明書を取得する

認証局から証明書を取得するには、証明書署名要求(CSR)を生成する必要があります。On the Workload Balancing仮想アプライアンスで、秘密鍵を作成し、その秘密鍵を使用してCSRを生成します。

コモンネームの指定に関するガイドライン

CSRの作成時に指定するコモンネーム(CN)は、Workload Balancing仮想 アプライアンスのFQDNと完全に一致する必要があります。また、Connect to WLB ServerダイアログボックスのAddressボックスで指定したFQDNまたはIPアドレスとも一致する必要があります。
名前が一致することを確認するには、以下のいずれかのガイドラインを使用してコモンネームを指定します。
  • 証明書のコモンネームには、Connect to WLB Serverダイアログで指定した情報と 同じ情報を指定します。
    たとえば、Workload Balancing仮想アプライアンスの名前がwlb-vpx.yourdomainの場合、 Connect to WLB Serverダイアログでwlb-vpx.yourdomainを指定し、コモンネームとしてwlb-vpx.yourdomainを CSRの作成時に指定します。
  • プールをIPアドレスでWorkload Balancingに接続した場合、コモンネームとしてFQDNを使用し、IPアドレスを サブジェクト代替名(SAN)として使用します。ただし、このアプローチはすべての状況で機能するとは限りません。

秘密鍵ファイルを作成する

Workload Balancing仮想アプライアンスで、以下の手順を実行します。
  1. 秘密鍵ファイルを作成します。
    openssl genrsa -des3 -out privatekey.pem 2048
  2. パスワードを削除します。
    openssl rsa -in privatekey.pem -out privatekey.nop.pem
注:
パスワードを誤って入力したり、一貫性のない入力をしたりすると、ユーザーインターフェースエラーを示すメッセージが表示されることがあります。 そのメッセージは無視して、コマンドを再実行して秘密鍵ファイルを作成できます。

証明書署名要求を生成する

Workload Balancing仮想アプライアンスで、次の手順を実行します。
  1. 秘密鍵を使用して証明書署名要求 (CSR) を作成します。
    openssl req -new -key privatekey.nop.pem -out csr
  2. プロンプトに従って、CSRの生成に必要な情報を提供します。
    国名。お住まいの国のTLS証明書国コードを入力します。たとえば、カナダの場合はCA、ジャマイカの場合は JMです。TLS証明書国コードのリストはWebで確認できます。
    都道府県名(正式名称)。プールが配置されている都道府県を入力します。たとえば、 マサチューセッツ州またはアルバータ州です。
    市区町村名。プールが配置されている都市の名前です。
    組織名。会社または組織の名前です。
    組織単位名。部署名を入力します。このフィールドはオプションです。
    コモンネーム。Workload BalancingサーバーのFQDNを入力します。この値は、プールがWorkload Balancingに接続するために使用する名前と 一致している必要があります。詳細については、 コモンネーム指定のガイドラインを参照してください。
    メールアドレス。このメールアドレスは、証明書を生成する際に証明書に含まれます。
  3. オプションの属性を指定するか、Enterキーを押してこの情報の提供をスキップします。
    CSR要求は現在のディレクトリに保存され、csrという名前が付けられます。
  4. Workload Balancingアプライアンスコンソールで次のコマンドを実行して、コンソールウィンドウにCSRを表示します。
    cat csr
  5. CSR全体をコピーし、それを使用して認証局に証明書を要求します。

新しい証明書を指定して適用する

Workload Balancing が認証局からの証明書を使用するように指定するには、この手順を使用します。この手順では、 ルート証明書と(利用可能な場合は)中間証明書をインストールします。
新しい証明書を指定するには、次の手順を実行します。
  1. 署名済み証明書、ルート証明書、および認証局が中間証明書を持っている場合は、その中間 証明書を認証局からダウンロードします。
  2. 証明書をWorkload Balancing仮想アプライアンスに直接ダウンロードしなかった場合は、次のいずれかの方法を使用して コピーします。
    • Windowsコンピューターから、WinSCPまたは別のコピーユーティリティを使用します。
      ホスト名にはIPアドレスを入力し、ポートはデフォルトのままにすることができます。ユーザー名とパスワードは 通常rootであり、設定時に設定したパスワードです。
    • LinuxコンピューターからWorkload Balancingアプライアンスへは、SCPまたは別のコピーユーティリティを使用します。例:
      scp root_ca.pem root@wlb-ip:/path_on_your_WLB
  3. Workload Balancing仮想アプライアンスで、すべての証明書(ルート証明書、中間証明書(存在する場合)、および 署名済み証明書)の内容を1つのファイルにマージします。次のコマンドを使用できます。
    cat signed_cert.pem intermediate_ca.pem root_ca.pem > server.pem
  4. moveコマンドを使用して、既存の証明書とキーの名前を変更します。
    mv /etc/ssl/certs/server.pem /etc/ssl/certs/server.pem_orig
    mv /etc/ssl/certs/server.key /etc/ssl/certs/server.key_orig
  5. マージされた証明書をコピーします。
    mv server.pem /etc/ssl/certs/server.pem
  6. 以前に作成した秘密鍵をコピーします。
    mv privatekey.nop.pem /etc/ssl/certs/server.key
  7. 秘密鍵をrootのみが読み取り可能にします。chmod コマンドを使用して権限を修正します。
    chmod 600 /etc/ssl/certs/server.key
  8. stunnel を再起動します。
    pkill -9 stunnel
    stunnel

証明書チェーンをプールにインポートする

証明書を取得したら、XenServerプールコーディネーターにインポートします。プール内のホストを同期して、 それらの証明書を使用するようにします。その後、Workload Balancingがホストに接続するたびに、XenServerが証明書のIDと有効性を確認するように 構成できます。
  1. 署名済み証明書、ルート証明書、および証明機関が中間証明書を持っている場合は、その中間 証明書を証明機関からXenServerプールコーディネーターにコピーします。
  2. ルート証明書をプールコーディネーターにインストールします。
    xe pool-install-ca-certificate filename=root_ca.pem
  3. 該当する場合は、中間証明書をプールコーディネーターにインストールします。
    xe pool-install-ca-certificate filename=intermediate_ca.pem
  4. プールコーディネーターでこのコマンドを実行して、両方の証明書が正しくインストールされていることを確認します。
    xe pool-certificate-list
    このコマンドを実行すると、インストールされているすべてのTLS証明書が一覧表示されます。証明書が正常にインストールされていれば、 このリストに表示されます。
  5. プールコーディネーター上の証明書をプール内のすべてのホストに同期します。
    xe pool-certificate-sync
    コーディネーターでpool-certificate-syncコマンドを実行すると、証明書と証明書 失効リストがすべてのプールホスト上でプールコーディネーターと同期されます。このアクションにより、プール内のすべてのホストが 同じ証明書を使用するようになります。
  6. Workload Balancing仮想アプライアンスに接続する前に証明書を検証するようにXenServerに指示します。 プールコーディネーターで次のコマンドを実行します。
    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    ヒント:
    Tabキーを押すと、プールのUUIDが自動的に入力されます。
  7. 証明書検証を有効にする前にWLBサーバーに接続ダイアログでIPアドレスを指定した場合、 プールをWorkload Balancingに再接続するよう求められることがあります。
    WLBサーバーに接続ダイアログのアドレスに、Workload BalancingアプライアンスのFQDNを、 証明書のコモンネームに表示されているとおりに正確に指定します。XenServerが接続に使用する名前とコモンネームが一致するように、 FQDNを入力します。

トラブルシューティング

  • 証明書検証はプールでデフォルトで有効になっています。プールがWorkload Balancingに接続できない場合は、 証明書検証を無効にしてください。
    1. プール UUID を取得します。
      xe pool-list
    2. 証明書の検証を無効にします。
      xe pool-param-set wlb-verify-cert=false uuid=uuid_of_pool
    証明書の検証をオフにした状態でプールが Workload Balancing に接続できる場合、問題は 証明書の設定にあります。接続できない場合、問題は Workload Balancing の資格情報または ネットワーク接続のいずれかにあります。詳細については、サポートに問い合わせるか、 Workload Balancing のトラブルシューティング を参照してください。
  • 一部の商用認証局は、証明書が正しくインストールされていることを確認するためのツールを提供しています。Consider これらの手順で問題の特定に役立たない場合は、これらのツールを実行することを検討してください。これらのツールで TLS ポートの指定が必要な場合は、ポート 8012、または Workload Balancing の設定中に設定したポートを指定してください。
  • WLB タブに接続エラーが表示される場合、証明書のコモンネームと Workload Balancing 仮想アプライアンスの名前との間に競合がある可能性があります。Workload Balancing 仮想アプライアンスの名前とコモンネーム の証明書は完全に一致している必要があります。
詳細については、(/ja-jp/xenserver/8/wlb/troubleshoot.html) を参照してください。

自己署名証明書を再生成する

Workload Balancing 仮想アプライアンスの IP アドレスが変更され、証明書の値と一致しなくなった場合、 Workload Balancing はコンソールに警告メッセージを表示します。
この警告に対処するには、次の手順を実行します。
  1. Workload Balancing 仮想アプライアンスにログインします。
  2. 次のコマンドを実行して証明書を再生成します: wlb_update_cert.sh
  3. Workload Balancing 仮想アプライアンスに再接続します。