你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将混合计算机大规模连接到 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
    • Microsoft.AzureArcData(如果计划使用启用了 Arc 的 SQL Server 实例)

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

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

如果没有 Azure 订阅,请在开始之前创建一个免费帐户。

SQL Server 的自动连接

将 Windows 或 Linux 服务器连接到也安装了 Microsoft SQL Server 的 Azure Arc 时,SQL Server 实例也会自动连接到 Azure Arc。 通过 Azure Arc 启用的 SQL Server 为 SQL Server 实例和数据库提供详细清单和附加管理功能。 在连接过程中,扩展将部署到已启用 Azure Arc 的服务器,新角色将应用到 SQL Server 和数据库。 如果不想自动将 SQL Server 连接到 Azure Arc,则可通过在 Windows 或 Linux 服务器连接到 Azure Arc 时向其添加一个名为 ArcSQLServerExtensionDeployment 且值为 Disabled 的标记来选择退出。

有关详细信息,请参阅管理 Azure Arc 启用的 SQL Server 自动连接

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

可以在 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. 如果计算机是通过代理服务器连接到 Internet 进行通信的,请指定计算机用来与代理服务器通信的代理服务器 IP 地址或名称以及端口号。 使用此配置,代理使用 HTTP 协议通过代理服务器进行通信。 按格式 http://<proxyURL>:<proxyport> 输入值。
    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 门户中的成功服务器连接的屏幕截图。

后续步骤

  • 查看规划和部署指南,以便对按任意规模部署启用了 Azure Arc 的服务器进行规划,并实现集中管理和监视。
  • 了解如何排查代理连接问题
  • 了解如何使用 Azure Policy 管理计算机以实现一些目的,例如,进行 VM 来宾配置、验证计算机是否向预期的 Log Analytics 工作区报告、使用 VM 见解进行监视,等等。