我有一个在Azure中运行的容器(Linux .NET Core)。此应用程序从Azure Service Bus读取并将信息写入内部部署的数据库中。
与ASB的连接工作正常,但是当应用程序尝试连接至SQL Server时,出现超时。最初,我在没有网络设置的情况下运行容器(“无”选项)。然后我去公开了,现在它给了我一个IP地址。
我的基础架构团队将该IP添加到了我们的防火墙,但是Azure试图使用其他IP地址访问它,或者连接永远不会离开Docker环境。
ps .:我正在运行一个应用程序服务(.NET Core API),它确实正确连接到同一SQL Server(相同的IP地址)。
建议?
答案 0 :(得分:2)
由于从Azure容器组传出的IP地址是来自Azure cloud IP list的随机地址,因此您不能直接将其IP添加到防火墙。您可以对此feature request投赞成票,以使用相同的公开公共IP来处理从容器组开始的出站流量。
当前,您可以deploy container instances into an Azure virtual network,然后容器可以通过VPN gateway或ExpressRoute与本地资源进行通信。有关更多详细信息,请参见enable containers to use Azure Virtual Network capabilities。