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

使用部署脚本将混合计算机连接到 Azure

可以手动执行一系列步骤,为环境中的一台或少量 Windows 或 Linux 计算机启用已启用 Azure Arc 的服务器。 或者,可以运行我们提供的模板脚本来使用自动化方法。 此脚本可以自动下载和安装两个代理。

这种安装和配置代理的方法要求你在计算机上拥有管理员权限。 在 Linux 上,需使用 root 帐户;在 Windows 上,你需是“本地管理员组”的成员。

在开始之前,请务必查看先决条件,并验证你的订阅和资源是否符合要求。 有关支持的区域和其他相关注意事项的信息,请参阅支持的 Azure 区域

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

注意

遵循最佳安全做法,避免使用具有所有者访问权限的 Azure 帐户来加入服务器。 请改用只有 Azure Connected Machine 加入或 Azure Connected Machine 资源管理员角色分配的帐户。 有关详细信息,请参阅 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 门户创建一个脚本,用于自动下载和安装代理,并与 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. 选择“下一步”转到“标记”页
  5. 在“标记”页上,查看建议的默认“物理位置标记”并输入值,或指定一个或多个“自定义标记”以支持你的标准 。

  6. 选择“下一页”,转到“下载并运行脚本”页。

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

在 Windows 上安装并验证代理

手动安装

可以运行 Windows Installer 包 AzureConnectedMachineAgent.msi 来手动安装 Connected Machine 代理。 可以从 Microsoft 下载中心下载最新版本的 Windows 代理 Windows Installer 包

注意

  • 若要安装或卸载代理,必须拥有“管理员”权限。
  • 必须先下载 Installer 包并将其复制到目标服务器上的某个文件夹,或者从共享网络文件夹下载。 如果在不指定任何选项的情况下运行该 Installer 包,它将启动一个安装向导,以交互方式指导用户安装代理。

如果计算机需要通过代理服务器来与服务通信,则在安装代理后,需要运行以下步骤中所述的某个命令。 此命令将设置代理服务器系统环境变量 https_proxy。 使用此配置,代理使用 HTTP 协议通过代理服务器进行通信。

如果不熟悉 Windows Installer 包的命令行选项,请查看 Msiexec 标准命令行选项Msiexec 命令行选项

例如,若要查看帮助和快速参考选项,请运行包含 /? 参数的安装程序。

msiexec.exe /i AzureConnectedMachineAgent.msi /?
  1. 若要无提示地安装代理并在存在的 C:\Support\Logs 文件夹中创建安装日志文件,请运行以下命令。

    msiexec.exe /i AzureConnectedMachineAgent.msi /qn /l*v "C:\Support\Logs\Azcmagentsetup.log"
    

    如果完成安装后代理无法启动,请检查日志以获取详细的错误信息。 日志目录为 %ProgramData%\AzureConnectedMachineAgent\log。

  2. 如果计算机需要通过代理服务器通信,若要设置代理服务器环境变量,请运行以下命令:

    [Environment]::SetEnvironmentVariable("https_proxy", "http://{proxy-url}:{proxy-port}", "Machine")
    $env:https_proxy = [System.Environment]::GetEnvironmentVariable("https_proxy","Machine")
    # For the changes to take effect, the agent service needs to be restarted after the proxy environment variable is set.
    Restart-Service -Name himds
    

    注意

    代理程序不支持设置代理身份验证。

  3. 安装代理后,需要通过运行以下命令将其配置为与 Azure Arc 服务通信:

    "%ProgramFiles%\AzureConnectedMachineAgent\azcmagent.exe" connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID"
    

使用脚本方法安装

  1. 登录到服务器。

  2. 打开权限提升的 PowerShell 命令提示符。

    注意

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

  3. 切换到脚本所复制到的文件夹或共享,然后在服务器上运行 ./OnboardingScript.ps1 脚本来执行复制的脚本。

如果完成安装后代理无法启动,请检查日志以获取详细的错误信息。 日志目录为 %ProgramData%\AzureConnectedMachineAgent\log。

在 Linux 上安装并验证代理

适用于 Linux 的 Connected Machine 代理以 Microsoft 包存储库中分发版的首选包格式(.RPM 或 .DEB)提供。 shell 脚本捆绑包 Install_linux_azcmagent.sh 执行以下操作:

  • 将主机配置为从 packages.microsoft.com 下载代理包。

  • 安装混合资源提供程序包。

(可选)可以通过包含 --proxy "{proxy-url}:{proxy-port}" 参数使用代理信息来配置代理。 使用此配置,代理使用 HTTP 协议通过代理服务器进行通信。

该脚本还包含用于识别受支持和不受支持分发包的逻辑,并可验证执行安装所需的权限。

以下示例将下载并安装代理:

# Download the installation package.
wget https://aka.ms/azcmagent -O ~/Install_linux_azcmagent.sh

# Install the Azure Connected Machine agent.
bash ~/Install_linux_azcmagent.sh
  1. 若要下载并安装代理,请运行以下命令。 如果计算机需要通过代理服务器进行通信以连接到 Internet,请包含 --proxy 参数。

    # Download the installation package.
    wget https://aka.ms/azcmagent -O ~/Install_linux_azcmagent.sh
    
    # Install the AZure Connected Machine agent.
    bash ~/Install_linux_azcmagent.sh --proxy "{proxy-url}:{proxy-port}"
    
  2. 安装代理后,需要通过运行以下命令将其配置为与 Azure Arc 服务通信:

    azcmagent connect --resource-group "resourceGroupName" --tenant-id "tenantID" --location "regionName" --subscription-id "subscriptionID" --cloud "cloudName"
    if [ $? = 0 ]; then echo "\033[33mTo view your onboarded server(s), navigate to https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.HybridCompute%2Fmachines\033[m"; fi
    

使用脚本方法安装

  1. 使用拥有 root 访问权限的帐户登录到服务器。

  2. 切换到脚本所复制到的文件夹或共享,然后在服务器上运行 ./OnboardingScript.sh 脚本来执行复制的脚本。

如果完成安装后代理无法启动,请检查日志以获取详细的错误信息。 日志目录为 /var/opt/azcmagent/log

验证是否与 Azure Arc 连接

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

服务器连接成功

后续步骤