- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Azure Web App 和一个 Azure SQL Server,它们都位于同一订阅中。它们都连接到同一 VNet 子网,如下面的快照所示。 SQL Server 配置为不允许 Azure 资源和服务访问服务器,因为它应该只允许来自连接的子网或一组 IP 规则的访问。
不幸的是,SQL Server 主动拒绝来自 Web 应用程序的任何连接,指出不允许 Web 应用程序 IP 访问服务器。
有趣的是,我在另一个订阅上有完全相同的配置。
我可能会错过什么?
快照:
1- 在这里您可以看到连接到“webapps”子网的 Web 应用程序
2-在这里您可以看到连接到同一子网的 SQL Server
3- 这就是我得到的错误
最佳答案
配置正确,但可能需要重新启动应用服务。
使用虚拟网络将 Web 应用程序连接到 SQL 数据库的配置正确:如果 Web 应用程序连接到数据库 ACL 中允许的同一子网/vnet,和在子网上启用了 Microsoft.Sql 服务终结点,Web 应用程序能够与数据库进行通信。这就是服务端点的全部原因:您不需要在数据库上配置 IP 限额。
至于为什么配置仍然出错,可能是资源配置顺序的问题。我们遇到了完全相同的设置和问题(这就是让我提出这个问题的原因)!
我们将 Web 应用程序连接到子网/vnet,但尚未在子网上启用服务终结点。然后,我们在数据库中添加/允许子网/vnet 作为 ACL,在此期间系统提示我们启用 Microsoft.Sql
服务端点(我们确实这样做了)。然而,即使等待了大约 20 分钟,我们仍然看到相同的连接问题。
但是,一旦我们重新启动应用服务,问题就消失了,并且 Web 应用可以连接到 SQL 数据库。
我怀疑该问题是由于在应用服务连接到子网后启用子网的服务端点而导致的。应用服务必须需要重新启动才能刷新应用服务的 vnet 配置/路由。
与其他答案相反,您不需要配置防火墙 IP 限额,也不需要启用对 Azure 服务和资源的访问。事实上,这两种方法都有缺点:
This option configures the firewall to allow all connections from Azure, including connections from the subscriptions of other customers.
Azure App Service is a multi-tenant service, except for App Service Environments. Apps that are not in an App Service environment (not in the Isolated tier) share network infrastructure with other apps. As a result, the inbound and outbound IP addresses of an app can be different, and can even change in certain situations.
第二点在this Github issue中有进一步阐述。 :
IPs are indeed shared with other App Service plans (including other customer's plans) that are deployed into the same shared webspace. The network resources are shared among the plans in a workspace even if the computing instances are dedicated (e.g. in Standard tier). This is inherent to the App Service multi-tenant model. The only way to have a dedicated webspace (i.e. outbound IPs) is to deploy an App Service plan into an App Service Environment (ASE) (i.e. Isolated tier). ASE is the only thing that offers true single-tenency in App Service.
因此,如果您只想隔离与 Web 应用程序的通信,则以上选项都不会真正强化您的 SQL 数据库。如果您的资源位于同一子网中,那么使用 vnet 集成是解决问题的正确方法。
如果资源不能位于同一子网中,解决方案是使用 Private Endpoints .
关于azure - Azure Web App 和 Azure SQL Server 的 VNet 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62276437/
我正在尝试创建一个 Azure 策略,如果新 VNet 的 CIDR 与管理组级别的任何现有 VNet 资源匹配,该策略将拒绝创建新 VNet。这是为了确保我们没有任何重叠的 IP 地址,否则可能会导
我正在尝试将 Azure Web 应用程序连接到 IAAS VM,它们都位于不同的 VNet 中。有人可以帮助我了解 Azure Vnet Perring 和 Vnet Integration 之间的
我在Azure上部署了两种服务,它们需要相互通信。到目前为止有两个选择:1.将它们放在同一个Vnet中2. 将它们放在单独的 Vnet 中,并在它们之间创建 Vnet 到 Vnet 连接。 我的问题是
我在Azure上部署了两种服务,它们需要相互通信。到目前为止有两个选择:1.将它们放在同一个Vnet中2. 将它们放在单独的 Vnet 中,并在它们之间创建 Vnet 到 Vnet 连接。 我的问题是
我们管理了 AKS 集群,它有一些应用程序 PODS。在同一个订阅中,我们在不同的资源组和不同的 VNET 中拥有一些服务器。我们需要在这两个 VNET 之间进行通信。我已在两个 VNET 之间配置了
我有一个旧版本的 appservice Plan,它连接到 VNET/Subnet 。当我想将其升级到 VNET 集成时,应用程序服务计划被完全删除。但是,当我尝试使用相同的 VNET/子网重新部署应
我在同一 Azure AD 租户中有两个订阅,并且在这两个订阅中,VM 都在运行。以下是高级详细信息: 两个订阅各有一个资源组 两个资源组都位于同一区域 Vnet IP 未重叠 所以我的问题是是否将所
我有一个旧版本的 appservice Plan,它连接到 VNET/Subnet 。当我想将其升级到 VNET 集成时,应用程序服务计划被完全删除。但是,当我尝试使用相同的 VNET/子网重新部署应
我在同一 Azure AD 租户中有两个订阅,并且在这两个订阅中,VM 都在运行。以下是高级详细信息: 两个订阅各有一个资源组 两个资源组都位于同一区域 Vnet IP 未重叠 所以我的问题是是否将所
我是 azure vnet 对等互连的初学者,所以如果这是一个如此明显的问题,请原谅我。我想要将一个虚拟网络与多个虚拟网络对等。然而,所有这些虚拟网络都使用相同的地址空间。让我用例子来解释更多。假设
我正在尝试设置这种集线器辐条拓扑,其中我有一个连接到 ExpressRoute 电路的集线器 VNet https://learn.microsoft.com/en-us/azure/architec
我正在尝试设置这种集线器辐条拓扑,其中我有一个连接到 ExpressRoute 电路的集线器 VNet https://learn.microsoft.com/en-us/azure/architec
如何使用 terraform 动态创建两个 VNET 以及每个 VNET 中的一些子网? 目前,我正在创建四个单独的资源 2,每个资源用于 VNET 和子网。 我想在 tf 代码中仅使用一个用于 VN
如何使用 terraform 动态创建两个 VNET 以及每个 VNET 中的一些子网? 目前,我正在创建四个单独的资源 2,每个资源用于 VNET 和子网。 我想在 tf 代码中仅使用一个用于 VN
我正在尝试找出如何回答我最近考试时遇到的问题。要求如下: 您计划跨 3 个虚拟网络(vnetA、vnetB 和 vnetC)创建 100 个虚拟机 所有流量必须通过 vnetA 路由 所有虚拟机必须能
在 Azure 中我可以创建 一个 VNET 和其中的 2 个子网,或者 我可以创建两个 VNET,每个 VNET 中都有一个子网。 实际后果/差异是什么?例如,在路由、隔离方面……? 最佳答案 嗯,
我正在为 ARM 模板创建 JSON 文件以部署 Azure VM 及其依赖资源。 我已经使用以下资源创建了 RHEL VM(全部都是新创建的):- Storage Account Diagnosti
我遇到了这样的情况:我想为其他 Vnet(定义了私有(private) IP 范围)打开我的 Vnet(比如 Vnet1),我正在考虑使用 NSG 规则并允许其他 Vnet 的私有(private)
我遇到了这样的情况:我想为其他 Vnet(定义了私有(private) IP 范围)打开我的 Vnet(比如 Vnet1),我正在考虑使用 NSG 规则并允许其他 Vnet 的私有(private)
我有以下设置: |--------------------- Internet -------------------------| WebApp Azure SQL Db WebAp
我是一名优秀的程序员,十分优秀!