vSphere 8.0 以降では、サードパーティの認証局 (CA) または独自の内部 CA によって署名されたカスタム証明書を使用して、ESXi ホストをプロビジョニングするように Auto Deploy サーバを設定できます。デフォルトでは、Auto Deploy サーバは VMware Certificate Authority (VMCA) が署名した証明書を使用して ESXi ホストをプロビジョニングします。
vSphere 8.0 より前のバージョンでは、Auto Deploy で証明書を管理するためのオプションは次のとおりです。
- vCenter Server と組み込みの VMware Certificate Authority(デフォルト)を使用する。
- Auto Deploy をサードパーティ CA の従属 CA にする。この場合、Auto Deploy SSL キーが証明書に署名します。
vSphere 8.0 以降では、サードパーティ CA または独自の内部 CA によって署名されたカスタム証明書を Auto Deploy にアップロードできます。Auto Deploy は、カスタム証明書を ESXi ホストの MAC アドレスまたは BIOS UUID に関連付けます。Auto Deploy ホストが起動するたびに、Auto Deploy はカスタム証明書を確認します。Auto Deploy がカスタム証明書を見つけると、VMCA を介して証明書を生成するのではなく、その証明書を使用します。
このタスクの手順の概要は次のとおりです。
- サードパーティ CA または独自の内部 CA のカスタム証明書要求を生成する。
- 署名付きカスタム証明書(キーと証明書)を取得し、ローカルに保存する。
- サードパーティの CA を使用していて、以前に実施したことがない場合は、CA のルート証明書が vCenter Server の TRUSTED_ROOTS ストアにアップロードされていることを確認する。
- Auto Deploy にカスタム証明書をアップロードし、証明書を ESXi ホストの MAC アドレスまたは BIOS UUID に関連付ける。
- ESXi ホストを起動する。
カスタム証明書を ESXi ホストに割り当てると、Auto Deploy は、Auto Deploy からの次回の起動時に証明書をホストにプッシュします。
カスタム証明書と Auto Deploy を使用する場合は、次の考慮事項に注意してください。
- Auto Deploy で使用されるカスタム証明書を管理するには、PowerCLI の Add-CustomCertificate、Remove-CustomCertificate、および List-CustomCertificate コマンドレットを使用する必要があります。カスタム証明書を管理する機能は、vSphere Client では使用できません。
- Auto Deploy に使用するカスタム証明書を更新するには、再度 Add-CustomCertificate コマンドレットを実行する必要があります。
- カスタム証明書で潜在的なエラーを確認してください。Auto Deploy は、カスタム証明書が X.509 証明書標準に準拠していること、および証明書の有効期限のしきい値が 240 日以上に設定されていることのみを検証します。Auto Deploy は、その他の証明書の検証や確認を行いません。証明書のしきい値を変更するには、Set-DeployOption -Key certificate-refresh-threshold コマンドレットを実行します。
- 後で、ESXi ホストから Remove-CustomCertificate コマンドレットを使用してカスタム証明書を削除する場合は、変更を有効にするためにホストを再起動する必要があります。
カスタム証明書と Auto Deploy の詳細については、『ESXi のインストールとセットアップ』ドキュメントを参照してください。
前提条件
次のものがあることを確認します。
- 認証局に証明書を要求します。証明書は以下の要件を満たす必要があります。
- キー サイズ:2,048 ビット(最小)から 8,192 ビット(最大)(PEM エンコード)
- PEM 形式。VMware では、PKCS8 および PKCS1(RSA キー)がサポートされます。VECS に追加されたキーは、PKCS8 に変換されます。
- x509 バージョン 3
- CRT 形式
- CA の拡張が true に設定されています
- 証明書署名のキーの使用
- 現在時刻の 1 日前の開始時刻
注: vSphere の FIPS 証明書は、サイズが 2048 および 3072 の RSA キーのみを検証します。
FIPS を使用する場合の考慮事項を参照してください。
- ESXi ホストの MAC アドレスまたは BIOS UUID。環境に最適なアプローチを評価します。BIOS UUID は、MAC アドレスよりも安定しており、変更の影響は少なくなります。ESXi ホストのネットワーク アダプタを変更すると、MAC アドレスは変更されます。ただし、MAC アドレスの方が BIOS UUID よりも使いやすく、操作しやすい場合があります。
- PowerCLI バージョンが 12.6.0 以降です。Auto Deploy PowerCLI コマンドレットの詳細については、『ESXi のインストールとセットアップ』ドキュメントの「Auto Deploy PowerCLI cmdlet の概要」トピックを参照してください。
次の権限があることを確認します。
- カスタム証明書の追加:
- カスタム証明書情報の取得:
手順
- 証明書要求を生成します。
- 前述の証明書要求の要件を使用して、構成 (.cfg) ファイルを作成します。
- CSR ファイルとキー ファイルを生成するには、openssl req コマンドを実行し、構成 (.cfg) ファイルに渡します。
例:
openssl req -new -config custom_cert.cfg -days 4200 -sha256 -keyout rui.key -out rui.csr
コマンドの説明:
-new
は新しい証明書要求を生成します。
-config custom_cert.cfg
はカスタム .cfg ファイルを指定します。
-days 4200
は、証明書を 4,200 日間保証するように指定します。
-sha256
は、要求に署名するメッセージ ダイジェストを指定します。
-keyout rui.key
は、新しく作成されたプライベート キーを書き込むファイルを指定します。
-out rui.csr
は、書き込む出力ファイルを指定します。
- 証明書要求をサードパーティの CA に送信するか、独自の証明書に署名している場合は、openssl x509 -req コマンドを実行して、rui.csr ファイルからカスタム証明書を生成します。
例:
openssl x509 -req -in rui.csr -CA "/etc/vmware-rbd/ssl/rbd-ca.crt" -CAkey \
"/etc/vmware-rbd/ssl/rbd-ca.key" -extfile \
openssl.cfg -extensions x509 -CAserial "/etc/vmware-rbd/ssl/rbd-ca.srl" -days \
4200 -sha256 -out signed_rui.crt
コマンドの説明:
-in rui.csr
は入力ファイルを指定します。
-CA "/etc/vmware-rbd/ssl/rbd-ca.crt"
は、サーバ証明書の検証に使用するディレクトリを指定します。
-CAkey "/etc/vmware-rbd/ssl/rbd-ca.key"
は、証明書に署名するための CA プライベート キーを設定します。
-extfile openssl.cfg
は、証明書の拡張を読み取るための追加のオプション構成ファイルを指定します。
-extensions x509
は、x509 証明書拡張を使用することを指定します。
-CAserial "/etc/vmware-rbd/ssl/rbd-ca.srl"
は、証明書に署名するために rbd-ca.srl のシリアル番号を使用します。
-days 4200
は、証明書を 4,200 日間保証するように指定します。
-sha256
は、要求に署名するメッセージ ダイジェストを指定します。
-out signed_rui.crt
は、書き込む出力ファイルを指定します。
- (オプション) 以前に署名認証局の証明書を VMware Endpoint Certificate Store (VECS) 内の TRUSTED_ROOTS ストアにアップロードしていない場合は、Auto Deploy サービスが実行されている vCenter Server で次の手順を実行します。
- WinSCP などのツールを使用して、証明書を vCenter Server にコピーします。
- SSH を使用して vCenter Server にログインし、次のコマンドを実行します。
/usr/lib/vmware-vmafd/bin/dir-cli trustedcert publish --cert path_to_ca_certificate
- ESXi のホスト MAC アドレスまたは BIOS UUID を取得します。
- 次の手順を実行して、Auto Deploy にカスタム証明書を追加します。
- vCenter Server に接続するには、Connect-VIServer コマンドレットを実行します。
Connect-VIServer -server VC_ip_address -User administrator_user -Password 'password'
- (オプション) 既存のカスタム証明書を表示するには、Get-CustomCertificates コマンドレットを実行します。
カスタム証明書を初めて追加するとき、このコマンドレットによって返されて表示される証明書はありません。
- カスタム証明書を ESXi ホストに関連付けるには、Add-CustomCertificate コマンドレットを実行します。
Add-CustomCertificate -HostID [MAC_Address | BIOS_UUID] -Certificate "path_to_custom_cert" -Key "path_to_custom_cert_key"
ホストの MAC アドレスまたは BIOS UUID を指定できます。Auto Deploy はカスタム証明書をホストにアップロードします。
- 証明書がアップロードされたことを確認するには、Get-CustomCertificates コマンドレットを実行します。
次のような出力が表示されます。
Name: CustomHostCert-1
CertificateId: 1
HostId: 02:08:b0:8e:18:a2
ExpirationTime: 1 2/28/2033 10:45:50 AM
TimeCreated: 9/29/2022 7:40:28 AM
LastModified: 9/29/2022 7:40:28 AM
AssociatedHostName:
現時点では、
AssociatedHostName
は空白です。ホストを起動すると、出力にはカスタム証明書に関連付けられた
ESXi ホストの名前が反映されます。
- ESXi ホストを起動します。
- カスタム証明書が vCenter Server に関連付けられていることを確認するには、再度
Get-CustomCertificates
コマンドレットを実行します。
次のような出力が表示されます。
Name: CustomHostCert-1
CertificateId: 1
HostId: 02:08:b0:8e:18:a2
ExpirationTime: 1 2/28/2033 10:45:50 AM
TimeCreated: 9/29/2022 7:40:28 AM
LastModified: 9/29/2022 7:40:28 AM
AssociatedHostName: host1.example.com
これで、
AssociatedHostName
には、
ESXi のホスト名が含まれるようになります。