通过 Azure 本地 Azure 网关的注册脚本配置 Arc 代理(预览版)

适用于:Azure 本地版本 23H2、版本 2408、2408.1、2408.2 和 2411

在 Azure 订阅中创建 Arc 网关资源后,可以启用新的 Arc 网关预览功能。 本文详细介绍了如何使用 Azure 本地 Arc 网关的注册脚本在 Arc 注册之前配置 Arc 代理。

使用此方法时,无需手动跨 WinInet、WinHttp 或环境变量配置 Arc 代理。

重要

此功能目前处于预览状态。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Microsoft Azure 预览版的补充使用条款

先决条件

在继续操作之前,请确保满足以下先决条件:

  • 有权访问运行版本 23H2 的 Azure 本地实例。

  • 在用于部署 Azure Local 的同一订阅中创建的 Arc 网关资源。 有关详细信息,请参阅 在 Azure 中创建 Arc 网关资源。

步骤 1:获取 ArcGatewayID

需要 Azure 中的代理和 ArcGatewayID 才能在 Azure 本地计算机上运行注册脚本。 可以在资源的Azure 门户概述页上找到 Arc 网关 ID。

步骤 2:在 Azure Arc 中注册新计算机

若要在 Azure Arc 中注册新版本 2408 或版本 2411 计算机,请通过传递ArcGatewayIDProxy serverProxy bypass list参数来运行初始化脚本。

下面是一个示例,说明应如何更改初始化脚本的 Invoke-AzStackHciArcInitialization 这些参数。 注册完成后,Azure 本地计算机将使用 Arc 网关在 Azure Arc 中注册:

#Define the subscription where you want to register your server as Arc device.
$Subscription = "yoursubscription" 

#Define the resource group where you want to register your server as Arc device.
$RG = "yourresourcegroupname" 

#Define the tenant to use to register your server as Arc device. 
$Tenant = "yourtenant" 

#Define Proxy Server if necessary 
$ProxyServer = "http://x.x.x.x:port" 

#Define the Arc gateway resource ID from Azure 
$ArcgwId = "/subscriptions/yourarcgatewayid/resourceGroups/yourresourcegroupname/providers/Microsoft.HybridCompute/gateways/yourarcgatewayname" 

#Define the bypass list for the proxy. Use semicolon to separate each item from the list.  
# Use "localhost" instead of <local> 
# Use specific IPs such as 127.0.0.1 without mask 
# Use * for subnets allowlisting. 192.168.1.* for /24 exclusions. Use 192.168.*.* for /16 exclusions. 
# Append * for domain names exclusions like *.contoso.com 
# DO NOT INCLUDE .svc on the list. The registration script takes care of Environment Variables configuration. 

$ProxyBypassList = "localhost;127.0.0.1;*.contoso.com;machine1;machine2;machine3;machine4;machine5;192.168.*.*;AzureLocal-1" 

#Connect to your Azure account and Subscription 
Connect-AzAccount -SubscriptionId $Subscription -TenantId $Tenant -DeviceCode 

#Get the Access Token and Account ID for the registration 
$ARMtoken = (Get-AzAccessToken).Token 

#Get the Account ID for the registration 
$id = (Get-AzContext).Account.Id 

#Invoke the registration script with Proxy and ArcgatewayID 
Invoke-AzStackHciArcInitialization -SubscriptionID $Subscription -ResourceGroup $RG -TenantID $Tenant -Region australiaeast -Cloud "AzureCloud" -ArmAccessToken $ARMtoken -AccountID $id -Proxy $ProxyServer -ArcGatewayID $ArcgwId -ProxyBypass $ProxyBypassList 

步骤 3:验证设置是否成功

部署验证启动后,可以从系统连接到第一台计算机并打开 Arc 网关日志,以监视哪些终结点被重定向到 Arc 网关,以及哪些终结点继续使用防火墙或代理。

可在以下位置找到 Arc 网关日志: c:\programdata\AzureConnectedMAchineAgent\Log\arcproxy.log

显示使用脚本的 Arc 网关日志的屏幕截图。

若要检查 Arc 代理配置并验证它是否正在使用网关,请运行以下命令: c:\program files\AzureConnectedMachineAgent>.\azcmagent show

显示的值应如下所示:

  • 代理版本1.45 或更高版本。

  • “代理状态”应显示为“已连接”

  • 当 Arc 网关未使用时,使用 HTTPS 代理 为空。 它应显示为 http://localhost:40343 启用 Arc 网关时。

  • 上游代理 显示企业代理服务器和端口。

  • 未使用 Arc 网关时,Azure Arc 代理 显示为已停止。 启用 Arc 网关时运行。

没有 Arc 网关的 Arc 代理:

显示不使用脚本的 Arc 代理的屏幕截图。

使用 Arc 网关的 Arc 代理:

显示使用脚本通过网关的 Arc 代理的屏幕截图。

此外,若要验证设置是否已成功完成,可以运行以下命令: c:\program files\AzureConnectedMachineAgent>.\azcmagent check

响应应指示 connection.type 设置为网关,并且 Reachable 列应指示所有 URL 的 true

没有 Arc 网关的 Arc 代理:

显示未使用脚本的 Arc 代理的屏幕截图。

使用 Arc 网关的 Arc 代理:

显示使用脚本的 Arc 网关的 Arc 代理的屏幕截图。

还可以通过查看网关路由器日志来审核网关流量。

若要查看 Windows 上的网关路由器日志,请在 azcmagent logs PowerShell 中运行命令。 在生成的.zip文件中,日志位于 C:\ProgramData\Microsoft\ArcGatewayRouter 文件夹中。

后续步骤