の ESXi 証明書管理

組織に外部認証局 (CA) によって署名された証明書を使用するポリシーがある場合は、VMware Certificate Authority (VMCA) によって署名されたデフォルトの ESXi SSL 証明書を置き換える必要があります。
SDDC Manager は、ESXi ホストの証明書を管理しません。代わりに、vCenter Server の VMCA が、署名付き証明書を備えた新しい ESXi ホストをそれぞれプロビジョニングします(デフォルトでは VMCA はルート認証局)。組織のポリシーに準拠するには、ホストの証明書を手動で置き換えます。
ホスト証明書は、製品ユーザー インターフェイスを使用するか、PowerShell ギャラリーの VMware.CloudFoundation.CertificateManagement モジュール のコマンドレットを呼び出すことによる自動化された方法で(特定のユーザー インターフェイスを使用した手順に対応するコードベースの代替手段で)、段階的に置き換えることができます。
ドキュメントの確認、フィードバックの送信、自動化に関する問題の報告、または
VMware.CloudFoundation.CertificateManagement
モジュールに対する提案を行うには、GitHub の VMware.CloudFoundation.CertificateManagement オープンソース プロジェクトに移動します。

コンテンツの範囲

このセクションで示す ESXi 証明書管理のガイダンスでは、次のシナリオについて説明します。
  • VMCA によって署名された ESXi ホスト証明書を、すでに展開されている SDDC ワークロード ドメインの外部認証局によって署名された証明書に置き換える。
  • 外部認証局によって署名された ESXi ホスト証明書を、すでに展開されている SDDC ワークロード ドメインの外部認証局によって署名された別の証明書に置き換える。

前提条件

ESXi証明書管理に関連付けられている構成を実行するには、システムが次の前提条件を満たしていることを確認します。
カテゴリ
前提条件
環境
インスタンスが健全で、完全に動作していることを確認します。
Infrastructure-as-code
infrastructure-as-code メソッドを使用して ESXi ホスト証明書を管理するには、お使いのシステムが、「GitHub の VMware.CloudFoundation.CertificateManagement オープンソース プロジェクト」のドキュメントに記載されている前提条件を満たしていることを確認します。

ワークロード ドメイン内の ESXi ホストの証明書モードをカスタムに変更する

VMCA が VMCA 証明書を使用して ESXi ホストを自動プロビジョニングしないようにするために、
のワークロード ドメイン内のホストの証明書モードをカスタムに変更します。

前提条件

  • ワークロード ドメインの vCenter Server は、スケジュール設定されたメンテナンス ウィンドウ中である必要があります。プロセスを完了するには、vCenter Server サービスを再起動する必要があります。

ユーザー インターフェイスの手順

  1. ターゲット ホストを管理するワークロード ドメイン vCenter Server (
    https://<vcenter-server_fqdn>/ui
    ) に
    administrator@vsphere.local
    としてログインします。
  2. 管理対象ESXi ホストの証明書モードを変更します。
    • ホストおよびクラスタ
      インベントリで、vCenter Server インスタンスを選択します。
    • 設定
      構成
      タブで、
      詳細設定
      をクリックし、
      設定の編集
      をクリックします。
    • 名前
      フィルタ テキスト ボックスに
      vpxd.certmgmt.mode
      と入力します。
    • vpxd.certmgmt.mode
      の値を
      custom
      に変更し、
      保存
      をクリックします。
  3. 変更を適用するには、vCenter Server インスタンスを再起動します。
    1. vSphere Client メニューから、
      管理
      を選択します。
    2. デプロイ
      セクションで、
      システム構成
      を選択します。
    3. リストから vCenter Server インスタンスを選択し、
      ノードの再起動
      をクリックします。
    4. ESXi 証明書モードをカスタム CA モードに変更します。
      」と再起動の理由を入力し、
      再起動
      をクリックします。
  4. vCenter Server インスタンスが正常に再起動され、vSphere Client にログインできることを確認します。
  5. vSphere vCenter Host Certificate Management Mode
    アラームを確認します。
  6. vSphere Client で、ワークロード ドメインの vCenter Server の
    vpxd.certmgmt.mode
    プロパティ値が
    custom
    になっていることを確認します。

