我创建了一个具有私有IP的Azure容器实例。它已连接到VNET,因此我的Web应用程序可以安全方式与其通信。 (此API也具有Bearer令牌,但我不想将其公开)。
但是,重新启动容器时,我得到了一个新IP。因此,我必须更新Env并重新启动我的应用程序。
是否有一种方法可以在Azure内实现服务发现,因此我的Web应用程序(和其他服务)知道此容器实例在哪里,尤其是在容器获得新IP时。
我习惯于处理Pivotal和Consul,但是在Azure下我没有这些工具。 在Pivotal中,我能够启动多个实例,并且平台将自动发现并实现负载平衡。此刻,Azure感觉很手动:(
答案 0 :(得分:1)
对于这种工作,也许最好的解决方案是创建Azure服务Web应用程序。该Web应用程序作为您的计划的公共静态IP链接,不会更改。 Inbound and outbound IP addresses in Azure App Service
使用此解决方案,您的IP永远不会改变。 根据链接的文档,您可以找到您的入站IP,如下所示:
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses
和Powershell中的出站IP:
realpath