无法使用专用终结点将 Azure Function 与 Azure SQL 连接

2024-06-23

我创建了一个 SQL Server,然后使用私有 IP 创建了与我的 TESTVNET/SUBNET1 的私有链接10.1.1.4。我现在已禁用 SQL 服务器的公共访问。

I have an Azure function running on App Service which I've VNET Integrated with VNET/SUBNET2. Subnet Image Subnet 2 shows it's delegated to server farms. (also if someone can explain what does delegate to means, I found I cannot create any VM in that subnet as well, probably it's just can't be useful for any other purpose)

现在,当我的天蓝色函数尝试连接到数据库时。它失败并出现以下错误:

2020-08-30T15:25:45.216 [Error] Unhandled rejection SequelizeAccessDeniedError: Cannot open server "10.1.1.4" requested by the login. The login failed.但是,如果我提供公共 FQDN,则会出现以下错误。

2020-08-30T15:29:43.654 [Error] Unhandled rejection SequelizeAccessDeniedError: Reason: An instance-specific error occurred while establishing a connection to SQL Server. The public network interface on this server is not accessible. To connect to this server, use the Private Endpoint from inside your virtual network.

这里,私有端点创建的私有 DNS 应该理想地用于获取 SQL 数据库的私有 IP,但似乎该函数没有使用私有 DNS,可能是因为不是在隔离环境中运行。

现在,在我的 Azure 功能应用程序设置中,我添加了WEBSITE_VNET_ROUTE_ALL =1这意味着所有请求都应路由到 VNET。所以现在如果我启用公共访问互联网,并允许Azure服务访问数据库(我认为azure默认添加了公共IP)。该函数连接到数据库。 现在我想了解哪里出了问题以及为什么专用端点连接不起作用。任何帮助表示赞赏。

In the DB firewall settings, I've allowed traffic from below to subnets: DB firewall settings Network Configuration

TESTVNET: 10.1.0.0/16

SUBNET 1: 10.1.1.0/24

SUBNET 2: 10.1.2.0/24

我已在 SUBNET 1 和 SUBNET 2 中禁用 SQL 的服务端点。我的 NSG 具有默认设置,即 允许 VnetInBound、允许 AzureLoadBalancerInBound、DenyAllInBound 允许 VnetOutBound、允许 InternetOutBound、DenyAllOutBound。 由于我的专用链接在同一 VNET 中具有专用 IP,因此我认为 NSG 不会产生任何影响。

Azure 新手,正在测试。感谢您的耐心等待。


要使 Azure Function 连接到专用端点,您需要使用互联网络集成 https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-vnet.

应用程序与 VNet 集成后,它将使用与 VNet 配置相同的 DNS 服务器。默认情况下,你的应用程序无法与 Azure DNS 专用区域配合使用。要使用 Azure DNS 专用区域,您需要添加以下应用程序设置:

WEBSITE_DNS_SERVER with value 168.63.129.16
WEBSITE_VNET_ROUTE_ALL with value 1

除了使您的应用程序能够使用 Azure DNS 专用区域之外,这些设置还会将所有出站呼叫从您的应用程序发送到您的 VNet。参考here https://learn.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet#azure-dns-private-zones.

那么你可以为 Azure SQL 数据库设置专用链接 https://learn.microsoft.com/en-us/azure/azure-sql/database/private-endpoint-overview#how-to-set-up-private-link-for-azure-sql-database。您可以从同一 VNet 中的新子网创建 Azure VM使用 SQL Server Management Studio (SSMS) 检查连接 https://learn.microsoft.com/en-us/azure/azure-sql/database/private-endpoint-overview#check-connectivity-using-sql-server-management-studio-ssms。如果启用专用终结点,则应从该 Azure VM 获取客户端专用 IP,以将 Azure SQL 数据库与其 FQDN 连接。

有关更多信息,您可以阅读专用端点 VS 服务端点这个博客 https://purple.telstra.com/blog/azure-private-link-and-endpoint.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用专用终结点将 Azure Function 与 Azure SQL 连接 的相关文章