PowerShell の手順

  1. Windows PowerShell を起動します。
  2. サンプル コードの値を置き換え、PowerShell コンソールでコマンドを実行します。
    $sddcManagerFqdn = "sfo-vcf01.sfo.rainpole.io" $sddcManagerUser = "administrator@vsphere.local" $sddcManagerPass = "VMw@re1!" $workloadDomain = "sfo-m01" $mode = "custom"
  3. PowerShell コンソールで次のコマンドを実行して、ESXi 証明書モードを
    custom
    に設定します。
    Set-EsxiCertificateMode -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -mode $mode
  4. vCenter Server インスタンスを手動で再起動して、ユーザー インターフェイス アシストによる手順の説明に従って変更を適用します。
  5. 次のコマンドを入力して、ESXi 証明書モードが
    custom
    に設定されていることを確認します。
    Get-EsxiCertificateMode -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain

ワークロード ドメイン内の ESXi ホストの証明書署名リクエストの生成

ESXi Shell を使用して、ワークロード ドメイン内の各 ESXi ホストの証明書署名リクエスト (CSR) ファイルを生成します。CSR ファイルをサードパーティの認証局に送信し、ホストの CA 署名付き証明書を受信できます。
サードパーティ認証局の証明書チェーンは、SDDC Manager のトラスト ストアとワークロード ドメインの vCenter Server に存在する必要があります。

ユーザー インターフェイスの手順

  1. ESXi Shell に、管理者権限を持つユーザーとして、DCUI または SSH クライアントを使用してログインします。
  2. /etc/vmware/ssl
    ディレクトリで、次のコマンドを実行してファイルを作成します。
    vi ESXi.cfg
  3. ESXi.cfg
    ファイルに次の内容を追加します。
    [ req ] days =
    certificate-expiration-period (730)
    default_md = sha512 default_bits = 2048 distinguished_name = req_distinguished_name prompt = no [ req_distinguished_name ] commonName =
    esxi-fqdn
    countryName =
    your-country
    stateOrProvinceName =
    your-state
    localityName =
    your-locality
    0.organizationName =
    your-organization
    organizationalUnitName =
    your-unit
  4. 次のコマンドを実行してプライベート キーと CSR ファイルを生成し、サンプル コマンドの値を置き換えます。
    openssl req -new -nodes -out
    esxi-fqdn
    .csr -keyout
    esxi-fqdn
    .key -config ESXi.cfg
  5. WinSCP などの SCP ユーティリティを使用して、ESXi ホストから
    esxi-hostname
    .csr
    ファイルとオプションの
    esxi-hostname
    .key
    をエクスポートします。
  6. ワークロード ドメインの残りの ESXi ホストでこの手順を繰り返します。

PowerShell の手順

  1. Windows PowerShell を起動します。
  2. サンプル コードの値を置き換え、PowerShell コンソールでコマンドを実行します。
    $sddcManagerFqdn = "sfo-vcf01.sfo.rainpole.io" $sddcManagerUser = "administrator@vsphere.local" $sddcManagerPass = "VMw@re1!" $workloadDomain = "sfo-m01" $cluster = "sfo-m01-cl01" $country = "US" $locality = "San Francisco" $organization = "Rainpole" $organizationUnit = "IT" $stateOrProvince = "California" $outputDirectory = "F:\CSR\"
  3. PowerShell コンソールで次のコマンドを入力して、構成を実行します。
    Request-VCFCsr -esxi -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -cluster $cluster -Country $country -Locality $locality -Organization $organization -OrganizationUnit $organizationUnit -StateOrProvince $stateOrProvince -outputDirectory $outputDirectory
  4. ワークロード ドメインのクラスタごとにこの手順を繰り返します。

