你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 防火墙显式代理功能可以通过专用连接(ExpressRoute 或站点到站点 VPN)安全地路由所有 Azure Arc 流量。 此功能允许使用 Azure Arc,而无需向公共 Internet 公开本地环境。
本文介绍使用显式代理功能配置 Azure 防火墙的步骤,作为已启用 Arc 的服务器或 Kubernetes 资源的转发代理。
重要
Azure 防火墙显式代理目前以预览版提供。 有关适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 适用于 Microsoft azure 预览版的补充使用条款 。
Azure 防火墙显式代理功能的工作原理
Azure Arc 代理可以使用转发代理连接到 Azure 服务。 使用 Azure 防火墙显式代理功能,可以在虚拟网络(VNet)中使用 Azure 防火墙作为 Arc 代理的转发代理。
由于 Azure 防火墙显式代理在专用 VNet 中运行,并且通过 ExpressRoute 或站点到站点 VPN 与它建立安全连接,因此所有 Azure Arc 流量都可以路由到Microsoft网络中的预期目标,而无需任何公共 Internet 访问。
若要以高分辨率下载体系结构图,请访问 Jumpstart Gems。
限制和当前限制
- 此解决方案使用 Azure 防火墙显式代理作为转发代理。 显式代理功能不支持 TLS 检查。
- TLS 证书不能应用于 Azure 防火墙显式代理。
- Azure Stack Hub 或运行在 Azure Stack Hub 的 Azure Arc VM 当前不支持此解决方案。
Azure 防火墙成本
Azure 防火墙的定价基于部署小时数和处理的数据总量。 有关 Azure 防火墙定价的详细信息,请参阅 Azure 防火墙定价页。
先决条件和网络要求
若要使用此解决方案,必须具备:
- 现有的 Azure VNet。
- 从本地环境到 Azure VNet 的现有 ExpressRoute 或站点到站点 VPN 连接。
配置 Azure 防火墙
按照以下步骤在 Azure 防火墙上启用显式代理功能。
创建 Azure 防火墙资源
如果 VNet 中有现有的 Azure 防火墙,则可以跳过本部分。 否则,请按照以下步骤创建新的 Azure 防火墙资源。
- 从浏览器登录到 Azure 门户 并导航到 “Azure 防火墙 ”页。
- 选择“创建”以创建新的防火墙。
- 输入订阅、资源组、名称和区域。
- 对于“防火墙 SKU”,请选择“标准”或“高级”。
- 根据需要完成配置所需的 “基本信息 ”选项卡的其余部分。
- 选择“查看 + 创建”,然后选择“创建”以创建防火墙。
有关详细信息,请参阅部署和配置 Azure 防火墙。
启用显式代理(预览版)功能
导航到 Azure 防火墙资源,然后转到防火墙策略。
在“设置”中,导航到“显式代理(预览版)”窗格。
选择“启用显式代理”。
输入所需的 HTTP 和 HTTPS 端口值。
注释
通常为 HTTP 端口使用 8080,HTTPS 端口使用 8443 。
选择“应用”保存更改。
创建应用程序规则
如果要为 Azure 防火墙显式代理创建允许列表,可以选择创建应用程序规则,以允许与方案所需的终结点通信。
- 导航到适用的防火墙策略。
- 在“设置”中,导航到“应用程序规则”窗格。
- 选择“添加规则集合”。
- 为规则集合提供一个名称。
- 根据可能拥有的其他规则设置规则优先级。
- 为规则提供名称。
- 对于“源”,请输入“*”或者你可能拥有的任何源 IP。
- 对于“协议”,请设置为“http:80,https:443”。
- 对于“目标”,请设置为应用场景所需的以逗号分隔的 URL 的列表。 有关所需 URL 的详细信息,请参阅 Azure Arc 网络要求。
- 选择“添加”以保存规则集合和规则。
将 Azure 防火墙设置为转发代理
按照以下步骤将 Azure 防火墙设置为 Arc 资源的转发代理。
已启用 Arc 的服务器
若要在载入新的 Arc 服务器时将 Azure 防火墙设置为转发代理,
- 生成加入脚本。
- 将“连接方法”设置为“代理服务器”,并将“代理服务器 URL”设置为 。
http://<Your Azure Firewall’s Private IP>:<Explicit Proxy HTTPS Port>
- 使用该脚本加入服务器。
若要为依托于 Arc 的现有服务器设置转发代理,请使用本地 Azure Connected Machine 代理 CLI 运行以下命令:
azcmagent config set proxy.url http://<Your Azure Firewall's Private IP>:<Explicit Proxy HTTPS Port>`
启用 Arc 功能的 Kubernetes
若要在新 Kubernetes 群集上线时将 Azure 防火墙设置为转发代理,请运行 connect 命令并指定参数proxy-https
proxy-http
。
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https http://<Your Azure Firewall's Private IP>:<Explicit Proxy HTTPS Port> --proxy-http http://<Your Azure Firewall’s Private IP>:<Explicit Proxy HTTPS Port>
若要为已启用 Arc 的现有 Kubernetes 群集设置转发代理,请运行以下命令:
az connectedk8s update --proxy-https http://<Your Azure Firewall’s Private IP>:<Explicit Proxy HTTPS Port>
故障排除
若要验证是否通过 Azure 防火墙显式代理成功代理了流量,应首先确保显式代理可从你的网络进行访问,并按预期工作。 为此,请运行以下命令:curl -x <proxy IP> <target FQDN>
此外,还可以查看 Azure 防火墙应用程序规则日志来验证流量。 显式代理依赖于应用程序规则,因此 AZFWApplicationRules 表中提供了所有日志,如以下示例所示:
专用链接集成
可以将 Azure 防火墙显式代理与 Azure 专用链接结合使用。 若要一起使用这些解决方案,请配置你的环境,以便发往不支持专用链接路由的终结点的流量通过显式代理进行路由,同时允许发往支持专用链接的 Azure Arc 终结点的流量绕过显式代理,将流量直接路由到相关的专用终结点:
- 对于 已启用 Arc 的服务器的 Azure 专用链接,请使用 “代理绕过”功能。
- 对于已启用 Arc 的 Kubernetes 的 Azure 专用链接(预览版),请在群集的代理跳过范围内包含 Microsoft Entra ID、Azure 资源管理器、Azure Front Door 和 Microsoft 容器注册表终结点。