你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如果使用企业代理来管理出站流量,Azure Arc 网关允许你仅使用 7 个终结点将基础架构加入 Azure Arc。 使用 Azure Arc 网关,可以:
- 通过仅向七个完全限定域开放公共网络访问来连接到 Azure Arc。
- 查看和审核 Azure Connected Machine 代理通过 Azure Arc 网关发送到 Azure 的所有流量。
Note
当前 Arc 网关的创建受到临时 Azure Front Door 变更的影响。 创建资源最多可能需要两个小时,并且可能会超时,从而导致故障。 如果资源创建失败,请再次尝试创建 Arc 网关资源。
Azure Arc 网关的工作原理
Azure Arc 网关包含两个主要组件:
- Azure Arc 网关资源: 用于充当 Azure 流量统一前端的 Azure 资源。 此网关资源在特定域中提供。 创建 Azure Arc 网关资源后,域会在成功响应中返回给您。
- Azure Arc 代理: 添加到 Azure Arc 代理的新组件。 此组件在已启用 Azure Arc 的资源作为名为 Azure Arc 智能体的服务的上下文中运行。 它充当 Azure Arc 代理和扩展使用的转发代理。 此代理无需配置。
网关准备就绪后,流量通过 Azure Arc 代理>Azure Arc 代理>企业代理>Azure Arc 网关>目标服务流动。 有关详细信息,请参阅 Azure Arc 网关转发协议。
若要以高分辨率下载体系结构图,请访问 Jumpstart Gems。
当前限制
Azure Arc 网关具有以下当前限制。 规划配置时,请考虑以下因素:
- 使用 Azure Arc 网关时不支持代理绕过。 即使尝试通过运行
azcmagent config set proxy.bypass该功能,流量也不能绕过代理。 - 每个 Azure 订阅最多可拥有五个 Azure Arc 网关资源。
- Azure Arc 网关仅用于 Azure 公有云平台中的连接。
- 不建议在需要传输层安全性(TLS)终止或检查的环境中使用 Azure Arc 网关。 如果环境需要 TLS 终止或检查,建议跳过对 Azure Arc 网关终结点的 TLS 检查(
<Your URL prefix>.gw.arc.azure.com)。 有关详细信息,请参阅 Azure Arc 网关和 TLS 检查。
尽管 Azure Arc 网关提供了使用已启用 Azure Arc 的服务器所需的连接,但仍可能需要手动允许环境中的更多终结点将某些扩展和服务用于连接的计算机。 有关详细信息,请参阅 更多方案。 随着时间的推移,Azure Arc 网关逐渐涵盖更多终结点,并进一步消除了这些手动设置的需求。
规划 Azure Arc 网关设置
- 区域选择:Azure Arc 网关是一项全局服务。 运行时连接通过 Azure Front Door 全局边缘网络提供,该网络会自动将客户端路由到最近的状态点,以实现低延迟访问和无缝故障转移。 创建网关时选择的区域仅确定控制平面。 这是网关资源和管理元数据所在的区域,也是创建、更新和删除操作的执行位置。 选择的区域不会限制网关的运行时终结点或性能。 例如,选取美国东部与西欧不会更改客户端在运行时连接的位置。 它仅影响管理平面的部署和策略或基于角色的访问控制范围。
- 每个 Arc 网关资源可支持的 Azure Arc 启用资源数量:在规划使用 Azure Arc 网关的 Azure Arc 部署时,你必须确定环境需要多少个网关资源。 此数量取决于计划在每个 Azure 区域中管理的资源数。 仅适用于已启用 Azure Arc 的服务器,一个常规规则是,一个 Azure Arc 网关资源可以处理每个 Azure 区域的 2,000 个资源。 可以将 Azure Arc 网关与已启用 Azure Arc 的服务器、已启用 Azure Arc 的 Kubernetes 群集和 Azure 本地实例相结合。 我们提供的公式 可帮助你计算所需的 Azure Arc 网关资源数。
所需的权限
若要创建 Azure Arc 网关资源并管理其与已启用 Azure Arc 的服务器的关联,用户必须具有 Azure Arc 网关管理器角色。
创建 Azure Arc 网关资源
可以使用 Azure 门户、Azure CLI 或 Azure PowerShell 创建 Azure Arc 网关资源。 完成这些步骤后,创建 Azure Arc 网关资源通常需要大约 10 分钟。
在浏览器中,登录到 Azure 门户。
转到 Azure Arc。在服务菜单上的 “管理”下,选择 “Azure Arc 网关”,然后选择“ 创建”。
选择要在 Azure 中管理 Azure Arc 网关资源的订阅和资源组。 同一 Azure 租户中任何已启用 Azure Arc 的资源都可以使用 Azure Arc 网关资源。
对于 “名称”,请输入 Azure Arc 网关资源的名称。
对于 “位置”,请输入 Azure Arc 网关资源应所在的区域。 同一 Azure 租户中任何已启用 Azure Arc 的资源都可以使用 Azure Arc 网关资源。
选择下一步。
在“标记”页上,根据需要指定一个或多个自定义标记来支持你的标准。
选择“查看 + 创建”。
查看输入的详细信息,然后选择“创建”。
确认对所需 URL 的访问权限
成功创建资源后,成功响应包括 Azure Arc 网关 URL。 确保 Azure Arc 网关 URL 及所有这些 URL 在 Azure Arc 资源所在的环境中被允许。
Important
此列表最近已更新。 如果以前启用了对这些 URL 的访问权限,则可能需要查看列表并更新网络配置,以确保允许每个终结点。
| URL | Purpose |
|---|---|
<Your URL prefix>.gw.arc.azure.com |
网关 URL(在创建网关资源后运行 az arcgateway list 获取) |
management.azure.com |
Azure 资源管理器控制通道所需的 Azure 资源管理器终结点 |
login.microsoftonline.com、<region>.login.microsoft.com |
用于获取标识访问令牌的 Microsoft Entra ID 终结点 |
gbl.his.arc.azure.com |
用于与 Azure Arc 代理通信的云服务终结点 |
<region>.his.arc.azure.com |
用于 Azure Arc 核心控制通道 |
packages.microsoft.com |
连接 Linux 服务器到 Azure Arc 的必要条件 |
download.microsoft.com |
用于下载 Windows 安装包 |
使用 Azure Arc 网关资源加载新的 Azure Arc 资源
生成安装脚本。
按照快速入门:使用启用了 Azure Arc 的服务器连接混合计算机中的说明操作,创建一个脚本,以便自动下载和安装 Azure Connected Machine Agent,并与 Azure Arc 建立连接。
Important
生成载入脚本时,请确保在“连接方法”部分选择了“公共终结点”。 此外,请确保在 “网关资源” 下拉列表中选择了 Azure Arc 网关资源。
运行安装脚本,将服务器加入 Azure Arc。
在脚本中,Azure Arc 网关资源的 Azure 资源管理器 ID 显示为
--gateway-id。
将现有 Azure Arc 资源配置为使用 Azure Arc 网关
可以使用 Azure 门户、Azure CLI 或 Azure PowerShell 将现有 Azure Arc 资源与 Azure Arc 网关资源相关联。
在 Azure 门户中,转到 Azure Arc - Azure Arc 网关。
选择要与启用 Azure Arc 的服务器关联的 Azure Arc 网关资源。
在网关资源的服务菜单上,选择 “关联资源”。
选择 并添加。
选择要与 Azure Arc 网关资源关联的启用 Azure Arc 的服务器。
选择应用。
使用 1.50 或更早版本的 Connected Machine 代理时,您必须运行 azcmagent config set connection.type gateway 来更新已启用 Azure Arc 的服务器,以使用 Azure Arc 网关。 对于代理版本 1.51 及更高版本,此步骤不是必需的,因为作会自动发生。 建议使用 最新版本的 Connected Machine 代理。
验证 Azure Arc 网关设置是否成功
在载入的服务器上,运行命令 azcmagent show。
结果应指示以下值:
- 代理状态:显示为 已连接。
-
使用 HTTPS 代理:显示为
http://localhost:40343。 - 上游代理:显示为企业代理(如果已设置)。 Azure Arc 网关 URL 应反映网关资源的 URL。
若要验证安装是否成功,请运行命令 azcmagent check。
结果应指示 connection.type 已设置为网关,并且 Reachable 列应为所有 URL 指示 true。
删除 Azure Arc 网关关联
可以禁用 Azure Arc 网关,并删除 Azure Arc 网关资源与已启用 Azure Arc 的群集之间的关联。 然后,已启用 Azure Arc 的群集会改用直接流量。
此操作仅适用于已启用 Azure Arc 的服务器上的 Azure Arc 网关,而不适用于 Azure Local。 如果在 Azure 本地上使用 Azure Arc 网关,请参阅 关于 Azure 本地的 Azure Arc 网关,以获取删除信息。
通过运行以下命令,将已启用 Azure Arc 的服务器的连接类型从
direct设置为gateway:azcmagent config set connection.type directNote
如果执行此步骤,则必须在环境中满足所有 Azure Arc 网络要求 才能继续使用 Azure Arc。
从计算机中分离 Azure Arc 网关资源:
在 Azure 门户中,转到 Azure Arc - Azure Arc 网关。
选择 Azure Arc 网关资源。
在网关资源的服务菜单上,选择 “关联资源”。
选择服务器。
选择“删除”。
删除 Azure Arc 网关资源
可以使用 Azure 门户、Azure CLI 或 Azure PowerShell 删除 Azure Arc 网关资源。 此操作可能需要长达 5 分钟才能完成。
在 Azure 门户中,转到 Azure Arc - Azure Arc 网关。
选择 Azure Arc 网关资源。
选择 “删除”,然后确认删除。
监视 Azure Arc 网关流量
可以通过查看 Azure Arc 代理日志来审核 Azure Arc 网关流量。
若要查看 Windows 上的 Azure Arc 代理日志,请执行以下作:
- 在 PowerShell 中运行
azcmagent logs。 - 在生成的 .zip 文件中,
arcproxy.log该文件位于ProgramData\AzureConnectedMachineAgent\Log文件夹中。
若要查看 Linux 上的 Azure Arc 代理日志,请执行以下作:
- 运行
sudo azcmagent logs。 - 在生成的 .zip 文件中,
arcproxy.log该文件位于/var/opt/azcmagent/log/文件夹中。
多个资源类型的 Azure Arc 网关资源规划
若要确定多个资源类型每个 Azure 区域所需的网关资源数,请使用以下公式:
分数 = (服务器 ÷ 20) + (Kubernetes 群集÷ 10) + (Azure 本地实例 ÷ 10)
Where:
- 服务器 = 总独立服务器 + 预配的虚拟机(在 Azure 本地)
- Kubernetes 群集 = 独立 Kubernetes 群集总数 + Azure Arc 上的 Azure Kubernetes 服务群集(在 Azure Local 上)
- Azure 本地实例 = Azure 本地部署总数
如果计划管理的资源所在的所有区域的评分都 < 100,那么一个 Azure Arc 网关资源就足够了。
如果计划管理资源的任何区域的得分≥100,则需要为该区域准备多个 Azure Arc 网关资源。
以下示例提供了更多上下文。
示例 1
| 区域 | Servers | Kubernetes 群集 | Azure 本地实例 | 评分计算 | Score |
|---|---|---|---|---|---|
| 美国东部 | 300 | 20 | 5 | 300/20 + 20/10 + 5/10 | 17.5 |
| 西欧 | 800 | 50 | 10 | 800/20 + 50/10 + 10/10 | 46.0 |
| 日本东部 | 100 | 5 | 2 | 100/20 + 5/10 + 2/10 | 5.7 |
每个区域的分数为 <100。 一个 Azure Arc 网关资源已足够。
示例 2
| 区域 | Servers | Kubernetes 群集 | Azure 本地实例 | 评分计算 | Score |
|---|---|---|---|---|---|
| 美国东部 | 6,000 | 300 | 40 | 6000/20 + 300/10 + 40/10 | 334.0 |
| 西欧 | 2,500 | 120 | 二十五 | 2500/20 + 120/10 + 25/10 | 139.5 |
| 东南亚 | 900 | 30 | 8 | 900/20 + 30/10 + 8/10 | 48.8 |
- 美国东部得分为 >100。 需要三个 Azure Arc 网关资源来支持此区域中的负载。
- 西欧的比分是 >100分。 需要两个 Azure Arc 网关资源来支持此区域中的负载。
- 东南亚得分为 <100。 需要一个 Azure Arc 网关资源来支持此区域中的负载。
在此方案中,总共只需要三个网关资源,因为计算基于每个区域的最大负载,而不是跨所有区域的组合负载。
更多方案
Azure Arc 网关涵盖载入服务器所需的终结点,以及支持更多已启用 Arc 的其他方案的终结点。 根据采用的方案,可能需要在环境中允许更多终结点。
不需要更多终结点的方案
- Windows Admin Center
- 安全外壳
- 扩展的安全更新
- 适用于 SQL Server 的 Azure 扩展
需要更多终结点的方案
使用 Azure Arc 网关时,必须在企业代理中允许以下场景中列出的终结点:
已启用 Azure Arc 的数据服务:
*.ods.opinsights.azure.com*.oms.opinsights.azure.com*.monitoring.azure.com
Azure Monitor 代理:
<log-analytics-workspace-id>.ods.opinsights.azure.com<data-collection-endpoint>.<virtual-machine-region>.ingest.monitor.azure.com
Azure Key Vault 证书同步:
<vault-name>.vault.azure.net
Azure 自动化混合 Runbook 辅助角色扩展:
*.azure-automation.net
Windows OS 更新扩展/Azure 更新管理器:
- 你的环境必须满足 Windows 更新的所有 先决条件 。
Microsoft Defender:
- 你的环境必须满足 Microsoft Defender 的所有 先决条件 。
Azure Arc 网关体系结构
查看以下信息,详细了解 Azure Arc 网关的体系结构。
Azure Arc 网关转发协议
Azure Arc 网关和 TLS 解析
Azure Arc 网关的工作原理是在 Azure 中的 Azure Arc 代理与 Azure Arc 网关之间建立 TLS 会话。 在此 TLS 会话中,Azure Arc 代理将嵌套的 HTTP 连接请求发送到 Azure Arc 网关资源。 连接请求指示资源将连接转发到目标目标。 然后,如果目标目标本身位于 TLS 上,则会在 Azure Arc 代理和目标目标之间建立内部端到端 TLS 会话。
在 Azure Arc 网关中使用终止代理时,代理将看到嵌套的 HTTP 连接请求。 它可能允许此类请求,但除非它执行嵌套 TLS 终止,否则它无法截获到目标目标的 TLS 加密流量。 此行为超出了标准 TLS 终止代理的功能。 使用终止代理时,建议跳过对 Azure Arc 网关终结点的 TLS 检查。
可通过 Azure Arc 网关访问的终结点
Arc 网关使用一组终结点使所有 Arc 功能能够无缝运行。 目前,此集包括 200 多个终结点,这些终结点表示所有受支持功能的累积要求。 要查看完整列表,请参阅 Azure Arc 网关终结点。
某些终结点使用通配符来简化连接并确保功能覆盖。 建议与网络安全团队一起查看这些终结点,以确认它们符合组织的策略。 这些终结点对于 Arc 服务的安全和可靠运行至关重要。