Azure 容器实例 IP

标签 azure service-discovery

我创建了一个具有私有(private) IP 的 Azure 容器实例。它已连接到 VNET,因此我的 Web 应用程序可以以安全的方式与其进行通信。 (这个 API 也有不记名 token ,但我不想公开)。

但是,当重新启动容器时,我得到了一个新的 IP。因此我必须更新环境并重新启动我的应用程序。

有没有办法在 Azure 中实现服务发现,以便我的 Web 应用程序(和其他服务)知道此容器实例在哪里,特别是当容器获得新 IP 时。

我习惯于与 Pivotal 和 Consul 打交道,但在 Azure 下我没有这些工具。 在 Pivotal 中,我能够启动多个实例,平台会自动发现和负载平衡。目前,Azure 感觉非常手动:(

  • Azure 是否能够在主机名下注册服务,然后自动解析?
  • 当多个实例以相同名称启动时,Azure 是否支持负载平衡?

最佳答案

对于此类工作,最好的解决方案可能是创建一个 Azure 服务 Web 应用程序。 Web 应用程序作为公共(public)静态 IP 链接到您的计划,该计划不会改变。 Inbound and outbound IP addresses in Azure App Service

使用此解决方案,您的 IP 永远不会改变。 根据链接的文档,您可以像这样找到您的入站IP:

nslookup <app-name>.azurewebsites.net

以及powershell中的出站IP:

(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

关于Azure 容器实例 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63454779/

相关文章:

azure - 使用 Azure AD 登录 Google 与 Azure AD B2c

azure - 如何从 MS Graph API 获取用户的基本详细信息

java - 网络发现 Hyperledger 结构

web-services - OWL API - 在 Web 服务发现的上下文中进行 OWL 类包含测试

c# - 将 B2B 外部用户添加到 Azure AD,而不发送邀请电子邮件 C#

azure - 如何使用 Terraform 输出 Azure 应用服务的 URL?

azure - 是否有一种方法允许仅从特定的公共(public) IP 地址集到 Azure VNet 的点到站点 VPN 连接?

java - 如何在 Java 中使用自定义端口指向特定 DNS

微服务。服务注册和服务发现有什么区别

java - 简单的 Java 服务发现框架