为什么来自相同资源组的应用程序服务之间有很多连接?

问题描述

我们在Azure中拥有三个App Services(API1,API2,API3)。 API2正在从CosmosDB获取数据。 API3正在从其他CosmosDB获取数据。 主API1调用API2以获取一些数据。然后使用此数据调用API3。 我们的API1性能不佳,我们试图找出原因。我们注意到指标中的连接过多。另外,SNAT端口也有问题。

我们试图将这些API设置为相同的VNet,但这无济于事,我们不确定如何正确设置它。

您知道我们应该设置什么吗?

更新:

似乎VNet帮助我们解决了SNAT端口问题,但API的性能仍然很差。

真正帮助我们的是从Windows变为Linux。当所有API在Linux服务器上运行时,我们再也看不到任何连接。

解决方法

不确定您身边三个API的具体配置是什么。如果要使用来自Vnet的IP而不是外部IP,则可以使用单独的环境ASE

或者,您可以使用指向应用程序服务的私有链接。通过使用专用端点,您可以专用连接到您的Web应用程序。阅读Connect privately to a web app by using Azure Private Endpoint (Preview)

今天,您可以使用VNet service endpoints保护此连接的安全 将流量保持在Microsoft主干网中并允许 将PaaS资源锁定到您的VNet。然而 PaaS端点仍通过公共IP地址提供服务,因此 无法通过Azure ExpressRoute private从本地访问 对等或VPN网关。今天发布了Azure Private 链接,您只需在VNet中创建一个私有终结点并进行映射 到您的PaaS资源(您的Azure存储帐户Blob或SQL数据库 服务器)。然后可以通过私有IP地址访问这些资源 在您的VNet中,启用从本地到Azure的连接 ExpressRoute专用对等和/或VPN网关并保持网络 通过不向公共IP地址开放即可轻松进行配置。

有关更多信息,您可以阅读here