SCVMM サーバーおよび SCVMM 管理対象サーバーの自己署名証明書の更新手順

Last Update: feedback 共有

皆さんこんにちは、System Center サポートチームの 保科と申します。

今回は、System Center Virtual Machine Manager (SCVMM) で使用する自己署名証明書の有効期限が切れた場合や、削除をされた場合の対処方法についてご案内いたします。

[本ページが対象とする SCVMM バージョン]

SCVMM 2016
SCVMM 2019
SCVMM 2022

[概要]

SCVMM では、SCVMM サーバー機能をインストールしたサーバーや、SCVMM にて管理対象となる Hyper-V サーバーに SCVMM エージェントがインストールされた際、同時に自己署名証明書も当該サーバーにインストールされます。
これは、SCVMM サーバーと管理対象 Hyper-V サーバーの間の通信の安全性を確保するためにインストールされます。
そのため、この自己署名証明書は、SCVMM サーバーが管理対象 Hyper-V サーバーと通信を行う際に必須となる証明書となります。

この自己署名証明書は、フレンドリ名が “SCVMM_CERTIFICATE_KEY_CONTAINER***” となっており、発行者はそのホスト自身になっています。
(*** の部分は SCVMM サーバーもしくは Hyper-V サーバーの完全修飾ドメイン名となります。)
この証明書の期限は SCVMM サーバーや、Hyper-V サーバーを SCVMM の管理対象に設定した年の 1/1 から 5 年間に設定されます。
例えば 2015/10/26 に Hyper-V ホストを SCVMM の管理対象に設定した場合、設定される証明書の有効期限は 2020/1/1 になります。
これは 2015 年中であればいつ Hyper-Vホストを管理対象に追加された場合でも同様の結果となります。

上記の通りこの証明書の期限は 5 年間 (SCVMM のバージョンによっては 10 年間)となっています。
このため、5 年間 (10 年間) が経過するとこの証明書は無効になります。
なお、この証明書の有効期限が超過する 1 ヶ月前になりますと、SCVMM サーバー上で以下の警告メッセージが出力されるようになります。

警告 (20583)
コンピューター <対象サーバーの完全修飾ドメイン名> の自己署名証明書は既に有効期限切れか、1 か月以内に有効期限切れになります。

推奨される操作
VMM から <対象サーバーの完全修飾ドメイン名> を削除してから追加して、新しい証明書を取得してください。

また何かのトラブルシュートの際などに誤ってこの証明書を削除してしまったりすることも考えられます。
その場合、SCVMM サーバーと Hyper-V サーバーの間の通信に問題が発生し、Hyper-V サーバーの管理作業などが正しく動作しなくなります。

このような場合、SCVMM サーバーもしくは Hyper-V サーバーにインストールされている SCVMM エージェントを再インストールすることで対処することもできますが、証明書を再発行することでも対処することができます。
この際の手順は以下の [対処手順 ①] に従って自己署名証明書の再インストールを実施します。
また、SCVMM サーバー限定かつ特定の SCVMM バージョン限定の手順とはなりますが、[対処手順 ②] に従った自己署名証明書の更新も実施いただけます。

注意事項

高可用性構成で SCVMM サーバーを構築いただいている場合、SCVMM サーバーに対する [対処手順 ①] の手順は実施いただけません。
高可用性構成の SCVMM サーバーに対しては、[対処手順 ②] の手順による更新が必須となります。
ご利用の SCVMM バージョンが、証明書を更新するコマンドを使用できるバージョンではない場合、SCVMM サーバーに対する Update Rollup の適用が必須となります。
もし証明書の有効期限切れ間近で、ご利用の SCVMM サーバーのバージョンが指定されたバージョンより小さい場合、SCVMM サーバーの更新もご検討いただく必要がございます。
あらかじめご了承ください。
SCVMM の高可用性構成については、以下の弊社公開情報をご参照ください。
高可用性用の VMM を展開する | Microsoft Learn

