の 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 サービスを再起動する必要があります。
ユーザー インターフェイスの手順
- ターゲット ホストを管理するワークロード ドメイン vCenter Server (https://<vcenter-server_fqdn>/ui) にadministrator@vsphere.localとしてログインします。
- 管理対象ESXi ホストの証明書モードを変更します。
- ホストおよびクラスタインベントリで、vCenter Server インスタンスを選択します。
- 設定の構成タブで、詳細設定をクリックし、設定の編集をクリックします。
- 名前フィルタ テキスト ボックスにvpxd.certmgmt.modeと入力します。
- vpxd.certmgmt.modeの値をcustomに変更し、保存をクリックします。
- 変更を適用するには、vCenter Server インスタンスを再起動します。
- vSphere Client メニューから、管理を選択します。
- デプロイセクションで、システム構成を選択します。
- リストから vCenter Server インスタンスを選択し、ノードの再起動をクリックします。
- 「ESXi 証明書モードをカスタム CA モードに変更します。」と再起動の理由を入力し、再起動をクリックします。
- vCenter Server インスタンスが正常に再起動され、vSphere Client にログインできることを確認します。
- vSphere vCenter Host Certificate Management Modeアラームを確認します。
- vSphere Client で、ワークロード ドメインの vCenter Server のvpxd.certmgmt.modeプロパティ値がcustomになっていることを確認します。
PowerShell の手順
- Windows PowerShell を起動します。
- サンプル コードの値を置き換え、PowerShell コンソールでコマンドを実行します。$sddcManagerFqdn = "sfo-vcf01.sfo.rainpole.io" $sddcManagerUser = "administrator@vsphere.local" $sddcManagerPass = "VMw@re1!" $workloadDomain = "sfo-m01" $mode = "custom"
- PowerShell コンソールで次のコマンドを実行して、ESXi 証明書モードをcustomに設定します。Set-EsxiCertificateMode -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -mode $mode
- vCenter Server インスタンスを手動で再起動して、ユーザー インターフェイス アシストによる手順の説明に従って変更を適用します。
- 次のコマンドを入力して、ESXi 証明書モードがcustomに設定されていることを確認します。Get-EsxiCertificateMode -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain
ワークロード ドメイン内の ESXi ホストの証明書署名リクエストの生成
ESXi Shell を使用して、ワークロード ドメイン内の各 ESXi ホストの証明書署名リクエスト (CSR) ファイルを生成します。CSR ファイルをサードパーティの認証局に送信し、ホストの CA 署名付き証明書を受信できます。
サードパーティ認証局の証明書チェーンは、SDDC Manager のトラスト ストアとワークロード ドメインの vCenter Server に存在する必要があります。
ユーザー インターフェイスの手順
- ESXi Shell に、管理者権限を持つユーザーとして、DCUI または SSH クライアントを使用してログインします。
- /etc/vmware/sslディレクトリで、次のコマンドを実行してファイルを作成します。vi ESXi.cfg
- ESXi.cfgファイルに次の内容を追加します。[ req ] days =default_md = sha512 default_bits = 2048 distinguished_name = req_distinguished_name prompt = no [ req_distinguished_name ] commonName =certificate-expiration-period (730)countryName =esxi-fqdnstateOrProvinceName =your-countrylocalityName =your-state0.organizationName =your-localityorganizationalUnitName =your-organizationyour-unit
- 次のコマンドを実行してプライベート キーと CSR ファイルを生成し、サンプル コマンドの値を置き換えます。openssl req -new -nodes -outesxi-fqdn.csr -keyoutesxi-fqdn.key -config ESXi.cfg
- WinSCP などの SCP ユーティリティを使用して、ESXi ホストからファイルとオプションのesxi-hostname.csrをエクスポートします。esxi-hostname.key
- ワークロード ドメインの残りの ESXi ホストでこの手順を繰り返します。
PowerShell の手順
- Windows PowerShell を起動します。
- サンプル コードの値を置き換え、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\"
- 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
- ワークロード ドメインのクラスタごとにこの手順を繰り返します。
次に行うこと
CSR ファイルをサードパーティの認証局に送信して、CA 署名付きホスト証明書を受信します。
認証局が vCenter Server および SDDC Manager によって信頼されていることの確認
信頼された通信の場合、ESXi ホストの証明書に署名した認証局は、ワークロード ドメイン vCenter Server と SDDC Manager の両方でトラスト ストアに含まれている必要があります。
ユーザー インターフェイスの手順
- CA の証明書が SDDC Manager のトラスト ストアにあることを確認します。
- Log in to SDDC Manager athttps://<sddc_manager_fqdn>with a user assigned theAdminrole.
- In the navigation pane, click.
- ワークロード ドメイン画面で、ターゲット管理ドメインをクリックします。
- ワークロード ドメインのサマリ画面で、証明書タブをクリックします。
- vCenter Serverリソース タイプの証明書発行者が CA 署名付きホスト証明書の発行者と同じであることを確認します。
- CA の証明書がワークロード ドメイン vCenter Server のトラスト ストアにあることを確認します。
- vCenter Server (https://<vcenter_server_fqdn>/ui) にadministrator@vsphere.localとしてログインします。
- vSphere Client メニューから、管理を選択します。
- 証明書で、証明書の管理を選択します。
- 右上隅で、ドロップダウン メニューから vCenter Server インスタンスを選択します。
- 信頼できるルート証明書ストアに、ホスト証明書と同じ発行者名を持つ認証局の証明書が含まれていることを確認します。
- サブジェクトとシリアル番号が、署名付きホスト証明書の発行者部分と同じであることを確認します。
PowerShell の手順
- Windows PowerShell を起動します。
- サンプル コードの値を置き換え、PowerShell コンソールでコマンドを実行します。$sddcManagerFqdn = "sfo-vcf01.sfo.rainpole.io" $sddcManagerUser = "administrator@vsphere.local" $sddcManagerPass = "VMw@re1!" $workloadDomain = "sfo-m01" $rootCertificate = "F:\Certificate\rainpoleRoot64.cer" $issuer = "rainpole"
- 次のコマンドを実行して、CA の証明書が信頼されているかどうかを確認します。Confirm-CAInvCenterServer -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -issuer $issuer -signedCertificate $rootCertificate
- コマンドの出力でtrueが返されることを確認します。
ワークロード ドメインの CA 署名付き証明書による ESXi ホスト証明書の置き換え
組織のセキュリティ要件を満たすために、各 ESXi ホスト証明書を認証局から取得した CA 署名付き証明書に置き換えます。
スケジュール設定されたメンテナンス ウィンドウで、ワークロード ドメイン内のホスト証明書の置き換えを実行します。この操作を完了するには、通常の運用モードで割り当てられる時間よりも長い時間がかかります。
ユーザー インターフェイスの手順
- ターゲット ホスト (https://<vcenter-server_fqdn>/ui) を管理するワークロード ドメインの vCenter Server にadministrator@vsphere.localとしてログインします。
- プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性を確認します。
- ホストおよびクラスタインベントリで、ESXi ホストを含むクラスタを選択し、監視タブをクリックします。
- 左側のペインので再テストをクリックし、操作を確認します。
- 概要ペインに赤いアラートが表示されていないことを確認します。
- 左側のペインので、すべての同期タスクが完了していることを確認します。
- ESXi ホストをメンテナンス モードにします。
- ホストおよびクラスタインベントリで、ワークロード ドメイン vCenter Server を展開し、最初のクラスタの最初の ESXi ホストに移動します。
- ESXi ホストを右クリックし、を選択します。
- メンテナンス モードへの切り替えダイアログ ボックスで、vSAN データの移行ドロップダウン メニューから、全データの移行を選択し、OKをクリックします。
- ESXi ロックダウン モードを無効にします。
- ESXi ホストの構成タブをクリックします。
- システムで、セキュリティ プロファイル選択します。
- ロックダウン モードペインで編集をクリックします。
- ロックダウン モードダイアログ ボックスのロックダウン モード画面で、無効を選択します。
- OKをクリックします。
- ESXi ホストを vCenter Server から切断します。
- ホストおよびクラスタインベントリで、ESXi ホストを右クリックし、 の順に選択します。
- 確認ダイアログ ボックスでOKをクリックします。
- 現在の ESXi ホスト証明書をバックアップします。
- ESXi Shell に、管理者権限を持つユーザーとして、DCUI または SSH クライアントを使用してログインします。
- /etc/vmware/sslディレクトリで、次のコマンドを使用して、既存の証明書の名前を変更します。cp rui.crtesxi-hostname-orig.rui.crt cp rui.keyesxi-hostname-orig.rui.key
- たとえば、WinSCP などの SCP ユーティリティを使用して、およびesxi-hostname-orig.rui.crtファイルを ESXi ホストからエクスポートします。esxi-hostname-orig.rui.key
- ESXi ホスト証明書を置き換えます。
- 証明書ファイルを認証局から受信したおよびesxi-hostname.cerファイルを、WinSCP などの SCP ユーティリティを使用してesxi-hostname.key/etc/vmware/sslディレクトリにコピーします。
- ESXi Shell で、/etc/vmware/sslフォルダのとesxi-hostname.cerの両方の名前を、それぞれesxi-hostname.keyrui.crtとrui.keyに変更します。このとき、次のコマンドを実行します。ファイルの置き換えを確認します。mv /etc/vmware/ssl/esxi-hostname.cer rui.crt mv /etc/vmware/ssl/esxi-hostname.key rui.key
- 次のコマンドを実行して、ESXi ホストを再起動します。reboot
- vSphere Client のホストおよびクラスタインベントリで、ESXi ホストを右クリックし、 の順に選択します。
- 再起動後に、ESXi ホスト証明書が正常に置き換えられたことを確認します。
- ESXi ホストの構成タブをクリックします。
- システムで、証明書を選択します。
- 証明書の発行者と有効な日付が CA 署名付き証明書と一致することを確認します。
- ステータスがGoodになっていることを確認します。
- プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性を確認します。
- SDDC Manager への ESXi ホスト接続を確認します。
- Log in to SDDC Manager athttps://<sddc_manager_fqdn>with a user assigned theAdminrole.
- ナビゲーション ペインで、の順に選択します。
- ホストの構成ステータスがActiveになっていることを確認します。
- ワークロード ドメインの NSX Manager インスタンスへの ESXi ホストの接続を確認します。
- https://<nsx_manager_fqdn>の NSX Manager ユーザー インターフェイスで、システムタブをクリックします。
- ナビゲーション ペインで、の順に選択します。
- クラスタタブで、NSX 構成がSuccessで、ESXi ホストのノードのステータスがUpになっていることを確認します。
- vSphere Client で、ESXi ホストのロックダウン モードを再アクティブ化します。
- ESXi ホストのメンテナンス モードを終了します。
- vSphere Client で、ワークロード ドメインの vCenter Server を展開し、ESXi ホストに移動します。
- ESXi ホストを右クリックし、を選択します。
- この手順をクラスタ内の残りの ESXi ホストで繰り返します。
- ワークロード ドメイン内の残りのクラスタ内のホストに対してこの手順を繰り返します。
PowerShell の手順
- PowerShell を起動します。
- サンプル コードの値を置き換え、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"
- プリンシパル ストレージとして vSAN を使用している場合、vSAN の健全性ステータスを確認するには、次のコマンドを実行して出力に赤いアラートが含まれていないことを確認します。Get-vSANHealthSummary -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -cluster $cluster
- ホスト証明書を置き換えるために実行するInstall-VCFCertificateコマンドは、元の ESXi 証明書とプライベート キーをバックアップしません。
- 次のコマンドを実行して、ESXi ホスト証明書を置き換えます。Install-VCFCertificate -esxi -server $sddcManagerFqdn -user $sddcManagerUser -pass $sddcManagerPass -domain $workloadDomain -cluster $cluster -certificateDirectory $certificateDirectory -certificateFileExt $certificateFileExtコマンド出力に、「証明書の置き換えが正常に完了しました」と表示されます。
- プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性ステータスを再度確認します。
- ワークロード ドメイン内の残りのクラスタに対してこの手順を繰り返します。
次に行うこと
ESXi 証明書モードはカスタムに設定されているため、ワークロード ドメインに ESXi ホストを追加する前に、証明書を CA 署名付き証明書に置き換えます。
ワークロード ドメイン内の ESXi ホストの証明書のバックアップからのリストア
ESXi証明書の置き換え中に問題が発生した場合は、置き換え操作の前に作成したバックアップからホストの元の証明書設定をリストアできます。
手順
- ターゲット ホスト (https://<vcenter-server_fqdn>/ui) を管理するワークロード ドメイン vCenter Server にadministrator@vsphere.localとしてログインします。
- ESXi ホストをメンテナンス モードにします。
- ホストおよびクラスタインベントリで、ワークロード ドメイン vCenter Server を展開し、最初のクラスタの最初の ESXi ホストに移動します。
- ESXi ホストを右クリックし、を選択します。
- vSAN クラスタの場合、メンテナンス モードへの切り替えダイアログ ボックスで、vSAN データの移行ドロップダウン メニューから、全データの移行を選択し、OKをクリックします。
- ESXi ロックダウン モードを無効にします。
- ESXi ホストの構成タブをクリックします。
- システムで、セキュリティ プロファイル選択します。
- ロックダウン モードペインで編集をクリックします。
- ロックダウン モードダイアログ ボックスのロックダウン モード画面で、無効を選択します。
- OKをクリックします。
- VMware Host Client ESXi使用してロックダウン モードを無効にします。ホストで証明書の置き換えに失敗したために認証の問題が発生したため、ESXi ホストがワークロード ドメイン vCenter Serverから切断されることがあります。
- ESXi ホスト (https://) に<esxi_host_fqdn>/uirootとしてログインします。
- ナビゲーション ペインで、を選択します。
- ロックダウン モードを選択し、設定の編集をクリックします。
- 無効を選択して変更をクリックします。
- ESXi ホストを vCenter Server から切断します。
- vSphere Client のホストおよびクラスタインベントリで、ESXi ホストを右クリックし、 の順に選択します。
- 確認ダイアログ ボックスでOKをクリックします。
- 元の ESXi ホスト証明書をリストアします。
- WinSCP などの SCP ユーティリティを使用して、元の証明書ファイルおよびesxi-hostname-orig.rui.crtをホスト上のesxi-hostname-orig.rui.key/etc/vmware/sslディレクトリにコピーします。
- ESXi Shell に、管理者権限を持つユーザーとして、DCUI または SSH クライアントを使用してログインします。
- /etc/vmware/sslディレクトリで、次のコマンドを実行して、およびesxi-hostname-orig.rui.crtの名前を、それぞれesxi-hostname-orig.rui.keyrui.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
- 次のコマンドを実行して、ESXi ホストを再起動します。reboot
- vSphere Client のホストおよびクラスタインベントリで、ESXi ホストを右クリックし、 の順に選択します。
- 再起動後に、ESXi ホスト証明書が正常に置き換えられたことを確認します。
- ESXi ホストの構成タブをクリックします。
- システムで、証明書を選択します。
- 証明書の発行者と有効な日付が CA 署名付き証明書と一致することを確認します。
- ステータスがGoodになっていることを確認します。
- プリンシパル ストレージとして vSAN を使用している場合は、vSAN の健全性を確認します。
- ホストおよびクラスタインベントリで、ESXi ホストを含むクラスタを選択し、監視タブをクリックします。
- 左側のペインので再テストをクリックし、操作を確認します。
- 概要ペインに赤いアラートが表示されていないことを確認します。
- 左側のペインので、すべての同期タスクが完了していることを確認します。
- SDDC Manager への ESXi ホスト接続を確認します。
- Log in to SDDC Manager athttps://<sddc_manager_fqdn>with a user assigned theAdminrole.
- ナビゲーション ペインで、の順に選択します。
- ホストの構成ステータスがActiveになっていることを確認します。
- ワークロード ドメインの NSX Manager インスタンスへの ESXi ホストの接続を確認します。
- https://<nsx_manager_fqdn>の NSX Manager ユーザー インターフェイスで、システムタブをクリックします。
- ナビゲーション ペインで、の順に選択します。
- クラスタタブで、NSX 構成がSuccessで、ESXi ホストのノードのステータスがUpになっていることを確認します。
- ESXi ホストのメンテナンス モードを終了します。
- vSphere Client で、ワークロード ドメインの vCenter Server を展開し、ESXi ホストに移動します。
- ESXi ホストを右クリックし、を選択します。