Citrix Virtual Apps and Desktops 服务

Microsoft Azure Resource Manager 虚拟化环境

使用 Microsoft Azure Resource Manager 在您的 Citrix Virtual Apps 或 Citrix Virtual Desktops 服务部署中预配虚拟机时,请按照本文中的指导原则进行操作。

我们假设您熟悉以下内容:

使用 Machine Creation Services 时不支持 Azure 磁盘加密。

Azure 按需预配

使用 MCS 在 Azure Resource Manager 中创建计算机目录时,Azure 按需预配功能:

  • 降低存储成本
  • 加快目录创建过程
  • 加快虚拟机 (VM) 电源操作过程

对于管理员,在创建主机连接和 MCS 计算机目录的 Studio 过程中,按需预配并没有引入任何差异。不同之处在于如何以及何时在 Azure 中创建和管理资源,以及 VM 在 Azure 门户中的可见性。

在结合使用 Azure 按需预配与 Citrix Virtual Apps and Desktops 之前,MCS 创建目录时,是在预配过程中在 Azure 中创建 VM。

在采用 Azure 按需预配的情况下,仅在完成预配后,当 Citrix Virtual Apps and Desktops 启动开机操作时才创建 VM。仅当 VM 运行时才在 Azure 门户中可见。(在 Studio 中,如果 VM 正在运行,则它们是可见的。)

创建 MCS 目录时,Azure 门户将显示资源组、网络安全组、存储帐户、网络接口、基础映像和身份磁盘。在 Citrix Virtual Apps and Desktops 为 VM 启动开机操作之前,Azure 门户不会显示 VM。(然后,在 Studio 中,VM 的状态变为On。)

  • 对于池计算机,仅当存在 VM 时才会有操作系统磁盘和写回缓存。如果经常关闭计算机(例如,工作时间以外),缓存可以节省大量存储空间。
  • 对于专用计算机,在首次打开 VM 时创建操作系统磁盘。它一直保留在存储中,直至删除计算机标识。

Citrix Virtual Apps and Desktops 为 VM 启动关机操作时,将在 Azure 中删除该计算机标识。它不再显示在 Azure 门户中。(在 Studio 中,VM 的状态更改为。)

按需预配之前创建的目录 如果您有在 Citrix Virtual Apps and Desktops 支持 Azure 按需预配功能(2017 年年中)之前创建的计算机目录,这些目录中的 VM 在 Azure 门户中可见,而无论其是否正在运行。要转换的映像所在的区域必须是 MCS 在其中预配目录的区域,该映像将复制到目录区域的常规存储帐户中的 VHD。然后将其转换回托管磁盘。

在目录创建向导的存储和许可证类型页面上,可以选中用于使用常规存储帐户来代替托管磁盘的复选框。在不支持托管磁盘的 Azure 区域中预配时此复选框处于禁用状态。

创建到 Azure Resource Manager 的连接

创建和管理连接介绍了创建连接的向导。以下信息涵盖与 Azure Resource Manager 连接有关的详细信息。

注意事项:

  • 必须已为服务主体授予对订阅的参与者角色。
  • 在创建第一个连接时,Azure 会提示您为其授予必要的权限。对于将来的连接,您仍然必须进行身份验证,但是 Azure 会记住您以前同意的情况,并且不会再显示提示。
  • 用于身份验证的帐户必须是订阅的协管理员。
  • 用于身份验证的帐户必须是订阅目录的成员。需要注意两种类型的帐户:“工作或学校”和“个人 Microsoft 帐户”。有关详细信息,请参阅CTX219211
  • 虽然可以通过将现有 Microsoft 帐户添加为订阅目录的成员来使用该帐户,但如果以前已为用户授予对其中一个目录资源的来宾访问权限,则可能会出现复杂情况。在这种情况下,他们可能在目录中有一个不会授予其必要权限的占位符条目,并会返回错误。

    通过从目录中删除资源并明确重新添加来改正此问题。但是,请谨慎使用此方法,因为它会对帐户可以访问的其他资源产生意外影响。

  • 有一个已知问题,即某些帐户实际上是成员时,会被检测为目录来宾。此类配置通常发生在已建立的较旧的目录帐户中。解决方法:向目录中添加一个帐户,该帐户采用适当的成员身份值。
  • 资源组只是资源的容器,它们可以包含来自自己所在区域以外的区域的资源。如果您希望资源组的区域中显示的资源可用,这可能会引起混淆。
  • 请确保您的网络和子网足够大,可以容纳您需要的计算机数量。这需要一些先见之明,但 Microsoft 会帮助您指定合适的值,并提供有关地址空间容量的指导。

可以通过两种方法建立与 Azure Resource Manager 的主机连接:

  • 通过向 Azure Resource Manager 进行身份验证以创建服务主体。
  • 使用之前创建的服务主体的详细信息连接到 Azure Resource Manager。

通过向 Azure Resource Manager 进行身份验证以创建服务主体

