微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从公共Azure功能到Azure PostgreSQL的安全连接

如何解决从公共Azure功能到Azure PostgreSQL的安全连接

上下文

  • 可从Internet访问的Azure功能(请考虑公共API)。
  • Function应用程序托管在Elastic Premium计划中。
  • Azure管理的Postgresql实例(GP计划)。

目标

仅允许Function应用程序从Internet访问,同时使Function应用程序可以访问Postgresql实例。

我尝试过的事情

  1. 创建一个VNet和一个启用了服务端点的子网。
  2. 向Postgresql实例添加VNet规则,以仅保护从该子网的访问。
  3. 将Function应用程序与VNet集成。

这应该足以限制对数据库的访问,但是它的副作用是无法从Internet上访问Function App。我相信AppInsights也无法到达功能应用程序(在监视器中获取Unable to open a connection to your app. This may be due to any network security groups or IP restriction rules that you have placed on your app.)。

在AWS世界中,我将Lambda和数据库实例放在专用子网中,并添加一个NAT网关来访问Lambda。经过大量研究,我不知道如何使用Azure来实现这一目标。

如果还有其他方法,请告诉我!

解决方法

默认情况下,Azure功能应用程序的Integrated VNet不能限制公共访问。对于AppInsights无法访问Function App的错误消息,您可以在与集成子网关联的NSG的入站规则中添加Azure monitor服务标签。

,

感谢Microsoft支持的帮助,此问题已解决。看来问题出在Function App与互联网之间的链接上。正如Nancy在她的answer中正确提到的那样,将Function App集成到VNet中并不会限制对FA的公共访问。

就我而言,问题是Function App及其存储帐户之间缺少链接-因此FA无法从存储中加载功能和配置。在子网上启用Microsoft.Storage服务端点可以解决此问题。 official tutorial没有提到这很奇怪。

使用Azure Portal,可以通过VNet页面->子网->子网->服务端点->启用Microsoft.Storage添加服务端点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?