[対処手順 ①]

  1. 自己署名証明書を更新いただくサーバーに管理者権限でログインします。
  2. Windows + R を入力して、[ファイル名を指定して実行] を起動します。
  3. mmc と入力して [OK] をクリックします。
  4. 表示されたウインドウで、メニュー バーから [ファイル] - [スナップインの追加と削除] を選択します。
  5. “利用できるスナップイン” から “証明書” を選択し、[追加] をクリックします。
  6. [証明書スナップイン] ウインドウが表示されたら、”コンピューター アカウント” をチェックし、[次へ] をクリックします。
  7. [コンピューターの選択] ウインドウでは、既定値のまま [完了] をクリックします。
  8. [OK] をクリックして、[スナップインの追加と削除] ウインドウを閉じます。
  9. 左側のツリーから、[証明書 (ローカル コンピューター)] -> [個人] -> [証明書] を開きます。
  10. 中央ペインに表示されている証明書のうち、”フレンドリ名” 列に “SCVMM_CERTIFICATE_KEY_CONTAINER***” と表示されてる証明書を選択して削除します。
    (*** の部分は SCVMM サーバーもしくは Hyper-V サーバーの完全修飾ドメイン名となります。)
    そのような証明書が既に存在しない場合、そのまま手順 11. に進みます。
  11. SCVMM サーバー上で、”Virtual Machine Manager Command Shell” を起動します。
  12. 以下のコマンドを実行します。

    $credential = get-credential

  13. 表示されたウインドウに、SCVMM サーバーのローカル管理者権限のあるユーザーのユーザー名とパスワードを入力して [OK] をクリックします。
  14. 続いて、以下のコマンドを実行します。
    (*** の部分は SCVMM サーバーもしくは Hyper-V サーバーの完全修飾ドメイン名を入力します。)

    Get-VMMManagedComputer -ComputerName "***" | Register-SCVMMManagedComputer -Credential $credential

  15. 自己署名証明書を更新されるサーバーに、有効期限が 5 年後 (10 年後) の 1 月 1 日に設定された自己署名証明書が無事再作成されたことを、10. の手順で開いたコンソール上で確認いただきます。
    手順実施後も証明書が更新されていない場合、画面を最新の情報に更新いただくことで表示される場合がございます。

[対処手順 ②]

こちらの手順は、以下の SCVMM バージョンにて追加されたコマンドレットを使用する手順となります。
・SCVMM 2016 Update Rollup 10
・SCVMM 2019 Update Rollup 2
上記に記載しましたのバージョン以上に SCVMM をアップデートすると、SCVMM サーバーの自己署名証明書を更新する “Update-SCVMMCertificate” コマンドレットがご利用いただけるようになります。
SCVMM 2022 では、リリース当初のバージョンに該当する RTM バージョンでご利用いただけます。
SCVMM サーバー限定の手順となり、Hyper-V サーバーに対しては実施いただけない手順となりますが、以下の手順に沿って SCVMM サーバーにインストールされた自己署名証明書を更新いただけます。

  1. SCVMM サーバーに管理者権限でログインします。
  2. ログインしたサーバー上で “Virtual Machine Manager Command Shell” を起動します。
  3. 以下のコマンドを実行します。

    Update-SCVMMCertificate -VMMServer '***'
    (*** の部分は SCVMM サーバーの完全修飾ドメイン名を入力します。)

  4. 自己署名証明書を更新されるサーバーに、有効期限が 5 年後 (10 年後) の 1 月 1 日に設定された自己署名証明書が無事再作成されたことを、”対処手順 ①” の 10. の手順で開けるコンソール上で確認いただきます。
    手順実施後も証明書が更新されていない場合、画面を最新の情報に更新いただくことで表示される場合がございます。
    “注意事項” でも説明しました通り、高可用性構成の SCVMM サーバーにおいては、本手順でのみ証明書の更新が実施いただけます。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。