0

我正在尝试将应用服务配置为使用私有端点连接到 Azure Sql,如此处所述(但来自门户): https ://blog.arinco.com.au/2020/08/connect-an-azure-app-service -to-azure-sql-using-azure-private-link/

但是一旦我这样做了,我连接到同一个 vnet 的 Azure Functions 之一就不能再访问存储帐户了。我们通过删除/添加私有端点配置多次确认。

我正在使用定时器触发功能:

The listener for function 'MyFunction' was unable to start.
innermostMessage: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

在此处输入图像描述

这如何阻止我访问存储帐户?也许一旦我将私有链接用于 Paas 产品之一,我需要全部使用它?

4

2 回答 2

0

我假设默认情况下您可以访问函数链接存储帐户的公共端点(选择Allow access from所有网络),然后将应用程序集成到 VNet 并WEBSITE_VNET_ROUTE_ALL设置为 1,这将告诉应用程序服务或您的 Azure 函数通过路由所有流量网络。默认情况下,应用服务仅将 RFC1918 流量路由到 VNET。这会限制来自 VNet 的出站流量。

在这种情况下,您可以尝试将应用集成子网添加到链接存储帐户的网络中。

在此处输入图像描述

于 2021-01-26T10:46:55.790 回答
0

几件事要检查,

  • WEBSITE_PRIVATE_IP如果环境变量存在,您可以通过 Kudu 控制台检查吗?如果缺少此项,则意味着该 VM 上的区域 VNet 集成设置失败。在这里查看我的回复

  • Web App 是通过 Private Endpoint 还是 Service Endpoint 连接到存储?

  • 使用 Kudu 控制台,运行以下命令以查看主机名解析到的 IP。

    nameresolver hostname dnsServerIpAddress

    在这里,dnsServerIpAddress 是可选的。如果未提供,它将选择 DNS 应用程序设置或 VNet 的 DNS 服务器。

  • 对端口 443 上的存储端点的 tcpping 是否有效?尝试运行以下命令

    tcpping storageaccount.blob.core.windows.net

您还将检查相同的 SQL。

如果它是启用了私有端点的目标,则确保名称解析器将主机名解析为私有端点的 IP 地址。如果它解析为公共 IP 地址,则目标资源的私有端点设置存在问题。

要进一步隔离,请尝试删除私有端点并通过服务端点进行连接。

如果没有任何帮助,请向 Azure 支持部门提交票证,以便他们进一步调查。

于 2021-02-11T05:04:34.390 回答