将混合计算机大规模连接到 Azure

用户可以根据自己的需求,使用多个灵活的选项,为环境中的多个 Windows 或 Linux 计算机启用已启用 Azure Arc 的服务器。 使用我们提供的模板脚本,可以自动完成每个安装步骤,包括与 Azure Arc 建立连接。但是,必须使用在目标计算机和 Azure 中拥有提升权限的帐户手动执行此脚本。

将计算机连接到已启用 Azure Arc 的服务器的一种方法是使用 Microsoft Entra 服务主体。 可以使用此服务主体方法,而不是使用特权标识以交互方式连接计算机。 服务主体是一种特殊的受限管理标识,它只有使用 azcmagent 命令将计算机连接到 Azure 所需的最低权限。 此方法比使用较高特权的帐户(例如租户管理员)更安全,并且可以遵循我们的访问控制安全性最佳做法。 服务主体只会在加入期间使用;它不会用于任何其他目的。

在开始连接计算机之前,请查看以下要求:

  1. 请确保对要加入的计算机拥有管理员权限。

    在计算机上安装 Connected Machine 代理需要管理员权限;在 Linux 上使用根帐户,在 Windows 上作为本地管理员组的成员。

  2. 请查看先决条件,并验证你的订阅和资源是否符合要求。 需要具有计算机资源组的“Azure Connected Machine 加入”角色或“参与者”角色。 请确保事先在目标订阅中注册以下 Azure 资源提供程序。

    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity

    在此处查看详细操作说明:Azure 资源提供程序先决条件

    有关支持的区域和其他相关注意事项的信息,请参阅支持的 Azure 区域。 另请查看我们的《大规模规划指南》,以了解设计和部署标准,以及我们的管理和监视建议。

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

为大规模加入创建服务主体

可以在 Azure 门户中或通过使用 Azure PowerShell 创建服务主体。

注意

若要创建服务主体,Microsoft Entra 租户需要允许用户注册应用程序。 如果它不允许,你的帐户就必须是“应用程序管理员”或“云应用程序管理员”等管理员角色的成员。 有关租户级别要求的详细信息,请参阅在 Microsoft Entra ID 中委托应用注册权限。 若要分配已启用 Arc 的服务器角色,你的帐户必须是订阅中要用于载入的所有者用户访问管理员角色的成员。

Azure 门户

Azure 门户中的 Azure Arc 服务提供了一种简化的方式来创建可用于将混合计算机连接到 Azure 的服务主体。

  1. 在Azure 门户中,导航到 Azure Arc,然后在左侧菜单中选择“服务主体”。
  2. 选择 添加
  3. 为服务主体输入名称。
  4. 选择服务主体是有权访问整个订阅,还是仅有权访问特定资源组。
  5. 选择服务主体将有权访问的订阅(和资源组,如果适用)。
  6. 在“客户端密码”部分,选择生成的客户端密码的使用持续时间。 可以选择在“说明”字段中输入你选择的易记名称。
  7. 在“角色分配”部分,选择“Azure Connected Machine 加入”。
  8. 选择“创建” 。

Azure 门户中的 Azure Arc 服务主体创建屏幕的屏幕截图。

Azure PowerShell

可以在 Azure PowerShell 中使用 New-AzADServicePrincipal cmdlet 创建服务主体。

  1. 检查 Azure PowerShell 会话的上下文,确保使用正确的订阅。 如果需要更改订阅,请使用 Set-AzContext

    Get-AzContext
    
  2. 运行以下命令以创建服务主体,并为它分配所选订阅的“Azure Connected Machine 加入”角色。 创建服务主体后,它将输出应用程序 ID 和机密。 机密的有效期为 1 年,之后需要生成新机密并使用新机密来更新任何脚本。

    $sp = New-AzADServicePrincipal -DisplayName "Arc server onboarding account" -Role "Azure Connected Machine Onboarding"
    $sp | Format-Table AppId, @{ Name = "Secret"; Expression = { $_.PasswordCredentials.SecretText }}
    
    AppId                                Secret
    ----- ------
    aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee PASSWORD_SHOWN_HERE
    

    以下属性中的值将与传递给 azcmagent 的参数配合使用:

    • AppId 属性中的值用作 --service-principal-id 参数值
    • Secret 属性中的值用作连接代理时所用的 --service-principal-secret 参数。

从 Azure 门户生成安装脚本

Azure 门户中提供了用于自动下载和安装以及与 Azure Arc 建立连接的脚本。 如果要完成该过程,请执行以下步骤:

  1. 在浏览器中转到 Azure 门户

  2. 在“计算机 - Azure Arc”页上,选择左上角的“+ 添加”

  3. 在“使用 Azure Arc 添加服务器”页上,选择“添加多台服务器”磁贴,然后选择“生成脚本”

  4. 在“基本信息”页上,提供以下信息:

    1. 选择计算机的“订阅”和“资源组”
    2. 在“区域”下拉列表中,选择用于存储服务器元数据的 Azure 区域
    3. 在“操作系统”下拉列表中,选择脚本配置为要在其上运行的操作系统。
    4. 对于“连接方法”,请选择 Azure Connected Machine 代理连接到 Internet 时应采用的方法:
      • 公共终结点
      • 代理服务器 - 采用 http://<proxyURL>:<proxyport> 格式输入计算机将使用的代理服务器 IP 地址或名称以及端口号
      • 专用终结点 - 选择现有的专用链接范围和终结点,或进行新建。
    5. 选择下一步
    6. 在“身份验证”部分的“服务主体”下拉列表下,选择“Arc-for-servers”。 然后,选择“下一步”
  5. 在“标记”页上,查看建议的默认“物理位置标记”并输入值,或指定一个或多个“自定义标记”以支持你的标准 。

  6. 选择下一步

  7. 在“下载并运行脚本”页上查看摘要信息,然后选择“下载” 。 如果仍需进行更改,请选择“上一页”。

对于 Windows,系统会提示用户将 OnboardingScript.ps1 保存到计算机,对于 Linux,则提示将 OnboardingScript.sh 保存到计算机。

安装代理并连接到 Azure

使用先前创建的脚本模板,可以使用组织首选的自动化工具在多台混合 Linux 和 Windows 计算机上安装和配置 Connected Machine 代理。 此脚本执行“从 Azure 门户将混合计算机连接到 Azure”文章中所述的类似步骤。 不同之处在于,最后一步是通过 azcmagent 命令使用服务主体与 Azure Arc 建立连接。

下面是配置用于服务主体的 azcmagent 命令时需要指定的设置。

  • service-principal-id:唯一标识符 (GUID),表示服务主体的应用程序 ID。
  • service-principal-secret | 服务主体密码。
  • tenant-id:表示 Microsoft Entra ID 专用实例的唯一标识符 (GUID)。
  • subscription-id:计算机要属于的 Azure 订阅的订阅 ID (GUID)。
  • resource-group:连接的计算机要属于的资源组的名称。
  • location:请参阅支持的 Azure 区域。 此位置可以与资源组的位置相同或不同。
  • resource-name:(可选)用于本地计算机的 Azure 资源表示。 如果未指定此值,将使用计算机主机名。

若要详细了解 azcmagent 命令行工具,请查看 Azcmagent 参考

注意

仅支持从 64 位版本的 Windows PowerShell 中运行 Windows PowerShell 脚本。

安装代理并将其配置为连接到启用了 Azure Arc 的服务器后,请转到 Azure 门户,验证是否已成功连接服务器。 在 Azure 门户中查看计算机。

显示 Azure 门户中的成功服务器连接的屏幕截图。

后续步骤