在 Azure 中使用 IP 设置应用程序的最佳方式

Best way to setup application with IP in Azure

我已经通过 App Service 部署了我的应用程序 Azure 现在一切正常,直到我被要求使用现有的 DNS 来支持它。现在创建 DNS 的说明非常简单并且可以轻松完成,但我的老板不想搞乱 DNS 设置,例如在 DNS 中添加验证 ID。所以他让我让它像 AWS 那样,我们有一个 EC2 实例,它有一个 public ip。现在我们如何在 Azure 中实现这样的事情?我假设 App Service 就像一个运行我网站的独立应用程序。但是有没有办法让它像AWS的EC2 Instance一样呢?我们在哪里拥有自己的机器,我们可以通过 SSH 连接到它?并检索它的 IP,以便我们可以将该 IP 添加到我们的反向代理。我们之所以需要IP,就是因为这个Reverse Proxy。如果我们决定使用不同的服务器,我们将使用它从一台服务器切换到另一台服务器,我们只需获取新服务器的 IP 并将其添加到我们的选择中,这样我们就可以在不停机的情况下切换到它。

总结一下,我们如何应用AWS的EC2实例并拥有自己的IP地址?我需要在 Azure 门户中添加什么?

使用应用服务无法获得不共享的专用 IP,因为这是与其他应用服务共享的 PaaS 服务。在 Azure 中实现此目的的唯一方法是创建具有 Public IP(最好是静态 IP)的虚拟机。作为@CSharpRocks,您需要迁移到 IaaS 而不是 PaaS。

您无法将应用服务附加到 VM。应用服务基本上是 运行 站点的引擎。例如IIS 或 Apache 或类似但没有 OS。因此,您要么使用作为 PaaS 的 App Service 并设置自定义域,要么部署 VM(即 IaaS)并安装您需要的任何引擎 运行 您在 VM 上的网站。

请注意,当您在应用服务上使用证书进行 TLS 绑定时,您会获得一个静态 IP,但该 IP 仍与其他客户端共享。

关于虚拟机的文档:

https://docs.microsoft.com/en-us/azure/virtual-machines/

关于应用服务的文档:

https://docs.microsoft.com/en-us/azure/app-service/

有关应用服务的文档Inbound/Outbound IP

https://docs.microsoft.com/en-us/azure/app-service/overview-inbound-outbound-ips#get-a-static-inbound-ip

关于使用 TLS 保护自定义 DNS 的文档:

https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-bindings#secure-a-custom-domain