次に行うこと

CSR ファイルをサードパーティの認証局に送信して、CA 署名付きホスト証明書を受信します。

認証局が vCenter Server および SDDC Manager によって信頼されていることの確認

信頼された通信の場合、ESXi ホストの証明書に署名した認証局は、ワークロード ドメイン vCenter Server と SDDC Manager の両方でトラスト ストアに含まれている必要があります。

ユーザー インターフェイスの手順

  1. CA の証明書が SDDC Manager のトラスト ストアにあることを確認します。
    1. Log in to SDDC Manager at
      https://<sddc_manager_fqdn>
      with a user assigned the
      Admin
      role.
    2. In the navigation pane, click
      Inventory
      Workload Domains
      .
    3. ワークロード ドメイン
      画面で、ターゲット管理ドメインをクリックします。
    4. ワークロード ドメインのサマリ画面で、
      証明書
      タブをクリックします。
    5. vCenter Server
      リソース タイプの証明書発行者が CA 署名付きホスト証明書の発行者と同じであることを確認します。
  2. CA の証明書がワークロード ドメイン vCenter Server のトラスト ストアにあることを確認します。
    1. vCenter Server (
      https://<vcenter_server_fqdn>/ui
      ) に
      administrator@vsphere.local
      としてログインします。
    2. vSphere Client メニューから、
      管理
      を選択します。
    3. 証明書
      で、
      証明書の管理
      を選択します。
    4. 右上隅で、ドロップダウン メニューから vCenter Server インスタンスを選択します。
    5. 信頼できるルート証明書
      ストアに、ホスト証明書と同じ発行者名を持つ認証局の証明書が含まれていることを確認します。
    6. サブジェクトとシリアル番号が、署名付きホスト証明書の発行者部分と同じであることを確認します。

PowerShell の手順

  1. Windows PowerShell を起動します。
  2. サンプル コードの値を置き換え、PowerShell コンソールでコマンドを実行します。
    $sddcManagerFqdn = "sfo-vcf01.sfo.rainpole.io" $sddcManagerUser = "administrator@vsphere.local" $sddcManagerPass = "VMw@re1!" $workloadDomain = "sfo-m01" $rootCertificate = "F:\Certificate\rainpoleRoot64.cer" $issuer = "rainpole"
  3. 次のコマンドを実行して、CA の証明書が信頼されているかどうかを確認します。
    Confirm-CAInvCenterServer -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -issuer $issuer -signedCertificate $rootCertificate
  4. コマンドの出力で
    true
    が返されることを確認します。

ワークロード ドメインの CA 署名付き証明書による ESXi ホスト証明書の置き換え

組織のセキュリティ要件を満たすために、各 ESXi ホスト証明書を認証局から取得した CA 署名付き証明書に置き換えます。
スケジュール設定されたメンテナンス ウィンドウで、ワークロード ドメイン内のホスト証明書の置き換えを実行します。この操作を完了するには、通常の運用モードで割り当てられる時間よりも長い時間がかかります。