在开始操作之前,请确保:

  • 在订阅的 Azure Active Directory 租户中具有一个用户帐户。
  • Azure AD 用户帐户也是您希望用来预配资源的 Azure 订阅的协管理员。

在“添加连接和资源”向导中,执行以下操作:

  1. 连接页面上,选择 Microsoft Azure 连接类型和您的 Azure 环境。
  2. 连接详细信息页面上,输入 Azure 订阅 ID 和连接的名称。连接名称可以包含 1-64 个字符,不能仅包含空格或字符 \/;:#.*?=<>|[]{}"'()')。输入订阅 ID 和连接名称后,将启用新建按钮。
  3. 输入 Azure Active Directory 帐户用户名和密码。
  4. 单击登录
  5. 单击接受以将列出的权限授予 Citrix Virtual Apps and Desktops。Citrix Virtual Apps and Desktops 会创建一个允许它代表指定的用户管理 Azure Resource Manager 资源的服务主体。
  6. 单击接受后,您会返回到 Studio 中的连接页面。请注意,成功向 Azure 进行身份验证时,新建使用现有按钮将被替换为已连接,同时出现绿色的复选标记指明已成功连接至您的 Azure 订阅。
  7. 指明可以使用哪些工具来创建虚拟机,然后单击下一步。(在成功进行 Azure 身份验证和接受授予所需权限之前,您无法越过向导中的此页面。)
  8. 资源由区域和网络组成。

    • 区域页面上,选择一个区域。
    • 网络页面上:
    • 键入 1-64 字符的资源名称以帮助确定 Studio 中的区域和网络组合。资源名称不能仅包含空格,也不能包含字符 \/;:#.*?=<>|[]{}"'()'
    • 选择一个虚拟网络和资源组对。(由于您可能有不止一个具有相同名称的虚拟网络,将网络名称与资源组配对可提供唯一的组合。)如果在上一个不具有任何虚拟网络的页面中选择了一个区域,则必须返回至该页面并选择一个具有虚拟网络的区域。
  9. 完成向导。

使用之前创建的服务主体的详细信息连接到 Azure Resource Manager

要手动创建服务主体,请连接到 Azure Resource Manager 订阅并使用以下部分中提供的 PowerShell cmdlet。

必备条件:

  • $SubscriptionId: 您希望预配 VDA 的订阅的 Azure Resource Manager SubscriptionID
  • $AADUser: 订阅的 AD 租户的 Azure AD 用户帐户。让 $AADUser 成为您的订阅的协管理员。
  • $ApplicationName: 要在 Azure AD 中创建的应用程序的名称。
  • $ApplicationPassword: 应用程序的密码。创建主机连接时,请使用此密码作为应用程序机密。

要创建服务主体,请执行以下操作:

  1. 连接到您的 Azure Resource Manager 订阅。

    Login-AzureRmAccount

  2. 选择您要创建服务主体的 Azure Resource Manager 订阅。

    Select-AzureRmSubscription -SubscriptionID $SubscriptionId;

  3. 在您的 AD 租户中创建应用程序。

    $AzureADApplication = New-AzureRmADApplication -DisplayName $ApplicationName -HomePage "https://localhost/$ApplicationName" -IdentifierUris https://$ApplicationName -Password $ApplicationPassword

  4. 创建服务主体。

    New-AzureRmADServicePrincipal -ApplicationId $AzureADApplication.ApplicationId

  5. 向服务主体分配角色。

    New-AzureRmRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.ApplicationId –scope /subscriptions/$SubscriptionId

  6. 在 PowerShell 控制台的输出窗口中,记下 ApplicationId。请在创建主机连接时提供该 ID。

