将专用终结点用于托管 Prometheus 和 Azure Monitor 工作区
将专用终结点用于托管 Prometheus 和 Azure Monitor 工作区,以允许虚拟网络 (VNet) 上的客户端通过专用链接安全地查询数据。 专用终结点使用 Azure Monitor 工作区资源的 VNet 地址空间内的单独 IP 地址。 VNet 上的客户端与工作区资源之间的网络流量通过 VNet 和 Microsoft 主干网络上的专用链接进行传输,避免暴露给公共 Internet。
注意
如果使用 Azure 托管 Grafana 查询数据,请配置一个托管专用终结点,以确保从托管 Grafana 到 Azure Monitor 工作区的查询使用 Microsoft 主干网络,而无需通过 Internet。
通过为工作区使用专用终结点,你可以:
- 通过配置公共访问网络设置以阻止工作区公共查询终结点上的所有连接来保护的工作区。
- 通过阻止数据从 VNet 渗出,来提高 VNet 的安全性。
- 使用 VPN 或 ExpressRoutes 通过专用对等互连从连接到 VNet 的本地网络安全地连接到工作区。
概念概述
专用终结点是用于虚拟网络 (VNet) 中的 Azure 服务的特殊网络接口。 为工作区创建专用终结点时,它将在 VNet 上的客户端和工作区之间提供安全连接。 从 VNet 的 IP 地址范围为专用终结点分配 IP 地址。 专用终结点与工作区之间的连接使用安全的专用链接。
VNet 中的应用程序可以使用通过其他方式连接时所用的相同连接字符串和授权机制,通过专用终结点无缝地连接到工作区。
可以在使用服务终结点的子网中创建专用终结点。 然后,子网中的客户端可以使用专用终结点连接到工作区,同时使用服务终结点访问其他服务。
在 VNet 中创建用于工作区的专用终结点时,会将一个申请批准的许可请求发送到工作区帐户所有者。 如果请求创建专用终结点的用户也是工作区的所有者,则此许可请求会自动获得批准。
Azure Monitor 工作区所有者可以通过 Azure 门户中工作区“网络”页面上的“专用访问”选项卡来管理许可请求和专用终结点。
提示
如果想限制为仅通过专用终结点访问工作区,请在 Azure 门户工作区的“网络”页上的“公共访问”选项卡上选择“禁用公共访问并使用专用访问”。
创建专用终结点
若要使用 Azure 门户、PowerShell 或 Azure CLI 创建专用终结点,请参阅以下文章。 这些文章均使用 Azure Web 应用作为目标服务,但对于 Azure Monitor 工作区,创建专用链接的步骤相同。
创建专用终结点时,请从“基本信息”选项卡上的下拉列表中选择以下选项:
- 资源类型 - 选择
Microsoft.Monitor/accounts
。 指定它连接到的 Azure Monitor 工作区。 - 目标子资源:选择
prometheusMetrics
。
使用以下文章创建专用终结点:
连接到专用终结点
VNet 上使用专用终结点的客户端应使用与连接到公共终结点的客户端相同的 Azure Monitor 工作区查询终结点。 我们依赖于 DNS 解析,通过专用链接自动将连接从 VNet 路由到工作区。
默认情况下,我们会创建一个附加到 VNet 的专用 DNS 区域,并带有专用终结点的必要更新。 但是,如果使用自己的 DNS 服务器,则可能需要对 DNS 配置进行其他更改。 下面关于 DNS 更改的部分描述了专用终结点所需的更新。
专用终结点的 DNS 更改
注意
有关如何为专用终结点配置 DNS 设置的详细信息,请参阅 Azure 专用终结点 DNS 配置。
创建专用终结点时,工作区的 DNS CNAME 资源记录将更新为子域中具有前缀 privatelink
的别名。 默认情况下,我们还会创建一个与 privatelink
子域对应的专用 DNS 区域,其中包含专用终结点的 DNS A 资源记录。
使用专用终结点从 VNet 外部解析查询终结点 URL 时,它会解析为工作区的公共终结点。 从托管专用终结点的 VNet 进行解析时,查询终结点 URL 解析为专用终结点的 IP 地址。
在下面的示例中,我们使用的是位于中国北部区域的 k8s02-workspace
。 不保证资源名称是唯一的,需要我们在名称后面加几个字符,使 URL 路径是唯一的;例如,k8s02-workspace-<key>
。 此唯一查询终结点显示在 Azure Monitor 工作区的“概述”页上。
从托管专用终结点的 VNet 外部进行解析时,Azure Monitor 工作区的 DNS 资源记录将为:
名称 | 类型 | 值 |
---|---|---|
k8s02-workspace-<key>.<region>.prometheus.monitor.azure.cn |
CNAME | k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.cn |
k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.cn |
CNAME | <AMW 区域服务公共终结点> |
<AMW 区域服务公共终结点> | A | <AMW 区域服务公共 IP 地址> |
如前文所述,可以使用工作区“网络”页面上的“公共访问”选项卡,通过公共终结点拒绝或控制对 VNet 外部的客户端的访问。
当“k8s02-workspace”的 DNS 资源记录由托管专用终结点的 VNet 中的客户端解析时,将为:
名称 | 类型 | 值 |
---|---|---|
k8s02-workspace-<key>.<region>.prometheus.monitor.azure.cn |
CNAME | k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.cn |
k8s02-workspace-<key>.privatelink.<region>.prometheus.monitor.azure.cn |
A | <专用终结点 IP 地址> |
对于托管专用终结点的 VNet 上的客户端和 VNet 外部的客户端,此方法允许使用相同的查询终结点访问工作区。
如果在网络上使用自定义 DNS 服务器,则客户端必须能够将工作区查询终结点的 FQDN 解析为专用终结点 IP 地址。 应配置 DNS 服务器以将专用链接子域委托到 VNet 的专用 DNS 区域,或者使用专用终结点 IP 地址为 k8s02-workspace
配置 A 记录。
提示
使用自定义或本地 DNS 服务器时,应将 DNS 服务器配置为将 privatelink
子域中的工作区查询终结点名称解析为专用终结点 IP 地址。 为此,可以将 privatelink
子域委托给 VNet 的专用 DNS 区域,或在 DNS 服务器上配置 DNS 区域并添加 DNS A 记录。
Azure Monitor 工作区专用终结点的建议 DNS 区域名称为:
资源 | 目标子资源 | 区域名称 |
---|---|---|
Azure Monitor 工作区 | prometheusMetrics | privatelink.<region>.prometheus.monitor.azure.cn |
有关配置自己的 DNS 服务器以支持专用终结点的详细信息,请参阅以下文章:
定价
有关定价详细信息,请参阅 Azure 专用链接定价。
已知问题
请记住以下关于 Azure Monitor 工作区专用终结点的已知问题。
针对专用终结点所在 VNet 中的客户端的工作区查询访问约束
具有现有专用终结点的 VNet 中的客户端访问具有专用终结点的其他 Azure Monitor 工作区时面临约束。 例如,假设 VNet N1 有一个用于工作区 A1 的专用终结点。 如果工作区 A2 在 VNet N2 中有一个专用终结点,则 VNet N1 中的客户端也需要使用专用终结点查询帐户 A2 中的工作区数据。 如果工作区 A2 未配置任何专用终结点,则 VNet N1 中的客户端可以在没有专用终结点的情况下从该工作区查询数据。
此约束是工作区 A2 创建专用终结点时 DNS 发生更改的结果。