ユーザー インターフェイスの手順

  1. ターゲット ホスト (
    https://<vcenter-server_fqdn>/ui
    ) を管理するワークロード ドメインの vCenter Server に
    administrator@vsphere.local
    としてログインします。
  2. プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性を確認します。
    1. ホストおよびクラスタ
      インベントリで、ESXi ホストを含むクラスタを選択し、
      監視
      タブをクリックします。
    2. 左側のペインの
      vSAN
      Skyline Health
      再テスト
      をクリックし、操作を確認します。
    3. 概要
      ペインに赤いアラートが表示されていないことを確認します。
    4. 左側のペインの
      vSAN
      オブジェクトの再同期
      で、すべての同期タスクが完了していることを確認します。
  3. ESXi ホストをメンテナンス モードにします。
    1. ホストおよびクラスタ
      インベントリで、ワークロード ドメイン vCenter Server を展開し、最初のクラスタの最初の ESXi ホストに移動します。
    2. ESXi ホストを右クリックし、
      メンテナンス モード
      メンテナンス モードへの切り替え
      を選択します。
    3. メンテナンス モードへの切り替え
      ダイアログ ボックスで、
      vSAN データの移行
      ドロップダウン メニューから、
      全データの移行
      を選択し、
      OK
      をクリックします。
  4. ESXi ロックダウン モードを無効にします。
    1. ESXi ホストの
      構成
      タブをクリックします。
    2. システム
      で、
      セキュリティ プロファイル
      選択します。
    3. ロックダウン モード
      ペインで
      編集
      をクリックします。
    4. ロックダウン モード
      ダイアログ ボックスの
      ロックダウン モード
      画面で、
      無効
      を選択します。
    5. OK
      をクリックします。
  5. ESXi ホストを vCenter Server から切断します。
    1. ホストおよびクラスタ
      インベントリで、ESXi ホストを右クリックし、
      接続
      切断
      の順に選択します。
    2. 確認ダイアログ ボックスで
      OK
      をクリックします。
  6. 現在の ESXi ホスト証明書をバックアップします。
    1. ESXi Shell に、
      管理者
      権限を持つユーザーとして、DCUI または SSH クライアントを使用してログインします。
    2. /etc/vmware/ssl
      ディレクトリで、次のコマンドを使用して、既存の証明書の名前を変更します。
      cp rui.crt
      esxi-hostname
      -orig.rui.crt cp rui.key
      esxi-hostname
      -orig.rui.key
    3. たとえば、WinSCP などの SCP ユーティリティを使用して、
      esxi-hostname
      -orig.rui.crt
      および
      esxi-hostname
      -orig.rui.key
      ファイルを ESXi ホストからエクスポートします。
  7. ESXi ホスト証明書を置き換えます。
    1. 証明書ファイルを認証局から受信した
      esxi-hostname
      .cer
      および
      esxi-hostname
      .key
      ファイルを、WinSCP などの SCP ユーティリティを使用して
      /etc/vmware/ssl
      ディレクトリにコピーします。
    2. ESXi Shell で、
      /etc/vmware/ssl
      フォルダの
      esxi-hostname
      .cer
      esxi-hostname
      .key
      の両方の名前を、それぞれ
      rui.crt
      rui.key
      に変更します。このとき、次のコマンドを実行します。
      ファイルの置き換えを確認します。
      mv /etc/vmware/ssl/
      esxi-hostname
      .cer rui.crt mv /etc/vmware/ssl/
      esxi-hostname
      .key rui.key
    3. 次のコマンドを実行して、ESXi ホストを再起動します。
      reboot
  8. vSphere Client の
    ホストおよびクラスタ
    インベントリで、ESXi ホストを右クリックし、
    接続
    接続
    の順に選択します。
  9. 再起動後に、ESXi ホスト証明書が正常に置き換えられたことを確認します。
    1. ESXi ホストの
      構成
      タブをクリックします。
    2. システム
      で、
      証明書
      を選択します。
    3. 証明書の発行者と有効な日付が CA 署名付き証明書と一致することを確認します。
    4. ステータス
      Good
      になっていることを確認します。
  10. プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性を確認します。
  11. SDDC Manager への ESXi ホスト接続を確認します。
    1. Log in to SDDC Manager at
      https://<sddc_manager_fqdn>
      with a user assigned the
      Admin
      role.
    2. ナビゲーション ペインで、
      インベントリ
      ホスト
      の順に選択します。
    3. ホストの
      構成ステータス
      Active
      になっていることを確認します。
  12. ワークロード ドメインの NSX Manager インスタンスへの ESXi ホストの接続を確認します。
    1. https://<nsx_manager_fqdn>
      の NSX Manager ユーザー インターフェイスで、
      システム
      タブをクリックします。
    2. ナビゲーション ペインで、
      ファブリック
      ホスト
      の順に選択します。
    3. クラスタ
      タブで、
      NSX 構成
      Success
      で、ESXi ホストの
      ノードのステータス
      Up
      になっていることを確認します。
  13. vSphere Client で、ESXi ホストのロックダウン モードを再アクティブ化します。
  14. ESXi ホストのメンテナンス モードを終了します。
    1. vSphere Client で、ワークロード ドメインの vCenter Server を展開し、ESXi ホストに移動します。
    2. ESXi ホストを右クリックし、
      メンテナンス モード
      メンテナンス モードの終了
      を選択します。
  15. この手順をクラスタ内の残りの ESXi ホストで繰り返します。
  16. ワークロード ドメイン内の残りのクラスタ内のホストに対してこの手順を繰り返します。

