配置其他 HGS 节点

在生产环境中,应在高可用性群集中设置 HGS,以确保即使 HGS 节点出现故障,也可以启动受防护的 VM。 对于测试环境,不需要辅助 HGS 节点。

使用以下方法之一添加最适合环境的 HGS 节点。

环境 选项 1 方法 2
新的 HGS 林 使用 PFX 文件 使用证书指纹
现有的堡垒林 使用 PFX 文件 使用证书指纹

先决条件

确保每个附加节点符合以下条件:

  • 具有与主节点相同的硬件和软件配置
  • 与其他 HGS 服务器连接到同一网络
  • 可以通过 DNS 名称解析其他 HGS 服务器

具有 PFX 证书的专用 HGS 林

  1. 将 HGS 节点提升为域控制器
  2. 初始化 HGS 服务器

将 HGS 节点提升为域控制器

  1. 运行 Install-HgsServer 以加入域并将节点提升为域控制器。

    $adSafeModePassword = ConvertTo-SecureString -AsPlainText '<password>' -Force
    
    $cred = Get-Credential 'relecloud\Administrator'
    
    Install-HgsServer -HgsDomainName 'bastion.local' -HgsDomainCredential $cred -SafeModeAdministratorPassword $adSafeModePassword -Restart
    
  2. 服务器重启后,使用域管理员帐户登录。

初始化 HGS 服务器

运行以下命令以加入现有的 HGS 群集。

Initialize-HgsServer -HgsServerIPAddress <IP address of first HGS Server>

具有证书指纹的专用 HGS 林

  1. 将 HGS 节点提升为域控制器
  2. 初始化 HGS 服务器
  3. 安装证书的私钥

将 HGS 节点提升为域控制器

  1. 运行 Install-HgsServer 以加入域并将节点提升为域控制器。

    $adSafeModePassword = ConvertTo-SecureString -AsPlainText '<password>' -Force
    
    $cred = Get-Credential 'relecloud\Administrator'
    
    Install-HgsServer -HgsDomainName 'bastion.local' -HgsDomainCredential $cred -SafeModeAdministratorPassword $adSafeModePassword -Restart
    
  2. 服务器重启后,使用域管理员帐户登录。

初始化 HGS 服务器

运行以下命令以加入现有的 HGS 群集。

Initialize-HgsServer -HgsServerIPAddress <IP address of first HGS Server>

安装证书的私钥

如果未为第一台 HGS 服务器上的加密证书或签名证书提供 PFX 文件,则只会将公钥复制到此服务器。 需要通过将包含私钥的 PFX 文件导入到本地证书存储中来安装私钥;如果是 HSM 支持的密钥,则需要配置密钥存储提供程序,并按照 HSM 制造商的说明将其与证书相关联,从而安装私钥。

具有 PFX 证书的现有堡垒林

  1. 将节点加入现有域
  2. 授予计算机检索 gMSA 密码并运行 Install-ADServiceAccount 的权限
  3. 初始化 HGS 服务器

将节点加入现有域

  1. 确保节点上至少有一个 NIC 配置为使用第一台 HGS 服务器上的 DNS 服务器。
  2. 将新的 HGS 节点加入到与第一个 HGS 节点相同的域。

授予计算机检索 gMSA 密码并运行 Install-ADServiceAccount 的权限

  1. 让目录服务管理员将新节点的计算机帐户添加到包含所有 HGS 服务器的安全组中,该安全组有权允许这些服务器使用 HGS gMSA 帐户。

  2. 重启新节点以获得新的 Kerberos 票证,其中包括计算机在该安全组中的成员身份。 重启完以后,使用属于计算机上的本地管理员组的域标识登录。

  3. 在节点上安装 HGS 组托管服务帐户。

    Install-ADServiceAccount -Identity <HGSgMSAAccount>
    

初始化 HGS 服务器

运行以下命令以加入现有的 HGS 群集。

Initialize-HgsServer -HgsServerIPAddress <IP address of first HGS Server>

具有证书指纹的现有堡垒林

  1. 将节点加入现有域
  2. 授予计算机检索 gMSA 密码并运行 Install-ADServiceAccount 的权限
  3. 初始化 HGS 服务器
  4. 安装证书的私钥

将节点加入现有域

  1. 确保节点上至少有一个 NIC 配置为使用第一台 HGS 服务器上的 DNS 服务器。
  2. 将新的 HGS 节点加入到与第一个 HGS 节点相同的域。

授予计算机检索 gMSA 密码并运行 Install-ADServiceAccount 的权限

  1. 让目录服务管理员将新节点的计算机帐户添加到包含所有 HGS 服务器的安全组中,该安全组有权允许这些服务器使用 HGS gMSA 帐户。

  2. 重启新节点以获得新的 Kerberos 票证,其中包括计算机在该安全组中的成员身份。 重启完以后,使用属于计算机上的本地管理员组的域标识登录。

  3. 在节点上安装 HGS 组托管服务帐户。

    Install-ADServiceAccount -Identity <HGSgMSAAccount>
    

初始化 HGS 服务器

运行以下命令以加入现有的 HGS 群集。

Initialize-HgsServer -HgsServerIPAddress <IP address of first HGS Server>

第一台 HGS 服务器的加密和签名证书需要长达 10 分钟的时间才能复制到此节点。

安装证书的私钥

如果未为第一台 HGS 服务器上的加密证书或签名证书提供 PFX 文件,则只会将公钥复制到此服务器。 需要通过将包含私钥的 PFX 文件导入到本地证书存储中来安装私钥;如果是 HSM 支持的密钥,则需要配置密钥存储提供程序,并按照 HSM 制造商的说明将其与证书相关联,从而安装私钥。

为 HTTPS 通信配置 HGS

如果要使用 SSL 证书保护 HGS 终结点,则必须在此节点上以及 HGS 群集中的每个其他节点上配置 SSL 证书。 SSL 证书不由 HGS 复制,并且不需要为每个节点使用相同的密钥(即,你可以为每个节点使用不同的 SSL 证书)。

请求 SSL 证书时,确保群集的完全限定的域名(如 Get-HgsServer 的输出中所示)是证书的使用者公用名称,或者已作为使用者可选 DNS 名称包含在内。 从证书颁发机构获取证书后,可以将 HGS 配置为将其与 Set-HgsServer 配合使用。

$sslPassword = Read-Host -AsSecureString -Prompt "SSL Certificate Password"
Set-HgsServer -Http -Https -HttpsCertificatePath 'C:\temp\HgsSSLCertificate.pfx' -HttpsCertificatePassword $sslPassword

如果已将证书安装到本地证书存储中,并且想要通过指纹引用它,请改为运行以下命令:

Set-HgsServer -Http -Https -HttpsCertificateThumbprint 'A1B2C3D4E5F6...'

HGS 将始终公开用于通信的 HTTP 和 HTTPS 端口。 不支持在 IIS 中删除 HTTP 绑定,但你可以使用 Windows 防火墙或其他网络防火墙技术来阻止通过端口 80 进行的通信。

停用 HGS 节点

若要停用 HGS 节点,请执行以下操作:

  1. 清除 HGS 配置

    这会从群集中删除节点,并卸载证明和密钥保护服务。 如果它是群集中的最后一个节点,则需要使用 -Force 来表示你确实要删除最后一个节点并销毁 Active Directory 中的群集。

    如果 HGS 部署在堡垒林中(默认设置),则这是唯一的步骤。 可以选择从域取消加入计算机,并从 Active Directory 中删除 gMSA 帐户。

  2. 如果 HGS 创建了其自己的域,则还应卸载 HGS 以取消加入域并降级域控制器。