将Azure Web App VNet集成到具有专用链接的存储帐户中

问题描述 投票:1回答:1

* 2020年4月2日更新*

今天与Microsoft通话。事实证明,App Services当前无法使用私有DNS区域。因此,您现在需要设置自己的DNS服务器。该问题将得到解决,但我们无法给我提供预计到达时间。因此,现在它要么是自定义DNS服务器,要么是使用服务端点。更改后,我将更新此问题


我在配置VNet集成(子网10.240.0.32/27)的Azure应用服务(S1)上有一个api。我还有一个托管帐户,在该帐户上配置了专用链接(子网10.240.0.0/27并获得ip 10.240.0.4)。但是它不起作用,我得到以下错误:

StorageException:该请求无权执行此操作。

有人知道我是否需要配置其他功能才能工作吗?

doc声明我不必更改任何连接字符串。连接在配置专用链接之前有效。

*更新*

我也尝试过使用Azure SQL数据库。在与用于存储的子网相同的子网中部署了到SQL的专用链接。这里运气也不好。出现以下错误:

SqlException:原因:发生特定于实例的错误建立与SQL Server的连接。的公共数据端点该服务器不可访问。要连接到该服务器,请使用虚拟网络内部的专用端点。

当我将'WEBSITE_VNET_ROUTE_ALL'添加到Web应用程序中(使所有传出流量通过vnet而不只是私有ips进入Web应用程序并将其设置为'1'时,会出现以下错误:

SqlException:发生了与网络相关或特定于实例的错误建立与SQL Server的连接时。服务器不是找到或无法访问。验证实例名称正确并且该SQL Server配置为允许远程连接。(提供者:TCP提供程序,错误:0-发生了不可恢复的错误在数据库查找期间。)

然后,我在与私有链接相同的子网中创建了一个VM。从该虚拟机中,我可以运行此命令,该命令可以正确返回正确的ip:。\ psping.exe azurenetworking.database.windows.net:1433

enter image description here

azure-sql-database azure-storage azure-web-app-service azure-virtual-network
1个回答
0
投票

当您通过公共端点访问Blob存储但启用存储帐户的VNet防火墙设置时,可能会发生错误。

在将App VNet集成到存储帐户连接的情况下,可以使用service endpoint代替private endpoint。要将服务端点与您的应用程序一起使用,请使用regional VNet Integration连接到选定的虚拟网络。然后在用于集成的子网上配置服务端点Microsoft.Storage

[如果您仍然想使用私有终结点,恐怕您需要使用own DNS server从Azure应用服务(Web App,Function或Bot)使用虚拟网络集成来进行名称解析同一虚拟网络中的实例或VM。参见Name resolution for resources in Azure virtual networks

[通过专用链接,blob存储DNS名称从应用程序服务控制台解析为公用IP地址,而不是专用端点IP地址。从应用程序服务访问时,您似乎正在通过公共端点访问VNet外部的Blob存储。同时,它可以从与专用终结点相同的子网中的VM解析为专用终结点IP。参见DNS changes for private endpoints

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.