PowerShell の手順

  1. PowerShell を起動します。
  2. サンプル コードの値を置き換え、PowerShell コンソールでコマンドを実行します。
    $sddcManagerFqdn = "sfo-vcf01.sfo.rainpole.io" $sddcManagerUser = "administrator@vsphere.local" $sddcManagerPass = "VMw@re1!" $workloadDomain = "sfo-m01" $cluster = "sfo-m01-cl01" $certificateDirectory = "F:\Certificate" $certificateFileExt = ".cer"
  3. プリンシパル ストレージとして vSAN を使用している場合、vSAN の健全性ステータスを確認するには、次のコマンドを実行して出力に赤いアラートが含まれていないことを確認します。
    Get-vSANHealthSummary -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -cluster $cluster
  4. ホスト証明書を置き換えるために実行する
    Install-VCFCertificate
    コマンドは、元の ESXi 証明書とプライベート キーをバックアップしません。
  5. 次のコマンドを実行して、ESXi ホスト証明書を置き換えます。
    Install-VCFCertificate -esxi -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -cluster $cluster -certificateDirectory $certificateDirectory -certificateFileExt $certificateFileExt
    コマンド出力に、「
    証明書の置き換えが正常に完了しました
    」と表示されます。
  6. プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性ステータスを再度確認します。
  7. ワークロード ドメイン内の残りのクラスタに対してこの手順を繰り返します。

次に行うこと

ESXi 証明書モードはカスタムに設定されているため、ワークロード ドメインに ESXi ホストを追加する前に、証明書を CA 署名付き証明書に置き換えます。

ワークロード ドメイン内の ESXi ホストの証明書のバックアップからのリストア

ESXi証明書の置き換え中に問題が発生した場合は、置き換え操作の前に作成したバックアップからホストの元の証明書設定をリストアできます。