随机推荐

  • 在Matlab中,如何改变轴方向?

    我一直在 Matlab 中编写一个脚本来绘制 3D 图像 方法是使用plot3 轴在此区间内运行 x 1 gt 0 y 0 01 gt 0 z 0 gt 1 结果如下图所示 现在我想更改轴的方向 并使用此轴方向重新绘制图形 x 0 gt 1
  • 使用通配符删除文件 - exec 与 unlink

    我正在编写一个 php 脚本 我想使用通配符 从给定文件夹中删除一些文件 我找到了一些工作示例 例如this one https stackoverflow com questions 5535202 delete images from
  • 在 Rmarkdown knit 输出中指定 ggplot 图形的高度和宽度

    我用 ggplot2 创建了一个图 其中 x 轴标签不可读 除非该图大于默认值 在 Rstudio 中查看时 我可以动态调整大小 使用 ggsave 保存时 我可以指定高度和宽度 我如何在 Rmarkdown 文件中执行此操作 以便输出包含
  • 如何在routes.rb中传递查询字符串进行重定向

    我的routes rb中有一个正常运行的重定向 如下所示 match invoices gt redirect dashboard 我现在想添加一个查询字符串 以便 例如 invoices show overdue 将被重定向到 dashb
  • r 中的关联矩阵

    corrplot 允许您在 R 中绘制相关矩阵的方式 知道如何在 R 中绘制关联矩阵吗 其中关联方法使用任何用户指定的方法 例如 Cramer 的 V 您问题的答案很大程度上取决于您获得的数据和具体的关联方法 我假设您有一堆名义变量 并希望
  • 更新 ios 和 xcode 后部署时出现错误“Xcode 无法找到安装此版本的软件映像”

    我不断收到错误 部署时 Xcode 找不到安装此版本的软件映像 我将 iPhone 升级到了 6 1 3 版本 最近也将 xcode 更新到了最新版本 在此之前 我可以将应用程序部署到手机 但现在我的应用程序无法部署到我的设备 我是否必须重
  • 获取 MySQL 表中第二高的值

    我有一个这样定义的员工和工资表 name type VARCHAR salary type INTEGER 我可以使用什么查询来获得该表中第二高的薪水 这是一个解释关系的因素 Name Salary Jim 6 Foo 5 Bar 5 St
  • 在sklearn中保存数据

    我正在使用 scikit learn 对文本文档进行聚类 我正在使用 CountVectorizer TfidfTransformer 和 MiniBatchKMeans 类来帮助我做到这一点 新的文本文档一直被添加到系统中 这意味着我需要
  • Rails 3 路线和模块

    我的模块中有一个 AR 模型 class Long Module Path Model lt ActiveRecord Base end 并想要使用以下路由 没有模块名称 因为它更容易编写和记住 resources models 但是 Ra
  • Excel 计数范围内唯一的 if

    如果 B 列是一个值 可以使用什么公式来计算 A 列中的唯一值 我在网上看到过很多 但当仅使用列范围时 它们似乎都不起作用 数据的长度将有所不同 因此只能使用列引用 这有效 SUMPRODUCT A1 A18 lt gt B1 B18 D
  • IndexedDB模糊搜索

    好吧 首先 对不起我的英语 我正在从事一个网络项目 当我在输入框中键入内容时 该项目会显示建议 但我想使用 IndexedDB 来提高 Firefox 中的查询速度 对于WebSQL我有这样一句话 db transaction functi
  • Numpy:堆叠屏蔽数组并计算最小值/最大值

    我正在使用屏蔽数组 我想计算不同数组 列的最大值 如果整个数组被屏蔽 我就会遇到问题 Example import numpy as np x np ma array np array 1 2 3 4 100 mask True True
  • ASP.NET Core 的当前上下文中不存在名称“model”

    我正在尝试使用 ASP NET Core 开发一个带有插件的网站 我有我的主要项目 asp net Web 应用程序 它运行良好 我有一个类库项目 其中的控制器也可以正常工作 但我有一个问题的视图 当我打开 cshtml 文件时 我可以看到
  • 解析服务器仪表板登录

    所以 我是 Android Studio 的新手 我正在一步步学习在线课程 我在 AWS 上使用 ParseServer 我已经成功获取了我的 appId 等 并且可以直接从浏览器连接 Java SSH 客户端 我的应用程序可以成功将信息存
  • Identity Server 4:为什么我收到unauthorized_client?

    这是我的 mvc 与身份服务器连接的初始设置 app UseOpenIdConnectAuthentication new OpenIdConnectAuthenticationOptions AuthenticationType oidc
  • 如何使用 spring 配置 Hazelcast 进行会话缓存,同时将其限制为一组节点?

    我需要使用 Spring 设置 Hazelcast 会话缓存 使用 hazelcast 文档中的配置很简单 然而 其不足 我需要为我的每个环境 DEV QA PROD 使用不同的配置文件 或者 理想情况下 我想使用 spring bean
  • 将 ODBC 添加到 MAMP

    过去几天我一直在尝试安装 ODBC 但我快要失去理智了 我已经完全不适应这里了 请有人在我崩溃之前帮助我 这就是我正在尝试的 1 下载1 7 2源代码包 我使用的是1 7 2 http www mamp info en downloads
  • 如何检测 WiX 中正在运行的进程?

    我正在使用 WiX 3 构建安装文件 我想知道安装过程中 Outlook 是否正在运行 如果 Outlook 仍在运行 安装程序应通知用户将其关闭或必须在安装后重新启动 我注意到有一个功能 util CloseApplication 可以直
  • 安装库时-devel是什么意思?

    我正在阅读一些自述文件 它们包含一些带有 devel 的软件包 还有一些没有 有什么不同 sudo yum install gcc vs sudo yum install pcre devel 如果我安装 sudo yum install
  • 无法使用专用终结点将 Azure Function 与 Azure SQL 连接

    我创建了一个 SQL Server 然后使用私有 IP 创建了与我的 TESTVNET SUBNET1 的私有链接10 1 1 4 我现在已禁用 SQL 服务器的公共访问 I have an Azure function running o