gpt4 book ai didi

azure-sql-database - Azure Web App VNet 与具有专用链接的存储帐户集成

转载 作者:行者123 更新时间:2023-12-03 15:55:01 24 4
gpt4 key购买 nike

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

StorageException: This request is not authorized to perform this operation.


有谁知道我是否需要配置其他任何东西才能工作?
这个 doc声明我不必更改任何连接字符串。连接在配置专用链接之前有效。
更新
我也尝试过使用 Azure SQL 数据库。在与存储相同的子网中部署 SQL 专用链接。这里也没有多少运气。收到以下错误:

SqlException: Reason: An instance-specific error occurred whileestablishing a connection to SQL Server. The public data endpoint onthis server is not accessible. To connect to this server, use thePrivate Endpoint from inside your virtual network.


当我添加 WEBSITE_VNET_ROUTE_ALL (使所有传出流量通过 vnet 而不仅仅是私有(private) IP)到 Web 应用程序并将其设置为 1我收到以下错误:

SqlException: A network-related or instance-specific error occurredwhile establishing a connection to SQL Server. The server was notfound or was not accessible. Verify that the instance name is correctand that SQL Server is configured to allow remote connections.(provider: TCP Provider, error: 0 - A non-recoverable error occurredduring a database lookup.)


然后我在与私有(private)链接相同的子网中创建了一个 VM。从那个虚拟机我可以运行这个命令,该命令很好地返回正确的 IP:
.\psping.exe azurenetworking.database.windows.net:1433
enter image description here

2020 年 4 月 2 日更新
今天和微软通了电话。原来应用服务目前无法使用私有(private) DNS 区域。因此,您现在需要设置自己的 DNS 服务器。它将被修复,但他们无法给我 ETA。所以现在它要么是自定义 DNS 服务器,要么是使用服务端点。当这种情况发生变化时,我会更新这个问题

更新 6 月 2 日
这方面的详细信息已添加到文档中: https://docs.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet#azure-dns-private-zones
归结为:
若要使用 Azure DNS 专用区域,您需要添加以下应用设置: WEBSITE_DNS_SERVER有值 168.63.129.16 WEBSITE_VNET_ROUTE_ALL有值 1我为任何对完整示例感兴趣的人写了一篇关于它的博客: https://erwinstaal.nl/posts/securing-your-azure-db-connection-using-azure-private-link/

最佳答案

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

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

如果你还想使用私有(private)端点,恐怕你需要使用你的 own DNS server 用于使用虚拟网络集成从 Azure 应用服务(Web 应用、函数或机器人)到角色实例或同一虚拟网络中的 VM 的名称解析。见 Name resolution for resources in Azure virtual networks .

使用专用链接,将 Blob 存储 DNS 名称解析为公共(public) IP 地址,而不是来自应用服务控制台的专用终结点 IP 地址。当您从应用服务访问时,您似乎正在通过公共(public)终结点访问 VNet 外部的 Blob 存储。同时,它可以从与私有(private)端点在同一子网中的 VM 解析为私有(private)端点 IP。见 DNS changes for private endpoints .

enter image description here

关于azure-sql-database - Azure Web App VNet 与具有专用链接的存储帐户集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60936560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com