手順

  1. ターゲット ホスト (
    https://<vcenter-server_fqdn>/ui
    ) を管理するワークロード ドメイン vCenter Server に
    administrator@vsphere.local
    としてログインします。
  2. ESXi ホストをメンテナンス モードにします。
    1. ホストおよびクラスタ
      インベントリで、ワークロード ドメイン vCenter Server を展開し、最初のクラスタの最初の ESXi ホストに移動します。
    2. ESXi ホストを右クリックし、
      メンテナンス モード
      メンテナンス モードへの切り替え
      を選択します。
    3. vSAN クラスタの場合、
      メンテナンス モードへの切り替え
      ダイアログ ボックスで、
      vSAN データの移行
      ドロップダウン メニューから、
      全データの移行
      を選択し、
      OK
      をクリックします。
  3. ESXi ロックダウン モードを無効にします。
    1. ESXi ホストの
      構成
      タブをクリックします。
    2. システム
      で、
      セキュリティ プロファイル
      選択します。
    3. ロックダウン モード
      ペインで
      編集
      をクリックします。
    4. ロックダウン モード
      ダイアログ ボックスの
      ロックダウン モード
      画面で、
      無効
      を選択します。
    5. OK
      をクリックします。
  4. VMware Host Client ESXi使用してロックダウン モードを無効にします。
    ホストで証明書の置き換えに失敗したために認証の問題が発生したため、ESXi ホストがワークロード ドメイン vCenter Serverから切断されることがあります。
    1. ESXi ホスト (
      https://
      <esxi_host_fqdn>
      /ui
      ) に
      root
      としてログインします。
    2. ナビゲーション ペインで、
      管理
      セキュリティとユーザー
      を選択します。
    3. ロックダウン モード
      を選択し、
      設定の編集
      をクリックします。
    4. 無効
      を選択して
      変更
      をクリックします。
  5. ESXi ホストを vCenter Server から切断します。
    1. vSphere Client の
      ホストおよびクラスタ
      インベントリで、ESXi ホストを右クリックし、
      接続
      切断
      の順に選択します。
    2. 確認ダイアログ ボックスで
      OK
      をクリックします。
  6. 元の ESXi ホスト証明書をリストアします。
    1. WinSCP などの SCP ユーティリティを使用して、元の証明書ファイル
      esxi-hostname
      -orig.rui.crt
      および
      esxi-hostname
      -orig.rui.key
      をホスト上の
      /etc/vmware/ssl
      ディレクトリにコピーします。
    2. ESXi Shell に、
      管理者
      権限を持つユーザーとして、DCUI または SSH クライアントを使用してログインします。
    3. /etc/vmware/ssl
      ディレクトリで、次のコマンドを実行して、
      esxi-hostname
      -orig.rui.crt
      および
      esxi-hostname
      -orig.rui.key
      の名前を、それぞれ
      rui.crt
      および
      rui.key
      に変更します。
      mv /etc/vmware/ssl/
      esxi-hostname
      -orig.rui.crt rui.crt mv /etc/vmware/ssl/
      esxi-hostname
      -orig.rui.key rui.key
    4. 次のコマンドを実行して、ESXi ホストを再起動します。
      reboot
  7. vSphere Client の
    ホストおよびクラスタ
    インベントリで、ESXi ホストを右クリックし、
    接続
    接続
    の順に選択します。
  8. 再起動後に、ESXi ホスト証明書が正常に置き換えられたことを確認します。
    1. ESXi ホストの
      構成
      タブをクリックします。
    2. システム
      で、
      証明書
      を選択します。
    3. 証明書の発行者と有効な日付が CA 署名付き証明書と一致することを確認します。
    4. ステータス
      Good
      になっていることを確認します。
  9. プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性を確認します。
    1. ホストおよびクラスタ
      インベントリで、ESXi ホストを含むクラスタを選択し、
      監視
      タブをクリックします。
    2. 左側のペインの
      vSAN
      Skyline Health
      再テスト
      をクリックし、操作を確認します。
    3. 概要
      ペインに赤いアラートが表示されていないことを確認します。
    4. 左側のペインの
      vSAN
      オブジェクトの再同期
      で、すべての同期タスクが完了していることを確認します。
  10. SDDC Manager への ESXi ホスト接続を確認します。
    1. Log in to SDDC Manager at
      https://<sddc_manager_fqdn>
      with a user assigned the
      Admin
      role.
    2. ナビゲーション ペインで、
      インベントリ
      ホスト
      の順に選択します。
    3. ホストの
      構成ステータス
      Active
      になっていることを確認します。
  11. ワークロード ドメインの NSX Manager インスタンスへの ESXi ホストの接続を確認します。
    1. https://<nsx_manager_fqdn>
      の NSX Manager ユーザー インターフェイスで、
      システム
      タブをクリックします。
    2. ナビゲーション ペインで、
      ファブリック
      ホスト
      の順に選択します。
    3. クラスタ
      タブで、
      NSX 構成
      Success
      で、ESXi ホストの
      ノードのステータス
      Up
      になっていることを確認します。
  12. ESXi ホストのメンテナンス モードを終了します。
    1. vSphere Client で、ワークロード ドメインの vCenter Server を展開し、ESXi ホストに移動します。
    2. ESXi ホストを右クリックし、
      メンテナンス モード
      メンテナンス モードの終了
      を選択します。