在“添加连接和资源”向导中,执行以下操作:

  1. 连接页面上,选择 Microsoft Azure 连接类型和您的 Azure 环境。
  2. 连接详细信息页面上,输入 Azure 订阅 ID 和连接的名称。(连接名称可以包含 1-64 个字符,不能仅包含空格,也不能仅包含非 ASCII 字符或特殊字符。
  3. 单击使用现有。提供订阅 ID、订阅名称、身份验证 URL、管理 URL、存储后缀、Active Directory ID 或租户 ID、应用程序 ID 以及现有服务主体的应用程序机密。输入详细信息后,将会启用确定按钮。单击确定
  4. 指明可以使用哪些工具来创建虚拟机,然后单击下一步。您提供的服务主体详细信息用于连接到 Azure 订阅。(在提供使用现有选项的有效详细信息之前,您无法越过向导中的此页面。)
  5. 资源由区域和网络组成。

    • 区域页面上,选择一个区域。
    • 网络页面上,键入 1-64 字符的资源名称以帮助确定 Studio 中的区域和网络组合。资源名称不能仅包含空格,也不能仅包含非 ASCII 字符或特殊字符。
    • 选择一个虚拟网络和资源组对。(由于您可能有不止一个具有相同名称的虚拟网络,将网络名称与资源组配对可提供唯一的组合。)如果在上一个不具有任何虚拟网络的页面中选择了一个区域,则必须返回至该页面并选择一个具有虚拟网络的区域。
  6. 完成向导。

使用 Azure Resource Manager 主映像创建计算机目录

此信息用于补充创建计算机目录中的指导信息。

主映像将作为用于在计算机目录中创建 VM 的模板。创建计算机目录之前,请在 Azure Resource Manager 中创建一个主映像。有关主映像的常规信息,请参阅创建计算机目录

在计算机目录创建向导中,执行以下操作:

虚拟机名称不能包含非 ASCII 字符和特殊字符。

  • (使用 MCS 时)在资源组页面上,选择是创建资源组还是使用现有组。
    • 如果选择创建资源组,请单击下一步
    • 如果选择使用现有资源组,请从可用的预配资源组列表中选择组。谨记:请选择足够的组以容纳您要在目录中创建的计算机。如果您选择的组太少,Studio 将显示一条消息。如果您计划以后向目录添加更多 VM,则您可能希望选择的数量多于所需的最低数量。创建目录后,无法向目录添加更多资源组。

    有关详细信息,请参阅 Azure 资源组

  • 网卡计算机帐户摘要页面不包含 Azure 特定的信息。请按照创建计算机目录一文中的指导进行操作。

完成向导。

Azure 资源组

Azure 预配资源组提供了一种预配向用户提供应用程序和桌面的 VM 的方法。您可以在 Studio 中创建 MCS 计算机目录时添加现有的空 Azure 资源组,也可以创建新资源组。有关 Azure 资源组的信息,请参阅Microsoft 文档

Azure 资源组使用情况

每个 Azure 资源组的虚拟机、托管磁盘、快照和映像数量都没有限制。(已删除每个 Azure 资源组 240 个 VM/800 个托管磁盘的限制。)

  • 使用完整作用域服务主体创建计算机目录时,MCS 会创建一个 Azure 资源组,并仅在目录的整个生命周期内使用此 Azure 资源组。
  • 使用窄作用域服务主体创建计算机目录时,只需在目录的生命周期内提供一个空的、预先创建的 Azure 资源组。

要求

  • 如果您希望 Citrix Virtual Apps and Desktops 服务为每个 MCS 目录创建资源组,则与主机连接关联的 Azure 服务主体必须有权创建和删除资源组。如果您希望 Citrix Virtual Apps and Desktops 服务使用现有的空资源组,则与主机连接关联的 Azure 服务主体对这些空资源组必须具有“参与者”权限。
  • 使用新建选项在 Studio 中创建主机连接时,创建的服务主体具有订阅作用域参与权限。或者,可以使用使用现有选项来创建连接,并提供现有订阅作用域服务主体的详细信息。如果使用新建选项并在 Studio 中创建服务主体,则它具有创建和删除新资源组或向现有空资源组预配所需的权限。
  • 必须使用 PowerShell 创建窄作用域服务主体。此外,使用窄作用域服务主体时,必须使用 PowerShell 或 Azure 门户在于您的主机连接相同的区域内为 MCS 预配 VM 的每个目录创建空资源组。有关说明,请参阅博客文章 https://www.citrix.com/blogs/2016/11/09/azure-role-based-access-control-in-xenapp-xendesktop/

如果您对主机连接使用窄作用域服务主体,并且在目录创建向导的主映像页面上没有看到您的主映像资源组,可能是因为您使用的窄作用域服务主体没有列出主映像资源组的权限 Microsoft.Resources/subscriptions/resourceGroups/read。关闭向导,为服务主体更新权限(请参阅博客文章了解相关说明),然后重新启动向导。Azure 中的更新显示在 Studio 中最多可能需要 10 分钟。

在 Studio 中为计算机目录配置资源组

在目录创建向导中的资源组页面中,可以选择是创建资源组还是使用现有组。请参阅 使用 Azure Resource Manager 主映像创建计算机目录

删除计算机目录时资源组发生的情况。如果在创建计算机目录时允许 Citrix Virtual Apps and Desktops 服务创建资源组,但之后删除了该目录,这些资源组以及这些资源组中的其他资源也将被删除。

如果在创建计算机目录时使用现有资源组,且之后删除了目录,则这些资源组中的所有资源将被删除,但资源组不会删除。

注意事项和限制

在使用现有资源组时,目录创建向导中的“资源组”页面上的可用资源组列表不会自动刷新。因此,如果打开了该向导页面并在 Azure 中为资源组创建或添加权限,这些更改不会反映在向导的列表中。要查看最新更改,请返回到向导中的计算机管理页面,然后重新选择与主机连接关联的资源。或者,关闭并重新启动向导。在 Azure 中所做的更改显示在 Studio 中最多可能需要 10 分钟。

如果您的连接使用可以访问各个区域中的空资源组的服务主体,这些资源组将显示在可用列表中。请务必在要创建计算机目录的相同区域中选择资源组。

故障排除

  • 资源组未出现在目录创建向导的“资源组”页面上的列表中。

    服务主体必须对您希望显示在列表中的资源组具有适当权限。请参阅 要求

更多信息